Referencia de la CLI
Todos los comandos de pepe, agrupados según lo que gestionan. conexiones de modelo, agentes, proyectos, tokens, el panel, y más.
En Pepe todo se puede hacer desde la línea de comandos, y aquí los agrupamos como
realmente los vas a necesitar: por lo que quieres lograr, no por orden alfabético. Cada
ejemplo usa el binario pepe ya instalado; si trabajas desde un checkout del código
fuente, usa mix pepe en su lugar, los subcomandos son idénticos en ambos casos.
pepe help # la lista completa de comandos
pepe help <grupo> # ej.: pepe help agent
Configuración inicial
pepe setup # primera vez: asistente guiado (idioma -> modelo -> agente -> Telegram)
# siguientes veces: un menú para añadir o reconfigurar cualquier parte
Conexiones de modelo
pepe model # muestra la predeterminada, cambia entre las guardadas, o añade una nueva
pepe model add openai # guiado: elige proveedor -> método de autenticación -> modelo
pepe model add openrouter \
--base-url https://openrouter.ai/api/v1 \
--api-key '${OPENROUTER_API_KEY}' \
--model openai/gpt-5-chat --default # totalmente manual
pepe model providers # lista los proveedores conocidos (OpenAI, Anthropic, Gemini, ...)
pepe model models --base-url https://api.openai.com/v1 --api-key '${OPENAI_API_KEY}'
pepe model list # lista las conexiones guardadas
pepe model test [NOMBRE] # verifica que una conexión funciona, clave y endpoint incluidos
pepe model reconnect openai # vuelve a iniciar sesión para reparar una conexión rota, sin tocar nada más
pepe model remove openrouter
pepe model default openai
¿Ya pagas una suscripción de ChatGPT/Codex o de Claude Pro/Max? En vez de pegar una
clave de API, puedes añadirla iniciando sesión con esa misma cuenta: al correr
pepe model add openai elige “ChatGPT / Codex subscription”, se abre tu navegador,
inicias sesión ahí, y Pepe se encarga del resto. Los detalles están en
Modelos.
Cuando esa conexión deja de funcionar (la sesión caducó, o cerraste sesión en otro
lado), pepe model reconnect NOMBRE la repara en el sitio volviendo a autenticarte.
No cambia nada más de la conexión, así que todos los agentes que ya la usaban siguen
funcionando sin configuración extra. Eliminarla y volverla a crear no es la forma de
arreglar esto: eso empieza de cero y te hace perder cualquier precio o ajuste
personalizado que tuvieras puesto.
Agentes
pepe agent add assistant \
--prompt "Eres un agente de programación útil." \
--tools bash,read_file,write_file,edit_file,list_dir,fetch_url,web_search --default
pepe agent list
pepe agent route assistant helper # permite que assistant le mande mensajes a helper (ver Rutas)
pepe agent manage boss assistant # permite que boss administre a assistant ("*" = todos)
pepe agent rename assistant helper # lo renombra y mueve su carpeta de trabajo
pepe agent remove helper
pepe agent default assistant
Qué hace cada opción está explicado en Agentes.
Proyectos (cuando llevas más de un cliente o equipo)
Si usas una sola instalación de Pepe para varios clientes o equipos, cada uno vive
como un proyecto aparte, con sus propios agentes y sus propios datos, sin mezclarse
con los demás. Si nunca pasas --project, todo cae en el proyecto predeterminado,
exactamente como funciona hoy cualquier instalación de un solo cliente. Más detalles
en Proyectos.
pepe project add acme --description "Acme Inc" # crea un cliente/proyecto nuevo
pepe project list
pepe project rename acme umbrella # lo renombra sin romper nada más
pepe agent add sales --project acme --prompt "..." # agente "acme/sales"
pepe agent list --project acme # solo los agentes de Acme
pepe agent list --all # todos los proyectos juntos
pepe run acme/sales "hola" # lo ejecuta usando su handle
pepe project remove acme --force # borra el proyecto entero, agentes incluidos
Ejecutar
pepe run "lista los archivos aquí y resume el proyecto" # ejecución única, transmite al stdout
pepe run assistant "hola" # elige un agente en concreto
pepe chat # conversación interactiva que recuerda lo dicho
pepe chat --agent assistant # ...con un agente concreto (o: pepe chat assistant)
pepe goal "publica las notas de la versión" \
--criteria "el CHANGELOG tiene una sección con fecha" --max-attempts 5 # insiste hasta que quede bien de verdad
pepe serve --port 4000 # levanta la API, el panel y el WebSocket a la vez
pepe serve --port 4000 --bind lan # ...accesible desde otras máquinas, no solo esta
pepe serve install [--port 4000] # lo deja corriendo en segundo plano de forma permanente
pepe serve status # ¿está instalado y corriendo?
pepe serve uninstall # lo detiene y lo quita
goal no da por terminado el primer intento: un revisor independiente evalúa el
resultado contra lo que pediste en --criteria, y si no pasa, Pepe reintenta hasta
--max-attempts veces. Para que el revisor sea un modelo distinto usa --judge MODELO. Se explica en detalle en Objetivos.
serve install hace que Pepe arranque solo y siga corriendo en segundo plano pase lo
que pase: que cierres sesión, que reinicies la máquina, incluso que se caiga. Esto
solo funciona con la app pepe ya instalada, no sirve desde un checkout del código
fuente. El flag --bind también se puede pasar aquí (serve install --bind lan).
Por defecto serve solo escucha en 127.0.0.1, es decir, solo se puede alcanzar
desde la misma máquina: un serve sin más opciones no trae proxy inverso delante, y
la API /v1 queda abierta sin autenticación hasta que configures un token. --bind lan lo abre a todas las interfaces de red; antes de eso conviene poner una
contraseña al panel (pepe dashboard password), o usar --tunnel para exponerlo al
público sin ampliar el bind. Esta precaución por defecto no se aplica a la imagen
Docker oficial, que siempre escucha en todas las interfaces; el motivo está explicado
en Desplegar en un servidor.
chat (también llamado tui) abre una conversación directamente en tu terminal, que
va recordando el contexto a medida que avanzas. Escribe /help ahí dentro para ver
todos los atajos disponibles: nueva conversación, deshacer, retroceder unos
intercambios, cambiar de agente o de modelo, y más.
Gateway de Telegram
pepe gateway telegram setup # interactivo: token del bot, quién puede hablarle, qué agente lo atiende
pepe gateway telegram # lo corre en primer plano
Cómo funcionan el acceso y varios bots a la vez se explica en Telegram.
Tokens de acceso a la API
Son las claves que otras apps usan para hablar con Pepe por HTTP o WebSocket. Mientras
no crees ninguno, solo se aceptan peticiones desde la propia máquina; en cuanto creas
el primero, toda petición pasa a necesitar un token válido. Un token puede acotarse a
un proyecto (--project) o a un agente puntual (--agent HANDLE). Ver API
HTTP.
pepe token add --project acme --label "app móvil de acme" # la clave se muestra una sola vez, guárdala ya
pepe token add --agent acme/sales --label "una integración"
pepe token add --agent acme/sales --widget \
--allowed-origin https://example.com # seguro para dejarlo en el código fuente público de una página
pepe token list # id, ámbito, permisos, etiqueta
pepe token update <id> --greeting "¡Hola! ¿Cómo puedo ayudarte?"
pepe token revoke <id>
El ámbito decide de quién son los datos a los que llega un token; los permisos deciden qué puede hacer con ellos una vez ahí. Por eso puedes entregarle a alguien un token que solo lea reportes de facturación, sin que pueda ni siquiera hablar con un agente. Ver Uso y facturación.
# un token solo de facturación: lee /v1/usage, no puede ejecutar ningún agente, y ve
# nada más que lo que el cliente realmente paga (--prices list oculta tu margen, --prices all lo muestra)
pepe token add --project acme --no-chat --usage --prices billable
pepe token permissions <id> --prices list # lo cambia en el sitio, la clave en sí no cambia
pepe token permissions <id> --no-usage
Watches (“avísame en cuanto pase X”)
Vigila algo con cierta frecuencia y te avisa una sola vez, justo cuando se cumple, y a partir de ahí se detiene solo. Ver Watches.
pepe watch add "sitio activo" --probe "curl -sf https://x" --every 120
pepe watch list
pepe watch pause <id> | resume <id> | cancel <id>
Tareas programadas
Son trabajos de agente que se repiten según un horario, al estilo de un cron. Ver Tareas programadas.
pepe cron list
pepe cron add --name "resumen diario" --prompt "..." --schedule "0 8 * * *"
pepe cron run <id> # la dispara ahora mismo, fuera de su horario habitual
pepe cron logs <id>
Flows (repetir algo que ya salió bien, sin repensarlo)
Cuando un agente ya resolvió lo mismo un par de veces siguiendo los mismos pasos,
conviene convertir esa secuencia en un flow con nombre propio: la próxima vez se
repite directamente, más rápido y sin pedirle al modelo que lo razone otra vez desde
cero. Ver Flows.
pepe flow list AGENTE
pepe flow promote NOMBRE --agent AGENTE --from ID1,ID2[,...] [--overwrite]
pepe flow show AGENTE NOMBRE
pepe flow remove AGENTE NOMBRE
pepe flow run AGENTE NOMBRE # lo ejecuta ahora
pepe flow schedule AGENTE NOMBRE --schedule "..." [--timezone TZ] [--deliver ...]
Aprendizaje
pepe timelearn [AGENTE] # todo lo que el agente fue aprendiendo con el tiempo
pepe learn consolidate [AGENTE] # lo ordena ahora mismo
pepe learn auto [AGENTE] [--at CRON] # lo hace solo, cada noche (--off para apagarlo)
pepe learn status # qué agentes tienen esto activado
Qué se guarda realmente está explicado en Aprendizaje.
Uso, facturación y traces
pepe usage # tokens y costo por ciclo, desglosado por proyecto
pepe usage --project acme --granularity day
pepe usage runs [--project acme] [--source telegram] [--agent H] [--limit N]
# una línea por conversación
pepe usage runs <id> # esa conversación en detalle, paso a paso
pepe usage export --project acme # una factura para el cliente (Markdown, o --format csv)
pepe usage prices [--refresh] # consulta o actualiza los precios vigentes de cada modelo
pepe traces [--project NOMBRE] [--limit N] # actividad reciente, en cualquier canal
pepe traces <id> # reproduce una ejecución paso a paso
Los mismos números están disponibles por HTTP usando un token con ámbito de uso. Ver Uso y facturación.
Servidores de herramientas, plugins y hooks de privacidad
pepe mcp add NOMBRE --command npx --args "..." # un servidor de herramientas local
pepe mcp add NOMBRE --url URL --header "K: V" # un servidor de herramientas remoto (HTTP)
pepe mcp list | tools NOMBRE | remove NOMBRE # inspecciona y gestiona
pepe mcp login|logout NOMBRE # inicia sesión en un servidor remoto
pepe plugin list | install | scan | remove # herramientas y canales adicionales
pepe plugin route list | enable NOMBRE | disable NOMBRE # el endpoint web propio de un plugin
pepe skill list | search | install | update | remove | audit | tap # marketplace de skills
pepe db add | list | remove # permite que un agente consulte una base de datos externa
pepe slot list | set | clear # qué plugin atiende cada capacidad
pepe policy list # reglas de permisos instaladas y dónde se aplican
pepe policy scope NOMBRE --agents a,b [--projects x,y] | --clear # limita dónde se aplica una regla
pepe hooks list # hooks de privacidad disponibles
pepe hooks generate "oculta los DNI" [--model NOMBRE] [--save] # deja que la IA te escriba uno
Ver MCP, Plugins, Skills, Base de datos y Privacidad y hooks.
Calidad y operaciones
pepe eval [SUITE] # corre un conjunto de prompts de prueba contra un agente
pepe doctor [--offline] # comprueba que todo esté bien configurado
pepe review [approve|reject ID] # aprueba o rechaza cambios que un agente hizo por su cuenta
pepe backup [--output ARCHIVO.tgz] # guarda todo: configuración, agentes, conversaciones, base de datos
pepe backup verify ARCHIVO.tgz # confirma que un backup está íntegro
pepe restore ARCHIVO.tgz [--force] # restaura un backup
pepe migrate ORIGEN [--dry-run] # trae modelos y agentes desde otra herramienta
pepe update # actualiza a la última versión
pepe browser install # prepara el navegador que puede usar un agente
Ver Evaluaciones, Backup y Navegador.
Panel
La contraseña es opcional. Si no la defines, el panel solo se abre desde la misma máquina donde corre; cualquier intento de conexión desde otro sitio queda bloqueado. Ver Autenticación y Panel.
pepe dashboard # muestra la configuración actual
pepe dashboard password # define una, se escribe oculta y no aparece en pantalla
pepe dashboard hosts app.example.com # permite acceder por un dominio (--clear para reiniciarlo)
pepe dashboard trusted-proxies 10.0.0.0/8 # necesario cuando corre detrás de un proxy inverso
Otros
pepe tools # lista todas las herramientas que puede usar un agente
pepe config # dónde vive el archivo de configuración, y un resumen rápido
pepe help # ayuda completa de comandos (o: pepe help <grupo>)