Skip to content

Latest commit

 

History

History
625 lines (437 loc) · 35.8 KB

File metadata and controls

625 lines (437 loc) · 35.8 KB

Fluxion AI, patrocinador Silver: una API unificada para GPT, Claude y otros modelos de IA líderes. Ahorra hasta un 70 % frente a los precios oficiales de la API y consigue $3 en créditos API.

AgentiLoopGo

🌐 English · Español · Français · Deutsch · 中文 (简体) · Русский · 한국어 · 日本語

🎉 ¡Hemos publicado la versión v0.0.5 para Mac, Windows y Linux!


¡Pruébalo! Lee el README y mira cuánto tardas en tener AgentiLoop funcionando. Si te encuentras con algún problema, avísanos. Nos encantaría conocer tu opinión.

Extra: También hay una versión en Rust: AgentiLoopCLI → https://github.com/AgentiLoop/AgentiLoopCLI

Prueba las dos y dinos cuál lo hace mejor: ¿Go o Rust? 🐹 vs 🦀


💖 Patrocina AgentiLoop

¿Te gusta lo que ves? Ayúdanos a que AgentiLoop siga siendo rápido y multiplataforma. Patrocínanos en GitHub Sponsors → AgentiLoop. Los niveles y las ventajas están en la guía de patrocinio.

Patrocina AgentiLoop


AgentiLoop es un agente de programación con IA que se ejecuta en tu terminal, al estilo de Claude Code. Describes lo que quieres con tus propias palabras. El agente lee tus archivos, edita el código y ejecuta comandos para conseguirlo, y te pide permiso antes de cambiar nada.

Está escrito en Go y funciona en macOS, Linux y Windows. Es el gemelo en Go de AgentiLoopCLI (Rust): mismas funciones, mismas opciones, mismos archivos de configuración, de sesión y de MCP, así que puedes cambiar entre ellos libremente. Funciona con Claude (Anthropic), OpenAI, modelos locales a través de Ollama o LM Studio, y oMLX en Apple Silicon.

¡Creado con AgentiLoop Agent! Es nuestro bebé. Tienes binarios precompilados para macOS, Linux y Windows en la página de Releases, o puedes compilarlo desde el código fuente con Go.

AgentiLoop escribe, compila y lanza un juego de Pong al estilo Atari en SwiftUI a partir de un solo mensaje, con el diff en vivo y la ventana del juego en marcha


🚀 ¿Nuevo aquí? En marcha en 5 minutos

Sin Rust, sin Go, sin compilar. Descargas un archivo, le das una clave de API y empiezas a chatear. Sigue los pasos en orden.

1. Descarga AgentiLoop

Primero averigua qué archivo necesitas:

Tu ordenador Archivo que descargar
Mac con Apple Silicon (M1, M2, M3, M4…) agentiloop-macos-arm64.tar.gz
Mac con chip Intel agentiloop-macos-x86_64.tar.gz
Linux, PC de 64 bits agentiloop-linux-x86_64.tar.gz
Linux en ARM (Raspberry Pi 4/5, servidores ARM) agentiloop-linux-arm64.tar.gz
Windows 10/11 agentiloop-windows-x86_64.zip

¿No estás seguro? En Mac o Linux, ejecuta uname -m. arm64 o aarch64 significa arm64, y x86_64 significa x86_64.

macOS y Linux. Abre Terminal y pega estas líneas. Este ejemplo usa el archivo de Apple Silicon, así que cambia macos-arm64 en las tres primeras líneas si el tuyo es distinto:

curl -LO https://github.com/AgentiLoop/AgentiLoopGo/releases/download/v0.0.5/agentiloop-macos-arm64.tar.gz
tar xzf agentiloop-macos-arm64.tar.gz
mkdir -p ~/.local/bin && mv agentiloop-macos-arm64/agentiloop ~/.local/bin/

Eso coloca el programa en ~/.local/bin, una carpeta dentro de tu directorio personal. En el paso 3 le dirás a tu terminal que busque ahí.

Windows. Abre PowerShell (menú Inicio → escribe "PowerShell") y pega:

Invoke-WebRequest https://github.com/AgentiLoop/AgentiLoopGo/releases/download/v0.0.5/agentiloop-windows-x86_64.zip -OutFile agentiloop.zip
Expand-Archive agentiloop.zip -DestinationPath $HOME\agentiloop -Force
$p = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$p;$HOME\agentiloop\agentiloop-windows-x86_64", "User")

