Ghosty Code is a DeepSeek V4 terminal coding agent and constitutional harness — a Rust TUI that reads, edits, runs shell commands, searches your repo, and coordinates sub-agents through long tool-using sessions with evidence-driven verification. Built for developers who want a keyboard-first coding agent with MCP support, session persistence, and zero vendor lock-in. Open source (MIT).
Si pegaste capturas y de pronto Ghosty perdía el hilo de la conversación, era esto: desde 0.0.13 los bytes de las imágenes se quedaban en el historial y se reenviaban en cada turno, pero el medidor de contexto los contaba como cero tokens. Cuatro capturas podían meter cientos de miles de tokens invisibles, el proveedor rechazaba la petición y el motor resumía la conversación de emergencia, en silencio.
Ahora las imágenes sólo conservan sus bytes en los 2 mensajes más recientes (las viejas dejan su ruta, y el modelo puede releerlas con
image_analyze), el estimador sí las cobra, y si el contexto se desborda de todos modos, te avisa antes de resumir. Además, cambiar de modelo ya no te apagaauto_compactsin decirte nada.Sigue disponible Kimi K3 con tu key de Moonshot (1M de contexto, razonamiento siempre activo, visión nativa) como modelo por defecto de ese provider, con Kimi K2.6 (256K) a un
/modelde distancia:ghosty auth set --provider moonshot --api-key "TU_KEY_MOONSHOT"O elige Moonshot en el picker de
/provider(te pide la key ahí mismo). También disponible vía OpenRouter (moonshotai/kimi-k3).
Recomendado — sin Node ni Rust, baja el binario precompilado:
curl -fsSL https://formmy.app/ghosty/install.sh | sh# npm (baja los binarios precompilados del release)
npm install -g ghostycode
# Cargo (requiere Rust 1.88+)
cargo install --git https://github.com/blissito/ghostycode ghosty-cli
# Descarga directa: archivos por plataforma en
# https://github.com/blissito/ghostycode/releasesEl paquete de npm se llama ghostycode; el comando que instala es ghosty.
ghosty auth set --provider deepseek --api-key "TU_DEEPSEEK_API_KEY"
# Kimi K3 directo (Moonshot; 1M contexto)
ghosty auth set --provider moonshot --api-key "TU_KEY_MOONSHOT"
# GLM-5.2 directo (Z.AI Coding Plan)
ghosty auth set --provider zai --api-key "TU_TOKEN_ZAI"
# EasyBits (revendedor de DeepSeek; la misma key sirve para LLM y MCP)
ghosty auth set --provider easybits --api-key "TU_EASYBITS_API_KEY"
ghosty doctor # verifica setup y conexión
ghosty # abre la TUI interactivaLa config vive en ~/.ghosty/config.toml. También puedes usar la variable de entorno
DEEPSEEK_API_KEY. Más providers y las notas de EasyBits en
docs/PROVIDERS.md.
ghosty # TUI interactiva
ghosty "explica esta función" # prompt de una sola vez
ghosty --model auto "arregla el bug" # auto-selecciona modelo + thinking
ghosty --yolo # auto-aprueba herramientas
ghosty sessions # lista sesiones guardadas
ghosty resume --last # retoma la última sesión
ghosty models # lista modelos disponibles
ghosty update # actualiza el binario- Agent — ejecuta herramientas (editar, correr, buscar) con tu aprobación.
- Plan — propone un plan antes de tocar nada.
- Yolo (
--yolo) — auto-aprueba todo. Úsalo con cuidado.
Cambia de modo dentro de la TUI o con flags al arrancar.
| Modelo | Thinking | Ideal para |
|---|---|---|
deepseek-v4-pro |
✅ | Razonamiento complejo, código, mates |
deepseek-v4-flash |
❌ | Tareas rápidas y económicas |
auto |
— | Elige modelo + thinking según el turno |
Override con --model <nombre> o /model dentro de la TUI.
Ghosty habla con la familia GLM de Z.AI por dos rutas:
Directo (Z.AI Coding Plan) — provider = "zai" (ZAI_API_KEY), endpoint
api.z.ai/api/coding/paas/v4. Paridad de cache y thinking con DeepSeek:
| Modelo | Contexto | Ideal para |
|---|---|---|
GLM-5.2 (default) |
— | Modelo GLM más capaz |
GLM-5.1 |
— | GLM estándar |
GLM-5-Turbo |
— | GLM rápido para explorar |
Vía OpenRouter — provider = "openrouter" (OPENROUTER_API_KEY):
z-ai/glm-5.2 (1M), z-ai/glm-5.1 (202K), z-ai/glm-5-turbo (202K).
La lista completa de modelos OpenRouter (Qwen, Kimi, MiniMax, Gemma, etc.) está
en docs/PROVIDERS.md.
Ghosty trae preconfigurado el servidor MCP de easybits (gestión de archivos desde el agente, 100+ herramientas). Viene desactivado de fábrica hasta que añadas tu llave, así que una instalación nueva nunca falla por falta de credencial.
-
Consigue tu API key en el panel de desarrollador de easybits: https://www.easybits.cloud/dash/developer
-
Añádela (esto la activa):
ghosty mcp add easybits --url "https://www.easybits.cloud/api/mcp?tools=core" --bearer TU_EASYBITS_API_KEY -
Verifica:
ghosty mcp list
¿Por qué
tools=corey nocore,sandboxnitools=all? EasyBits revende DeepSeek, cuya API (compatible con OpenAI) tiene un tope duro de 128 tools por request. EasyBits exponecore= 65 tools ysandbox= 47; sumadas a las ~36 built-in de Ghosty,coresolo cabe (101 total) perocore,sandboxse pasa (146 > 128) y verás el errorInvalid 'tools': array too long ... maximum length 128. Usa un solo grupo:tools=core(otools=sandboxsi solo necesitas ejecutar código). Con Anthropic no pasa porque sus tools MCP van comodefer_loading(ToolSearch) y no cuentan en el tope; DeepSeek ignora ese flag y cuenta todas.
Gestiona otros servidores con ghosty mcp add stdio|http <nombre> ...,
ghosty mcp enable|disable|remove <nombre> y ghosty mcp validate.
- Servidor:
ghosty serve --http(API HTTP/SSE) o--mobile(control desde el móvil en LAN). - Zed/ACP:
ghosty serve --acp. - Otros proveedores compatibles con OpenAI vía
base_urlen la config.
- formmy.app/ghosty — Ghosty on the web: run your agent from a browser dashboard.
- easybits.cloud — File management MCP server (100+ tools), pre-bundled with Ghosty.
MIT — ver LICENSE.