IndustriaCódigo / SDK · Listo para usarHabr AI→ original

OpenCode: cómo crear un equipo de agentes de IA con cualquier gateway compatible con OpenAI

OpenCode es un harness de código abierto con licencia MIT que no depende de un único proveedor: los modelos se conectan a través de cualquier gateway compatible con OpenAI. El autor del artículo reunió un equipo con un orquestador, un arquitecto, un programador, un revisor y otros subagentes, cada uno con su propio modelo y sus permisos. La idea clave: solo el programador puede editar archivos, mientras que restricciones como la prohibición de ejecutar git push se aplican en la configuración, no en el prompt.

Procesado por IA desde Habr AI; editado por Hamidun News
OpenCode: cómo crear un equipo de agentes de IA con cualquier gateway compatible con OpenAI
Fuente: Habr AI. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalHabr AI ↗
Editor jefe
Instalaciónnpm i -g @opencode/cli; la clave se introduce mediante opencode auth login
Bun tiene problemas con los proxiessocks5 no funciona y hace falta NO_PROXY
Permisos de bash granularesgit diff está permitido y git push está bloqueado

Chatear con un modelo pronto encuentra sus límites: no puede ver tu proyecto, ejecutar pruebas ni recordar el contexto. Por eso todo el mundo habla de agentes. En esencia, un agente es un modelo más un harness: la estructura que lo rodea y aporta habilidades, contexto, integraciones y lógica multiagente. Claude Code y Codex marcaron el listón, pero el primero está vinculado a los modelos de Anthropic y el segundo sigue siendo un producto de OpenAI. OpenCode ofrece una tercera vía: licencia MIT, 75+ proveedores, modelos locales mediante Ollama o vLLM y libertad para elegir un modelo para cada función.

El artículo se publicó en Habr AI y lo escribió un empleado del servicio Bothub, por lo que la mención al gateway y el enlace de referido tienen carácter publicitario. Sin embargo, la configuración es universal y sirve para cualquier endpoint compatible con OpenAI.

Conectar un proveedor y evitar los problemas con los proxies

La rama actual v2 se instala con npm i -g @opencode/cli. El antiguo paquete opencode-ai pertenece a la línea 1.x, y es fácil confundirlos. También hay alternativas: brew, bun o el script oficial de instalación.

El proveedor se define en opencode.json mediante el paquete @ai-sdk/openai-compatible: se indica la baseURL del gateway y se enumeran los ID de los modelos. En lugar de guardar la clave en la configuración o en variables de entorno, es preferible introducirla mediante opencode auth login. Así no acabará en los archivos del proyecto.

El principal escollo práctico está en los proxies. OpenCode funciona sobre Bun, cuyo fetch nativo gestiona HTTP_PROXY y HTTPS_PROXY de forma irregular. Al instalar plugins puede aparecer el error fetch() proxy.url must be a non-empty string: el agente devuelve un objeto URL, pero fetch espera una cadena. Bun no admite socks5://; necesita http://. Incluso con una configuración correcta, NO_PROXY debe incluir localhost y 127.0.0.1; de lo contrario, la interfaz puede entrar en un bucle con sus propias solicitudes. La solución más sencilla es eliminar todas las variables de proxy y reiniciar el servicio. Solo entonces tiene sentido montar el equipo de agentes.

El equipo de agentes y la separación de permisos

OpenCode tiene dos tipos de agentes. El agente primary es aquel con el que hablas directamente. Un subagent trabaja en una sesión secundaria con su propio contexto y devuelve únicamente el resultado al chat principal. Los agentes integrados build y plan son primary, mientras que general y explore son subagentes. Puedes dejarlos como están y simplemente añadir los tuyos.

El autor creó siete funciones:

  • orchestrator (GPT-6.1 Sol) descompone la tarea y delega, sin escribir código;
  • architect (Gemini 4 Argon) diseña módulos y flujos de datos;
  • coder (Claude Sonnet 5.5) implementa los cambios y mantiene los diffs al mínimo;
  • reviewer (Claude Opus 5.5) se limita a revisar, sin generar parches;
  • security (GLM-5.3) busca vulnerabilidades;
  • docs (GPT-6 Luna) escribe documentación;
  • tests (GLM-5.3 Flash) escribe pruebas.

Los modelos se distribuyen siguiendo el criterio de usar uno caro donde hace falta mayor capacidad de razonamiento y uno barato donde basta con él. El autor subraya que la elección es parcialmente subjetiva: se guio por las noticias y quería probar modelos distintos, incluidos modelos abiertos.

La regla principal del esquema es que solo coder tiene edit: allow. Si todos editan archivos, el diff crece y deja de estar claro quién cambió qué. En cambio, reviewer y security conservan bash: allow porque necesitan ejecutar linters, consultar git diff y ejecutar pruebas.

Restricciones en el harness, no en el prompt

El modelo puede ignorar una instrucción del prompt que diga «no ejecutes git push», sobre todo si la tarea es ambigua. Una prohibición en permission no se puede eludir. Las reglas son granulares: bash pide confirmación por defecto, git status y git diff están permitidos, y git commit y git push están bloqueados. Los agentes también pueden trasladarse del JSON a archivos markdown en .opencode/agents/<name>.md: el nombre del archivo pasa a ser el del agente, el frontmatter contiene la configuración y el cuerpo se convierte en el prompt de sistema. Esto resulta práctico cuando los prompts son largos y necesitan control de versiones.

Cómo llevarlo a la práctica

Si ya trabajas con Claude Code o Codex, merece la pena probar OpenCode, aunque solo sea para comparar modelos con tus propias tareas en un solo día. Quédate con este principio: un agente tiene permisos de escritura, los demás asesoran y revisan, y las restricciones críticas se definen mediante permissions. Conviene probar la selección concreta de modelos con tu propio código, porque las decisiones del autor se basan más en impresiones que en benchmarks. El artículo no sustituye a la documentación, pero puede ahorrarte varias horas de tropiezos habituales.

Historia

Preguntas frecuentes sobre la noticia

¿Qué se sabe sobre Conectar un proveedor y evitar los problemas con los proxies?

La rama actual v2 se instala con npm i -g @opencode/cli. El antiguo paquete opencode-ai pertenece a la línea 1.x, y es fácil confundirlos. También hay alternativas: brew, bun o el script oficial de instalación. El proveedor se define en opencode.json mediante el paquete @ai-sdk/openai-compatible: se indica la baseURL del gateway y se enumeran los ID de los modelos. En lugar de guardar la clave en la configuración o en variables de entorno, es preferible introducirla mediante opencode auth login.

¿Qué se sabe sobre El equipo de agentes y la separación de permisos?

OpenCode tiene dos tipos de agentes. El agente primary es aquel con el que hablas directamente. Un subagent trabaja en una sesión secundaria con su propio contexto y devuelve únicamente el resultado al chat principal. Los agentes integrados build y plan son primary, mientras que general y explore son subagentes. Puedes dejarlos como están y simplemente añadir los tuyos.

¿Qué se sabe sobre Restricciones en el harness, no en el prompt?

El modelo puede ignorar una instrucción del prompt que diga «no ejecutes git push», sobre todo si la tarea es ambigua. Una prohibición en permission no se puede eludir. Las reglas son granulares: bash pide confirmación por defecto, git status y git diff están permitidos, y git commit y git push están bloqueados.

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
¿Qué te parece?
Cargando comentarios…