Las dos últimas líneas añaden AgentiLoop a tu PATH. Cierra PowerShell y abre una ventana nueva para que se aplique el cambio.

2. Consigue una clave de API

AgentiLoop es el agente. El "cerebro" es un modelo de IA al que lo conectas. Elige uno:

Opción Dónde conseguirla Coste
Claude (recomendado) console.anthropic.com → Create Key. Empieza por sk-ant- Pago por uso
OpenAI platform.openai.com/api-keys. Empieza por sk- Pago por uso
Ollama (se ejecuta en tu propio ordenador) Instálalo desde ollama.com y luego ejecuta ollama pull qwen2.5-coder Gratis, sin clave

Guarda la clave en un lugar seguro. La pegarás en el siguiente paso.

3. Guarda tu configuración en el perfil de tu shell

Tu perfil de shell es un pequeño archivo de texto que tu terminal lee cada vez que abre una ventana nueva. Pon ahí tu configuración y solo tendrás que hacerlo una vez. Si te lo saltas, tendrás que escribir tu clave de nuevo en cada terminal nueva. Es el motivo n.º 1 por el que la gente se queda atascada.

¿Qué archivo es?

Sistema Shell (por defecto) Archivo de perfil
macOS (Catalina 10.15 y posteriores) zsh ~/.zshrc
La mayoría de distros Linux bash ~/.bashrc
Linux o Mac con zsh zsh ~/.zshrc
Shell fish fish ~/.config/fish/config.fish
Windows PowerShell no hace falta, mira más abajo

¿No sabes qué shell usas? Ejecuta echo $SHELL. ~ significa tu carpeta personal, así que ~/.zshrc es, por ejemplo, /Users/you/.zshrc. Los archivos que empiezan por un punto están ocultos en Finder y en los exploradores de archivos, y eso es normal.

Abre el archivo. Usa uno de estos comandos (crean el archivo si todavía no existe):

nano ~/.zshrc                        # funciona en todas partes, directamente en la terminal
touch ~/.zshrc && open -e ~/.zshrc   # macOS: lo abre en TextEdit

(Linux con bash: usa ~/.bashrc en lugar de ~/.zshrc.)

Añade estas líneas al final. Deja solo la línea de la clave que necesites y pega tu clave real entre las comillas:

# AgentiLoop
export PATH="$HOME/.local/bin:$PATH"

export ANTHROPIC_API_KEY="sk-ant-paste-your-key-here"          # Claude
# export OPENAI_API_KEY="sk-paste-your-key-here"               # OpenAI
# export OPENAI_BASE_URL="http://localhost:11434/v1"           # Ollama (no hace falta clave)

Guarda y cierra. En nano: Ctrl-O, Enter y luego Ctrl-X. En TextEdit: ⌘S y luego cierra la ventana.

Cárgalo. Abre una ventana nueva de terminal o ejecuta:

source ~/.zshrc

fish usa una sintaxis distinta. Pon esto en ~/.config/fish/config.fish:

fish_add_path $HOME/.local/bin
set -gx ANTHROPIC_API_KEY "sk-ant-paste-your-key-here"

Windows (PowerShell). Windows no tiene un archivo de perfil que editar para esto. En su lugar, guarda la clave como variable de entorno de usuario (es lo que hace también el asistente de configuración si eliges la opción 2):

setx ANTHROPIC_API_KEY "sk-ant-paste-your-key-here"
# o bien: setx OPENAI_API_KEY "sk-..."   /   setx OPENAI_BASE_URL "http://localhost:11434/v1"

Después cierra PowerShell y abre una ventana nueva. setx no afecta a la ventana en la que se ejecuta. También puedes hacerlo con el ratón: Inicio → Edit environment variables for your account → New….

🔒 Mantén tu clave en privado. No subas tu archivo de perfil a git ni pegues la clave en chats. En un Mac puedes guardarla en el Llavero; consulta el Paso 2 del Inicio rápido.

4. Comprueba que funciona

agentiloop --version

Deberías ver agentiloop 0.0.5. Ahora comprueba que la clave está cargada:

echo $ANTHROPIC_API_KEY | cut -c1-10    # macOS / Linux: debería mostrar sk-ant-...
$env:ANTHROPIC_API_KEY.Substring(0,10)  # Windows PowerShell

Si no muestra nada, vuelve al paso 3. La clave todavía no está cargada.

5. Tu primera sesión

Ve a una carpeta de proyecto y abre la interfaz a pantalla completa:

