Code Assistant

Una herramienta CLI basada en Rust

Documentación

Code Assistant

CI Trust Score MCP Toplist

Un agente de codificación de IA de código abierto, escrito en Rust, con una interfaz gráfica nativa, un modo de terminal e integraciones para editores y clientes MCP. Ejecuta un bucle de agente autónomo sobre tu base de código — leyendo, buscando, editando archivos y ejecutando comandos — mientras te mantiene informado sobre lo que realmente está haciendo.

Primeros pasos

La forma más rápida de probarlo es con una descarga precompilada — sin necesidad de herramientas adicionales:

  1. Obtén la última versión desde la página de Releases:
    • macOS: Code-Assistant-macos-aarch64.app.zip (Apple Silicon) o Code-Assistant-macos-x86_64.app.zip (Intel)
    • Linux: code-assistant-linux-x86_64.zip
    • Windows: code-assistant-windows-x86_64.zip
  2. Ejecútalo. En el primer inicio, code-assistant abre su pantalla de Configuración. Elige un proveedor (hay sugerencias de un clic para los más comunes), pega una clave de API y selecciona un modelo — eso es todo.
  3. Añade tu carpeta de proyecto desde la aplicación y comienza un chat.

No es necesario editar manualmente archivos JSON para empezar. (Aún puedes hacerlo, si lo prefieres — consulta la guía de configuración).

Compilar desde el código fuente en su lugar
# Install the Rust toolchain (macOS/Linux)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# On Linux (Debian/Ubuntu), install the system libraries gpui needs:
sudo apt-get install -y --no-install-recommends \
    pkg-config build-essential libssl-dev libzstd-dev \
    libfontconfig-dev libwayland-dev libx11-xcb-dev \
    libxkbcommon-x11-dev libasound2-dev libvulkan1

# On macOS, install the metal toolchain:
xcodebuild -downloadComponent MetalToolchain

# Clone and build
git clone https://github.com/stippi/code-assistant
cd code-assistant
cargo build --release

El binario se encuentra en target/release/code-assistant. Consulta la guía de configuración para compilar un paquete macOS .app autónomo.

Qué lo hace diferente

Algunas cosas que nos importan:

  • Una interfaz que realmente puedes seguir. En lugar de un escueto "Se llamaron 5 herramientas", code-assistant muestra qué herramientas se ejecutaron y qué devolvió cada una al modelo como contexto. Cuando se desvía, puedes ver por qué.
  • Formato al guardar que mantiene la eficiencia de tokens. Cuando tu proyecto formatea el código automáticamente, la imagen mental que el agente tiene de un archivo queda desactualizada y sus ediciones posteriores empiezan a fallar por razones poco evidentes. code-assistant ejecuta tu formateador y luego concilia las ediciones del modelo con el resultado formateado — sin desperdiciar tokens en releer archivos. Consulta docs/format-on-save-feature.md.
  • Codificación de archivos y saltos de línea transparentes. Lee un archivo tal como está almacenado (codificación, BOM, CRLF/LF), le da al modelo texto limpio y lo escribe de vuelta como estaba — para que nunca reescriba silenciosamente tus saltos de línea.
  • Busca y lee documentos, no solo código. Word, Excel, PowerPoint, PDF y más se consumen automáticamente como Markdown, para que puedas apuntar el agente a documentos del mundo real junto con tu código fuente.

Características

  • Múltiples proveedores de LLM: Anthropic, OpenAI, Google Vertex AI, Ollama, OpenRouter, SAP AI Core, Groq, Cerebras, Mistral y más.
  • Cuatro formas de trabajar: una interfaz gráfica nativa (construida sobre GPUI de Zed), un modo de terminal, un servidor MCP sin interfaz y un agente ACP para editores como Zed.
  • Sintaxis de herramientas adaptable: llamadas de función nativas, etiquetas XML o bloques de triple caret — elegida por sesión para adaptarse al modelo.
  • Transmisión en tiempo real con filtrado inteligente que bloquea combinaciones de herramientas inseguras (por ejemplo, editar un archivo antes de leerlo).
  • Sesiones por proyecto con ramificación, estado persistente y mensajes borrador con adjuntos.
  • Subagentes, niveles de permisos, un sandbox de comandos y compactación automática de contexto cuando la ventana se llena.
  • Modo cliente MCP: conecta servidores externos del Protocolo de Contexto de Modelo y usa sus herramientas.
  • Sesiones de navegador: el agente maneja un navegador real (navegar, leer, hacer clic, escribir) para probar aplicaciones web, con una transferencia de inicio de sesión con supervisión humana para que actúe como tú sin ver nunca tus credenciales.
  • Habilidades: manuales reutilizables y específicos de tareas que el agente puede cargar bajo demanda.
  • Orientación autocargada: recoge AGENTS.md (o CLAUDE.md) desde la raíz de tu proyecto para alinearse con instrucciones específicas del repositorio.

Interfaces

code-assistant                     # native GUI (default)
code-assistant --tui               # terminal interface
code-assistant acp                 # ACP agent for editors like Zed
code-assistant server              # headless MCP server (e.g. Claude Desktop)

Cualquier modo puede tomar una tarea inicial: code-assistant --task "Explain this codebase".

Conectar a Zed (ACP)

Añade a la configuración de Zed:

{
  "agent_servers": {
    "Code-Assistant": {
      "command": "/path/to/code-assistant",
      "args": ["acp", "--model", "Claude Sonnet 4.5"],
      "env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
    }
  }
}

Consulta la documentación de Zed sobre agentes personalizados.

Conectar a Claude Desktop (MCP)

En la configuración de Claude Desktop (pestaña Developer → Edit Config):

{
  "mcpServers": {
    "code-assistant": {
      "command": "/path/to/code-assistant",
      "args": ["server"],
      "env": { "SHELL": "/bin/zsh" }
    }
  }
}

Configuración

Para la mayoría de las personas, la pantalla de Configuración dentro de la aplicación es suficiente — gestiona proveedores, modelos, servidores MCP y habilidades por ti. Todo también se puede configurar mediante archivos JSON, y hay opciones más avanzadas (configuración de proyectos, modos de sandbox, sintaxis de herramientas, grabación de sesiones, banderas de CLI):

→ Consulta la guía de configuración.

Contribuciones

¡Las contribuciones son bienvenidas! El código es un buen recorrido por Rust asíncrono, arquitectura de agentes de IA y UI multiplataforma. Si algo sobre el comportamiento del agente te molesta, ese es exactamente el tipo de detalle que le importa a este proyecto: por favor, abre un issue.

Hoja de ruta

No es realmente una hoja de ruta — solo algunas direcciones, sin un orden particular:

  • Reemplazo de bloques en archivos obsoletos: detectar temprano cuando el modelo está a punto de replace_in_file un archivo que cambió desde su última lectura, y rechazarlo con un mensaje útil.
  • Compactar fallos de uso de herramientas: eliminar llamadas de herramientas fallidas / bloques de búsqueda no coincidentes del historial para ahorrar tokens.
  • Herramientas de memoria: ayudar al agente a construir una base de conocimiento para un proyecto.
  • Sandbox más estricto: restringir el acceso de herramientas a archivos rastreados por git dentro del proyecto.
  • Coincidencia difusa de bloques de búsqueda: reducir las relecturas causadas por coincidencias exactas fallidas.