Nanocode: Un asistente de IA en Python pequeño y sin dependencias

Nanocode – El asistente de IA en Python pequeño y sin dependencias

En un mundo donde las herramientas de IA suelen venir empaquetadas en paquetes voluminosos o requieren configuraciones complejas, Nanocode destaca como una contraparte elegante y minimalista. Es un script de Python de un único archivo (≈250 líneas) que recrea un bucle de agente al estilo Claude Code, ofrece unas cuantas potentes utilidades de archivos y shell y funciona sin dependencias externas más allá del entorno de ejecución típico de Python.

¿Por qué Nanocode? – El problema que resuelve

  • Velocidad de iteración: Añade una nueva herramienta o ajusta el comportamiento en milisegundos sin reinstalar una librería.
  • Portabilidad: Arrastra el archivo a cualquier lugar, ejecútalo en cualquier máquina que tenga Python 3.8+.
  • Transparencia: A diferencia de las soluciones en caja negra, todo el código es visible, lo que lo hace ideal para aprender o depurar.
  • Sin librerías externas: No necesitas pip install paquetes pesados, lo que lo hace ideal para entornos CI o dispositivos con poca memoria.

Características principales en un vistazo

Característica Descripción
Bucle agente Ciclo continuo de preguntas-respuestas con capacidades de invocación de herramientas
Herramientas integradas read, write, edit, glob, grep y bash – todas las acciones nativas que tu agente puede invocar
Salida coloreada Visualización enriquecida en terminal de peticiones, respuestas y resultados de herramientas
Flexibilidad de modelos Funciona con Claude de Anthropic fuera de la caja; cambia a cualquier modelo OpenRouter simplemente mediante variables de entorno
Atajos de comando /c para borrar historial, /q o exit para salir

Inicio rápido

# Clonar el repositorio o descargar el único archivo `nanocode.py`
git clone https://github.com/1rgs/nanocode.git
cd nanocode

# Configura tu clave API de Anthropic
export ANTHROPIC_API_KEY="your-key"

# O, configura una clave OpenRouter para una lista más amplia de modelos
export OPENROUTER_API_KEY="your-key"

# Opcional – elige un modelo específico (el predeterminado es Claude 3.5 Sonnet)
export MODEL="openai/gpt-5.2"

# Ejecútalo
python nanocode.py

Una vez dentro del REPL, puedes comenzar a pedirle al IA que lea archivos, los edite o incluso ejecute comandos del shell. Por ejemplo:

¿qué archivos hay aquí?

───────────────────────────────── ❯ glob(*/.py)

La herramienta responde, llama a la función glob y el script imprime los nombres de archivos coincidentes, ilustrando cómo el agente invoca utilidades directamente.

Ampliar Nanocode

Agregar una nueva herramienta personalizada es sencillo:

  1. Define una función que realice la acción deseada. Por ejemplo, una herramienta de compresión.
  2. Regístrala en el diccionario tool_registry.
  3. El agente ahora podrá llamar a compress por su nombre.
# Ejemplo: Una herramienta de compresión simple
from zipfile import ZipFile

def compress(src, dst):
    with ZipFile(dst, 'w') as z:
        for root, _, files in os.walk(src):
            for f in files:
                z.write(os.path.join(root, f), arcname=f)

# Registrarla
tool_registry['compress'] = compress

Después de eso, puedes pedirle al agente:

crear una carpeta zip de src

y ejecutará automáticamente tu herramienta compress.

Comunidad y contribuciones

El proyecto mantiene una base de código muy simple, lo que lo convierte en un excelente patio de juegos para los colaboradores. Siéntete libre de: - Abrir un issue para reportar un bug o solicitar una característica. - Hacer un fork y enviar un pull request con una herramienta nueva o una mejora de rendimiento. - Agregar documentación o actualizar el README con tus propios ejemplos.

Con más de 1.5k estrellas y creciente interés en utilidades de IA minimalistas, Nanocode es una base sólida para la próxima ola de asistentes de IA livianos.

Consideraciones finales

Nanocode demuestra que la interacción poderosa con IA no requiere marcos monolíticos. Ya sea que estés prototipando una tubería de datos personalizada, experimentando con un asistente de IA embebido o simplemente quieras ver cómo funcionan los bucles al estilo Claude, este pequeño script corta el ruido. Tómalo, ejecútalo y deja que tu imaginación —y tu terminal— hagan el resto.

Artículo original: Ver original

Compartir este artículo