Empieza con una carpeta de prueba nueva y vacía para probarlo sin riesgos. Para un proyecto real, entra con cd en la carpeta de ese proyecto (por ejemplo cd ~/code/my-app).

mkdir -p ~/agentiloop-test
cd ~/agentiloop-test
agentiloop --tui

¿Usas Ollama? Indícale el proveedor y un modelo que hayas descargado: agentiloop -p openai -m qwen2.5-coder --tui.

Ahora simplemente escribe lo que quieres con tus propias palabras y pulsa Enter. Algunas buenas primeras peticiones:

explica qué hace este proyecto
lista los archivos de src y dime cuál es el punto de entrada
busca los comentarios TODO y resúmelos
añade una opción --verbose al analizador de la línea de comandos
ejecuta los tests y arregla lo que falle
crea un README.md para este proyecto

Antes de que el agente cambie un archivo o ejecute un comando, te pregunta. Pulsa y para sí, n para no, a para permitir siempre esa herramienta durante la sesión, o Esc para saltarte el paso. Pulsa Ctrl-C para salir. La próxima vez, un simple agentiloop arranca igual y retoma tu última conversación.

¿Solo quieres una respuesta sin chat? Pasa la pregunta como argumento:

agentiloop "explain what this project does"

¿Qué puede hacer? (herramientas)

El agente trabaja con nueve herramientas integradas. No las llamas tú. Describes el objetivo y el agente elige la herramienta:

Herramienta Qué hace ¿Pregunta antes?
read_file Lee un archivo (con números de línea) No
list_dir Lista los archivos de una carpeta No
glob Busca archivos por patrón de nombre (*.rs, src/**/*.go) No
grep Busca dentro de los archivos con una expresión regular No
web_fetch Descarga una página web o respuesta de API como texto plano Sí
todo_write Mantiene la lista de tareas del propio modelo para trabajos de varios pasos No
write_file Crea un archivo nuevo o sobrescribe uno Sí
edit_file Cambia un fragmento exacto de texto en un archivo Sí
bash Ejecuta un comando de shell, como tests, compilaciones o git (sh -c en Mac/Linux, cmd /C en Windows) Sí

¿Quieres más herramientas, como búsqueda web, bases de datos o GitHub? Añade servidores MCP; consulta Añadir herramientas con MCP.

El comando de ayuda

agentiloop --help muestra todas las opciones:

$ agentiloop --help
AgentiLoop — a cross-platform agentic coding loop for your terminal.

Usage: agentiloop [OPTIONS] [PROMPT]...

Arguments:
  [PROMPT]...  One-shot prompt. If omitted, starts an interactive REPL. A lone `-` in it is replaced by
               what is piped on stdin: git diff | agentiloop "review this" -

