Instalación de OpenCode y configuración de OmniProxy
¿Quieres que un asistente de programación comprenda tu proyecto sin quedarte atascado en la instalación y la configuración? Puedes iniciar OpenCode desde el terminal, un IDE o el escritorio y, después, conectarlo paso a paso al servicio de modelos que utilices.
OpenCode es un asistente de programación de código abierto que permite escribir código desde el terminal, un IDE o el escritorio. No guarda tu código ni el contexto, por lo que resulta adecuado para proyectos donde la privacidad es importante. build sirve para modificar el proyecto, mientras que plan es de solo lectura de forma predeterminada y resulta útil para comprender primero código que no conoces y organizar los cambios. Puedes elegir el servicio de modelos según tus necesidades.
Preparativos antes de la instalación
El script de instalación es la opción más sencilla. Necesitas un terminal moderno, es decir, un programa de terminal que permita ejecutar comandos y trabajar con los archivos del proyecto, como WezTerm, Alacritty, Ghostty o Kitty. En Windows se recomienda utilizar WSL, una herramienta que permite ejecutar un entorno Linux dentro de Windows y ofrece funciones y rendimiento más completos.
La opción más sencilla
Script de instalación
- curl opencode.ai/install
- Úsalo directamente en macOS Linux
- En Windows se recomienda WSL
macOS Linux
Homebrew tap
- anomalyco/tap/opencode
- Se actualiza con más frecuencia que la fórmula
- También hay un paquete para Arch
Windows nativo
Gestor de paquetes
- choco o scoop
- O instálalo globalmente con npm
- También puedes descargarlo desde Releases
Prepara también el ID del modelo que aparezca en la lista actual de modelos. El ID del modelo es el nombre que utiliza el servicio para identificar con precisión un modelo concreto.
Instalación y primer inicio
El comando de instalación más sencillo es:
curl -fsSL https://opencode.ai/install | bash
También puedes utilizar los siguientes métodos de instalación:
- Node.js:
npm install -g opencode-ai. Bun, pnpm y Yarn también disponen de sus respectivos comandos de instalación global; consulta la página introductoria enlazada al final. - Homebrew en macOS y Linux:
brew install anomalyco/tap/opencode. Utiliza este tap, ya que se actualiza con más frecuencia quebrew install opencode, mantenido por el equipo de Homebrew. - Arch Linux: utiliza
sudo pacman -S opencodepara la versión estable. Para una versión más reciente, puedes utilizaropencode-bindesde AUR. - Windows: utiliza
choco install opencodeoscoop install opencode; también puedes ejecutarnpm install -g opencode-ai. Además, puedes descargar el archivo binario desde Releases. La compatibilidad con la instalación mediante Bun en Windows sigue en desarrollo.
Entra en el directorio de tu proyecto e inicia OpenCode:
cd /path/to/project
opencode
La primera vez puedes ejecutar /init. Este comando analizará el proyecto y creará AGENTS.md en su directorio raíz. Puedes incluir este archivo en Git para conservar estas instrucciones dentro del proyecto.
Obtener los parámetros de conexión de OmniProxy
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: copiar el ID completo de la lista actual de modelos de OmniProxy
baseURL es la dirección del servicio, API Key es la credencial de acceso y Model ID es el nombre completo del modelo.
Cuando se utilice /v1/chat/completions, el paquete npm debe ser @ai-sdk/openai-compatible. Chat Completions es una interfaz para solicitudes de conversación. Solo debes cambiar a @ai-sdk/openai cuando el modelo utilice /v1/responses. Si OmniProxy se utiliza mediante la ruta de Chat Completions, conserva el paquete compatible.
Copia íntegramente el ID del modelo desde la lista actual de OmniProxy, incluidas las barras. Los dos ID de referencia del 2026-10-09 son claude-sonnet-5-5 y gpt-6-luna. gpt-6-luna admite Chat Completions; dentro de Chat Completions, las llamadas a funciones solo se admiten cuando reasoning_effort tiene el valor none. No copies un ID que no figure en la lista.
Introducir la configuración de la herramienta
Un Provider puede entenderse como el conjunto de opciones de configuración que OpenCode utiliza para conectarse a un servicio de modelos. La documentación de Provider considera que un servicio compatible con OpenAI que no aparezca en la lista de /connect es un Provider personalizado. Un servicio compatible con OpenAI utiliza el mismo formato de solicitud y puede invocarse mediante el mismo tipo de cliente.
- Ejecuta
/connecten OpenCode y desplázate hasta Other. - Introduce un Provider ID. En este ejemplo se utiliza
omniproxy. Elige un ID fácil de recordar, ya que tendrás que utilizar exactamente el mismo en el archivo de configuración. - Introduce la API Key de OmniProxy. Este paso solo guarda la credencial; todavía tendrás que añadir la dirección y los modelos a
opencode.json. La credencial se guarda en~/.local/share/opencode/auth.json. - Crea o modifica
opencode.jsonen el directorio del proyecto:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniproxy": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniProxy",
"options": {
"baseURL": "https://your-omniproxy-origin.example/v1"
},
"models": {
"claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
"gpt-6-luna": { "name": "GPT-6 Luna" }
}
}
}
}
- Ejecuta
/models. El Provider personalizado y sus modelos aparecerán en la lista.
El ID utilizado en /connect debe coincidir con la clave de opencode.json. No escribas la clave real en este archivo. Si no utilizas /connect, también puedes hacer referencia a una variable de entorno en options.apiKey, por ejemplo, {env:NOMBRE_DE_LA_VARIABLE}. En una prueba realizada el 2026-10-09 con OpenCode 1.18.34, también fue posible establecer la conexión escribiendo directamente la clave en options.apiKey dentro del proyecto, sin utilizar /connect. Si la puerta de enlace no valida la clave, este campo puede contener una cadena de marcadores de posición utilizada únicamente de forma local. Las claves de models deben ser los ID completos que aparecen en la lista.
Clave
/connect
- Selecciona Other al final
- Define tu propio ID de proveedor
- Se guarda en auth.json
Proyecto
opencode.json
- La clave provider debe tener el mismo nombre
- Usa un paquete compatible con npm
- baseURL debe terminar en /v1
Selección
/models
- El modelo aparece en la lista
- Selecciona uno antes de preguntar
- Usa el ID de la lista de la puerta de enlace
Verificar una tarea real
Ejecuta primero una tarea real desde el directorio del proyecto. El formato de referencia del modelo es Provider ID/ID del modelo; conserva las barras que formen parte del ID del modelo:
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Explica qué hace un archivo que yo especifique sin modificarlo."
--auto permite que esta ejecución utilice herramientas como la lectura de archivos. En una prueba realizada el 2026-10-09 con OpenCode 1.18.34, se pudo leer el contenido del archivo indicado. La primera ejecución tardó aproximadamente dos minutos.
Para utilizar el modo interactivo, ejecuta opencode y selecciona el modelo mediante /models. También puedes utilizar @ para buscar archivos. Ejecuta opencode auth list para confirmar las credenciales guardadas mediante /connect y, después, revisa el registro de llamadas de OmniProxy para verificar el origen y el ID del modelo.
Inicio
opencode puede iniciarse
- Primero haz cd al proyecto
- auth list muestra el ID
- El archivo de configuración está en el proyecto
Tarea
Ha leído el código
- Pregunta por un archivo concreto
- Revisa su explicación
- Si algo no está bien, usa /undo
Registro
Es visible en la puerta de enlace
- El origen es OpenCode
- El ID del modelo coincide
- No confirmes la clave en el repositorio
Errores habituales
- OmniProxy no aparece en
/models: comprueba que el ID de/connectcoincida con la clave deopencode.json, quenpmtenga el valor@ai-sdk/openai-compatibley quebaseURLtermine en/v1. - La credencial ha desaparecido: ejecuta
opencode auth list. Los Provider como Bedrock que dependen de variables de entorno no aparecen aquí; un Provider personalizado configurado mediante/connectsí debería aparecer. - Algunas funciones no están disponibles en Windows: utiliza el script de instalación dentro de WSL.
- El ID del modelo no es válido: vuelve a copiarlo desde la lista actual de OmniProxy y actualiza la clave correspondiente en
models. - La solicitud utiliza la interfaz incorrecta: conserva
@ai-sdk/openai-compatiblepara Chat Completions. No cambies el paquete para utilizar la interfaz Responses, salvo que ese modelo de OmniProxy realmente funcione mediante/v1/responses.
Referencias oficiales
Para la instalación, consulta Introducción a OpenCode. Para configurar un Provider personalizado, consulta Providers. Los ID de modelo utilizados como ejemplo aparecen en Resumen de modelos de Claude y GPT-6 Luna.
Reemplaza cada marcador de posición con valores de tu propia configuración de OmniProxy. Nunca publiques una clave real.
Un resultado guardado o HTTP 200 por sí solo no demuestra compatibilidad total con el Agente. Verifica el origen y el modelo en el registro de llamadas de OmniProxy.