Options:
  -p, --provider PROVIDER           Model backend (PROVIDER): anthropic, openai (OpenAI-compatible: OpenAI, Ollama,
                                    LM Studio, Groq, OpenRouter, … via OPENAI_BASE_URL), omlx (local
                                    oMLX server, http://localhost:8000/v1), or codex (ChatGPT plan via
                                    `codex login`). Defaults to the last one used, then auto-detected from
                                    which credentials are set. [env: AGENTILOOP_PROVIDER]
  -m, --model MODEL                 MODEL id to use. Defaults to the last model used with this provider
                                    (~/.agentiloop/settings.json), then the provider's default. [env: AGENTILOOP_MODEL]
      --yes                         Skip all permission prompts (dangerous; intended for CI). Never remembered. [env: AGENTILOOP_YES]
      --max-turns N                 Max provider round-trips (N) per prompt [default: last used, then 50]
      --compact-at TOKENS           Summarize the conversation once a request reaches this many input TOKENS (0 = never)
                                    [default: last used, then 80% of the model's context window] [env: AGENTILOOP_COMPACT_AT]
  -C, --cwd DIR                     Working directory (DIR) the agent operates in (defaults to cwd)
  -r, --resume ID                   Resume a saved session by ID (see /sessions)
  -c, --continue                    Resume the most recent session for this working directory
                                    (the default for interactive launches; kept for scripts)
      --new                         Start a new session instead of continuing the last one in this directory
      --tui                         Full-screen terminal UI instead of the line REPL. Remembered. [env: AGENTILOOP_TUI]
      --no-tui                      Use the line REPL even if the TUI was used last time
      --no-mcp                      Don't start MCP servers from ~/.agentiloop/mcp.json / ./.mcp.json. [env: AGENTILOOP_NO_MCP]
      --setup                       Run the first-time setup wizard (provider, key, model). Runs by itself on a
                                    machine with no credentials and no ~/.agentiloop.
      --reset                       Back to brand new: delete ~/.agentiloop (settings, env, history, sessions,
                                    mcp.json), the agentiloop block in your shell profile and Keychain items the
                                    wizard created. Asks first unless --yes.
      --allow-tool NAME             Run this tool without asking (repeatable or comma-separated; NAME* matches a prefix, e.g. mcp_*)
      --deny-tool NAME              Never run this tool NAME; the model is told it was denied (same name rules). Beats --allow-tool and --yes
      --append-system-prompt TEXT   Extra TEXT added to the end of the system prompt for this run (never saved). [env: AGENTILOOP_APPEND_SYSTEM_PROMPT]
      --json                        One-shot only: print the answer as one JSON object on stdout (result, is_error, session_id,
                                    provider, model, usage) instead of streaming text. Tool activity still goes to stderr.
  -h, --help                        Print help
  -V, --version                     Print version

Dentro de una sesión, escribe /help para ver los comandos del chat (/model, /sessions, /resume, /clear, /compact, /mcp, /exit). La referencia completa está en Todas las opciones y Comandos dentro del chat.

¿Atascado? Soluciones rápidas

Ves Solución
command not found: agentiloop ~/.local/bin no está en tu PATH. Añade la línea export PATH=... del paso 3 y abre una terminal nueva. En Windows, abre una ventana nueva de PowerShell
Error: no provider credentials found No hay ninguna clave cargada. Repite el paso 3 y compruébalo con el paso 4
macOS: "agentiloop" cannot be opened / unidentified developer Esto pasa si lo descargaste con un navegador en lugar de con curl. Ejecuta xattr -d com.apple.quarantine ~/.local/bin/agentiloop
Windows: Windows protected your PC Haz clic en More info → Run anyway
401 / invalid x-api-key / error de autenticación La clave es incorrecta o tiene espacios o comillas. Cópiala de nuevo y revisa la línea en tu perfil
Ollama: modelo no encontrado Ejecuta ollama list y pasa el nombre exacto con -m
Sigue usando un modelo o proveedor antiguo Recuerda tus últimas elecciones. Pasa -p / -m para cambiarlas, o ejecuta agentiloop --reset para empezar de cero

¿Sigues atascado? Abre un issue y pega el comando y el error. Te ayudaremos.


Inicio rápido

Tres pasos: instálalo, dale un modelo y ejecútalo.

Paso 1: Instalar

Descarga: baja el archivo comprimido para tu plataforma desde Releases, descomprímelo y pon agentiloop (agentiloop.exe en Windows) en tu PATH.

O compílalo: si todavía no tienes Go (1.25 o posterior), instálalo desde go.dev/dl. Después:

go install github.com/AgentiLoop/AgentiLoopGo/cmd/agentiloop@latest

o desde un clon:

git clone https://github.com/AgentiLoop/AgentiLoopGo.git
cd AgentiLoopGo
go install ./cmd/agentiloop

Esto compila el programa y deja un comando agentiloop en tu PATH, en ~/go/bin (%USERPROFILE%\go\bin en Windows). No hace falta ningún compilador de C.

¿No quieres instalarlo? Todo lo de este README también funciona desde dentro de la carpeta del repositorio. Donde veas agentiloop <options>, escribe go run ./cmd/agentiloop <options> en su lugar.

Paso 2: Conecta un modelo

AgentiLoop necesita un modelo con el que hablar.

Lo más fácil: simplemente ejecuta agentiloop. En una máquina sin clave configurada arranca un asistente corto que te pregunta qué proveedor quieres, toma tu clave (escrita de forma oculta), comprueba la conexión, te deja elegir un modelo y guarda la clave en ~/.agentiloop/env (solo AgentiLoop lo lee). Puedes volver a ejecutarlo en cualquier momento con agentiloop --setup, y agentiloop --reset lo deja todo como nuevo.

El asistente de configuración dentro de la interfaz a pantalla completa (TUI): proveedor, clave de API oculta, comprobación de conexión, lista de modelos, dónde guardar la clave y el primer mensaje

agentiloop --setup          # asistente en el terminal normal
agentiloop --setup --tui    # asistente dentro de la TUI a pantalla completa (como en la captura)
/setup                      # volver a ejecutarlo dentro de una sesión (REPL o TUI)

El asistente funciona en la interfaz que uses. agentiloop --setup hace sus preguntas en el terminal normal; agentiloop --setup --tui (o una TUI recordada) las hace dentro de la interfaz a pantalla completa, como en la captura, y te deja directamente en el prompt al terminar. Dentro de una sesión, /setup hace lo mismo en ambas.

A mano: en su lugar, define una de estas variables en tu terminal:

Quiero usar… Haz esto
Claude (Anthropic) export ANTHROPIC_API_KEY=sk-ant-...
OpenAI export OPENAI_API_KEY=sk-...
Ollama, LM Studio o cualquier servidor compatible con OpenAI export OPENAI_BASE_URL=http://localhost:11434/v1 (usa la dirección de tu servidor; los servidores locales no necesitan clave)
oMLX (modelos locales en Apple Silicon) Normalmente nada. Inicia oMLX y luego ejecuta AgentiLoop con -p omlx (mira más abajo)

Para Claude puedes usar una clave de API normal (sk-ant-api…) o un token de Claude Code (sk-ant-oat01-…, que obtienes con claude setup-token). AgentiLoop detecta de qué tipo es.

Detalles de oMLX. Cuando oMLX se ejecuta en el mismo Mac, AgentiLoop lee el puerto del servidor y la clave de API del propio archivo de configuración de oMLX (~/.omlx/settings.json), así que no tienes que exportar nada. Si oMLX se ejecuta en otra máquina, o quieres sobrescribir esa configuración, expórtalos tú mismo:

export OMLX_BASE_URL=http://192.168.1.50:7777/v1   # la dirección del servidor oMLX (o OMLX_PORT=7777 para localhost)
export OMLX_API_KEY=...                            # la clave de API de la configuración de oMLX

Si oMLX tiene desactivada la verificación de la clave de API, no hace falta ninguna clave.

Un export solo dura en la pestaña de terminal donde lo escribiste. Para que sea permanente, añade la línea a tu perfil de shell (~/.zshrc en macOS). En un Mac puedes guardar la clave en el Llavero en lugar de en el archivo:

# una sola vez: guarda la clave en tu Llavero
security add-generic-password -a "$USER" -s ANTHROPIC_API_KEY -w "sk-ant-..."

# en ~/.zshrc: cárgala en cada terminal nueva
export ANTHROPIC_API_KEY="$(security find-generic-password -a "$USER" -s ANTHROPIC_API_KEY -w 2>/dev/null)"

Paso 3: Ejecútalo

Ve al proyecto en el que quieres trabajar y arranca AgentiLoop:

cd ~/my-project
agentiloop --tui

--tui abre la interfaz a pantalla completa, que es la que te recomendamos. Escribe lo que quieres, por ejemplo "busca dónde se carga el archivo de configuración y añade una opción --verbose", y pulsa Enter.

Verás las respuestas del agente, cada herramienta que usa (🔧) y cada resultado (✓ o ✖). El recuadro de abajo muestra lo que está haciendo en ese momento, por ejemplo ✻ Thinking... 12s. Antes de escribir un archivo o ejecutar un comando, te pregunta:

  • y: sí, esta vez
  • n: no
  • a: permitir siempre esta herramienta durante el resto de la sesión
  • Esc: saltar este paso, pero seguir adelante

Tres formas de usarlo

Modo Comando Ideal para
TUI (pantalla completa) agentiloop --tui El día a día: historial con desplazamiento, estado en vivo, enlaces en los que se puede hacer clic
Chat (línea a línea) agentiloop Terminales sencillas, o si prefieres texto plano
Una sola vez agentiloop "explain this project" Una pregunta: responde y termina. Práctico en scripts
Con pipe git diff | agentiloop "review this" - Envía texto por pipe y pon - en el prompt: se sustituye por lo enviado. Práctico para diffs y logs

Teclas en la TUI: Enter envía · ↑ / ↓ recorren las peticiones anteriores · PgUp / PgDn o la rueda del ratón desplazan · Ctrl-U borra la línea · Ctrl-C sale.


Recuerda tu configuración

Solo escribes tus opciones una vez. AgentiLoop guarda cómo lo lanzaste, así que la próxima vez un simple agentiloop arranca igual:

agentiloop -p anthropic --tui    # la primera vez: elige proveedor y TUI
agentiloop                       # a partir de ahora: mismo proveedor, mismo modelo, TUI y tu última conversación

Lo que recuerda:

  • Proveedor (-p) y TUI activada/desactivada (--tui / --no-tui)
  • Modelo: el último que usaste, por separado para cada proveedor. Al volver a un proveedor, vuelve también su modelo.
  • Límites: --max-turns y --compact-at
  • Tu conversación: retoma la última conversación de la carpeta actual, si esa conversación usaba el mismo proveedor. Los mensajes anteriores se vuelven a mostrar en pantalla, así que puedes desplazarte hacia atrás y ver dónde lo dejaste

Para cambiar algo, pasa la nueva opción. Se aplica al momento y se recuerda desde entonces:

agentiloop -p omlx        # cambia a oMLX (también vuelve su último modelo usado)
agentiloop -m <model>     # cambia de modelo
agentiloop --no-tui       # vuelve al chat línea a línea
agentiloop --new          # empieza una conversación nueva (la anterior sigue guardada)

Algunas cosas nunca se recuerdan, a propósito:

  • --yes: saltarse las peticiones de permiso tiene que ser una decisión deliberada cada vez
  • --no-mcp, -C y las peticiones de una sola vez
  • Las claves de API: esas se quedan en tu perfil de shell

Para olvidarlo todo, ejecuta agentiloop --reset.


Todas las opciones

Cada opción también se puede configurar con una variable de entorno, que aparece en la segunda columna. Una opción que escribes siempre tiene prioridad sobre un valor recordado.

Opción Variable de entorno Qué hace
-p, --provider <name> AGENTILOOP_PROVIDER anthropic, openai u omlx. Si no indicas ninguno, AgentiLoop usa el último, o lo detecta a partir de tus claves (primero Anthropic, luego OpenAI, luego oMLX)
-m, --model <id> AGENTILOOP_MODEL Qué modelo usar
--tui / --no-tui AGENTILOOP_TUI Interfaz a pantalla completa activada / desactivada
--new Empieza una conversación nueva en lugar de continuar
-c, --continue Continúa aquí la última conversación (ya es lo predeterminado)
-r, --resume <id> Vuelve a abrir una conversación concreta (encuentra los ids con /sessions)
-C, --cwd <folder> Trabaja en una carpeta distinta de la que estás
--yes AGENTILOOP_YES No pregunta antes de ejecutar herramientas. ⚠️ Solo para uso automatizado y de confianza
--allow-tool <name> Ejecuta esta herramienta sin preguntar; repite la opción o usa comas. mcp_* coincide con un prefijo. Útil en CI sin --yes
--deny-tool <name> Nunca ejecuta esta herramienta: se le dice al modelo que fue denegada. Tiene prioridad sobre --allow-tool y --yes
--no-mcp AGENTILOOP_NO_MCP No inicia servidores MCP (mira más abajo)
--append-system-prompt <text> AGENTILOOP_APPEND_SYSTEM_PROMPT Texto extra al final del prompt del sistema para esta ejecución (no se guarda)
--json Con un prompt de una sola vez: imprime la respuesta como un objeto JSON (result, is_error, session_id, provider, model, usage) en stdout. La actividad de herramientas queda en stderr
--setup Vuelve a ejecutar el asistente de primera configuración (proveedor, clave, modelo). Combínalo con --tui para ejecutarlo dentro de la interfaz a pantalla completa
--reset Como nuevo: borra ~/.agentiloop, el bloque de agentiloop en tu perfil de shell y los elementos del Llavero que creó el asistente (en Windows: las variables de entorno de usuario que definió). Las líneas export escritas a mano solo se comentan, y solo si dices que sí. Añade --yes para saltarte las preguntas
--max-turns <n> Máximo de pasos que puede dar el agente por petición (50 por defecto)
--compact-at <tokens> AGENTILOOP_COMPACT_AT Cuándo resumir una conversación larga (150000 por defecto, 0 = nunca)
-h / -V Ayuda / versión

Algunos ejemplos:

agentiloop -p openai -m gpt-4o-mini "summarize this repo"    # una pregunta con un modelo concreto
agentiloop -C ../other-repo --tui                            # trabaja en otro proyecto
agentiloop --yes "run the tests and fix any failures"        # sin supervisión, sin preguntas

¿Qué modelo se usa? Gana el primero que se cumpla:

  1. -m en la línea de comandos
  2. el modelo de la conversación que estás continuando
  3. el último modelo que usaste con este proveedor
  4. el predeterminado del proveedor: claude-sonnet-5 para Anthropic, gpt-4o-mini para OpenAI, o el primer modelo que ofrezca oMLX

Comandos dentro del chat

Escríbelos en el prompt, en la TUI o en el chat:

Comando Qué hace
/model Muestra los modelos disponibles. /model 3 o /model <id> cambia de modelo (y se recuerda)
/sessions Lista tus conversaciones guardadas, de la más reciente a la más antigua
/resume <n or id> Vuelve a abrir una de ellas
/clear Borra la conversación y empieza una nueva
/undo Revierte los cambios en archivos que hizo el agente para tu último mensaje (los cambios hechos con bash no se deshacen)
/todos Muestra la lista de tareas actual del modelo
/diff Muestra qué cambió en el árbol de trabajo de git (estado más diff, cortado a 200 líneas)
/commands Tus propios comandos: cada .agentiloop/commands/<name>.md (proyecto) o ~/.agentiloop/commands/<name>.md pasa a ser /<name> y envía el archivo como prompt ($ARGUMENTS se sustituye por lo que escribas después, $1–$9 por sus palabras). Los lista
/init Crea un AGENTS.md inicial para el proyecto actual (nunca sobrescribe)
/export [file] Guarda la conversación como archivo Markdown (/export notes.md, o un nombre por defecto en la carpeta del proyecto)
/compact Resume la conversación ahora para liberar espacio
/usage Muestra los tokens usados desde el inicio y cuánto contexto está ocupado
/mcp Muestra los servidores MCP conectados y sus herramientas
/help Lista estos comandos
/exit Salir

Conversaciones largas

Los modelos solo pueden leer una cantidad limitada de una vez. Cuando una conversación crece mucho (por defecto, cuando una petición llega a 150.000 tokens), AgentiLoop le pide al modelo que la resuma hasta ese punto y continúa a partir del resumen. Verás una nota 📦 cuando eso ocurra. /compact lo hace cuando quieras, y --compact-at 0 lo desactiva.


Instrucciones del proyecto

Pon un archivo AGENTS.md (o CLAUDE.md) en tu proyecto y AgentiLoop lo lee al arrancar y lo sigue: comandos de compilación, estilo de código, cosas que evitar. Lo busca en la carpeta actual y luego en las carpetas superiores, hasta la raíz del proyecto (la carpeta con .git). Un ~/.agentiloop/AGENTS.md personal se aplica a todos los proyectos; el archivo del proyecto va después y tiene prioridad. Los archivos se recortan a 32 KB. Una línea instructions: <ruta> muestra qué archivos se cargaron. Una línea que sea solo @ruta (por ejemplo @docs/style.md) se sustituye por el texto de ese archivo, relativo al archivo que la menciona. Las importaciones pueden anidarse tres niveles; los archivos que faltan, los ciclos y las líneas dentro de bloques de código se dejan tal cual.


Añadir herramientas con MCP (opcional)

Los servidores MCP le dan al agente herramientas extra, como acceso a bases de datos, búsqueda web o tus propios scripts. Enuméralos en un archivo JSON:

  • ~/.agentiloop/mcp.json: disponible en todos los proyectos
  • .mcp.json en una carpeta de proyecto: solo en ese proyecto. Si un nombre aparece en ambos archivos, gana este.

El formato es el mismo que usan Claude Code, Claude Desktop y Agent!, así que puedes copiar configuraciones que ya tengas:

{ "mcpServers": {
    "Local":  { "command": "my-mcp-server", "args": ["--flag"], "env": { "API_KEY": "${MY_KEY}" } },
    "Remote": { "url": "https://example.com/mcp", "headers": { "Authorization": "Bearer ${TOKEN}" } }
} }

Cómo funciona:

  • Dos tipos de servidor. Un servidor con command es un programa local que AgentiLoop inicia por ti. A un servidor con url se accede por HTTP. Funcionan tanto los servidores más nuevos "Streamable HTTP" como los más antiguos "SSE"; una URL que termina en /sse (o "transport": "sse") selecciona el estilo antiguo.
  • Nombres de herramientas. Cada herramienta del servidor le aparece al agente como mcp_<server>_<tool>, por ejemplo mcp_Local_search.
  • Secretos. ${VAR} (o ${VAR:-default}) se rellena desde tu entorno, así que las claves no tienen que estar en el archivo.
  • Permisos. Las herramientas MCP piden permiso como cualquier otra herramienta, a menos que el servidor marque una herramienta como de solo lectura.
  • Prompts. Los prompts guardados de un servidor se convierten en comandos /mcp__<servidor>__<prompt>, p. ej. /mcp__Local__summarize algún texto. Las palabras tras el comando rellenan los argumentos del prompt en orden (o nombre=valor); el texto que devuelve el servidor se envía como tu prompt. /mcp los lista.
  • Desactivar servidores. Añade "disabled": true para saltarte un servidor, o ejecuta con --no-mcp para saltártelos todos.
  • Seguridad. http:// sin cifrar solo se permite para localhost; los servidores remotos necesitan https://.

Escribe /mcp para ver qué servidores se han conectado, sus herramientas y cualquier error.


Dónde se guardan las cosas

Todo vive en ~/.agentiloop/. Define AGENTILOOP_HOME para usar otra carpeta, por ejemplo un perfil de pruebas separado.

Archivo Qué contiene
settings.json El proveedor, los modelos y las opciones recordados, más lo que el asistente escribió en otros sitios
env Tu clave, escrita por el asistente (KEY=value, modo de archivo 600). Se carga al arrancar; un export en tu shell tiene prioridad
sessions/ Tus conversaciones, un archivo por cada una
mcp.json Tus servidores MCP
history.txt Las peticiones que has escrito (para ↑ / ↓)

Otras variables de entorno

Rara vez las necesitarás:

Variable Uso
ANTHROPIC_BASE_URL Envía las peticiones de Anthropic a un proxy o a un servidor compatible
ANTHROPIC_OAUTH_TOKEN Alternativa a ANTHROPIC_API_KEY para un token de Claude Code
OMLX_BASE_URL, OMLX_PORT, OMLX_API_KEY Dirección y clave del servidor oMLX. Tienen prioridad sobre ~/.omlx/settings.json, que se lee por defecto (puerto 8000 si no se define ninguno)
AGENTILOOP_LOG=debug (o RUST_LOG=debug) Muestra los registros de depuración, incluido el uso de tokens por petición

Para desarrolladores

Compilar y probar

go build -o agentiloop ./cmd/agentiloop   # → ./agentiloop
go test ./...                             # funciona sin conexión, no necesita claves de API

La compilación cruzada no necesita nada extra, por ejemplo GOOS=windows GOARCH=amd64 go build ./cmd/agentiloop.

Los tests no tocan la red. El bucle del agente se ejecuta contra un modelo falso con guion, y los analizadores de streaming contra un servidor de pruebas local. La TUI se dibuja en la pantalla simulada de tcell. El cliente MCP se prueba contra un servidor de ejemplo incluido, con los tres tipos de conexión (stdio, HTTP, SSE). Puedes ejecutar ese servidor tú mismo para probar MCP a mano:

go run ./examples/mcp-example-server --http 8791   # o --sse 8792, o --stdio

Cómo está organizado el código

El proyecto está dividido en cinco paquetes, y cada uno se apoya en los anteriores:

Paquete Qué contiene
core El corazón: el bucle del agente, los mensajes, las interfaces de herramientas y proveedores, los permisos, las sesiones, los resúmenes
provider Habla con los modelos: Anthropic, servidores compatibles con OpenAI, oMLX
tools Herramientas integradas: read_file, write_file, edit_file, list_dir, glob, grep, web_fetch, todo_write, bash
mcp El cliente MCP, portado desde AgentMCP de Agent! en Swift
cmd/agentiloop El programa agentiloop: opciones, chat, TUI, configuración

core, provider, tools y mcp usan solo la biblioteca estándar de Go, así que se pueden integrar en otros programas.

Dependencias

Todo lo que no es la TUI ni la línea de comandos usa la biblioteca estándar. El programa agentiloop añade:

Módulo Para qué se usa
github.com/spf13/pflag Opciones de la línea de comandos
github.com/peterh/liner El chat línea a línea
github.com/gdamore/tcell/v2, github.com/mattn/go-runewidth La TUI
github.com/yuin/goldmark, github.com/alecthomas/chroma/v2 Markdown y resaltado de código

Hoja de ruta

  • Respuestas en streaming
  • Proveedores compatibles con OpenAI
  • Resumen de conversaciones largas
  • Conversaciones guardadas
  • TUI a pantalla completa
  • Cliente MCP
  • ¿Qué viene después (What's NeXT)?

Licencia

PolyForm Noncommercial 1.0.0. Puedes usar, modificar y compartir este software con fines personales y no comerciales. El uso comercial, incluida la creación o venta de versiones comerciales, está reservado a AgentiLoop. Contacta con AgentiLoop para obtener una licencia comercial.


Fluxion AI, patrocinador Silver: una API unificada para GPT, Claude y otros modelos de IA líderes. Ahorra hasta un 70 % frente a los precios oficiales de la API y consigue $3 en créditos API.


AgentiLoop: agentiloop.ai

Copyright © 2026 AgentiLoop.ai, a Logos InkPen LLC company. All rights reserved.