Instalación de OpenCode y configuración de OmniProxy
¿Quieres un asistente de programación que pueda entender tu proyecto sin atascarse en la instalación y configuración? OpenCode se puede iniciar desde una terminal, IDE o escritorio, y luego conectarse paso a paso al servicio de modelos que utilices.
OpenCode es un asistente de programación de código abierto que te permite escribir código desde una terminal, IDE o escritorio. No almacena tu código ni tu contexto, lo que lo hace adecuado para proyectos sensibles a la privacidad. build se utiliza para modificar un proyecto, mientras que plan es de solo lectura por defecto y es útil para entender código desconocido y planificar cambios antes de realizarlos. Puedes elegir un servicio de modelos según tus necesidades.
Antes de empezar
El script de instalación es la opción más fácil. Necesitas una terminal moderna (una aplicación de terminal que pueda ejecutar comandos y trabajar con archivos de proyecto), como WezTerm, Alacritty, Ghostty o Kitty. En Windows, se prefiere WSL. Proporciona un entorno Linux dentro de Windows con un rendimiento y funcionalidad más completos.
Más fácil
Script de instalación
- curl opencode.ai/install
- Usar directamente en macOS Linux
- WSL es recomendado en Windows
macOS Linux
Homebrew tap
- anomalyco/tap/opencode
- Actualizado con más frecuencia que la fórmula
- También hay un paquete disponible para Arch
Windows nativo
Gestor de paquetes
- choco o scoop
- O instalar globalmente con npm
- También puedes descargarlo desde Releases
Prepara también el ID del modelo de la lista de modelos actual. Un ID de modelo es el nombre que utiliza el servicio para identificar un modelo específico con precisión.
Instalación y primer inicio
El comando de instalación más fácil es:
curl -fsSL https://opencode.ai/install | bash
También puedes usar uno de estos métodos de instalación:
- Node.js:
npm install -g opencode-ai. Bun, pnpm y Yarn también tienen comandos de instalación global correspondientes; consulta la página de introducción al final de esta guía. - Homebrew en macOS y Linux:
brew install anomalyco/tap/opencode. Usa este tap porque se actualiza con más frecuencia quebrew install opencode, que es mantenido por el equipo de Homebrew. - Arch Linux: usa
sudo pacman -S opencodepara la versión estable, o el paquete AURopencode-binpara una versión más reciente. - Windows: usa
choco install opencodeoscoop install opencode. También puedes usarnpm install -g opencode-ai. Los archivos binarios también se pueden descargar desde Releases. El soporte para instalar con Bun en Windows aún está en progreso.
Ingresa a tu directorio de proyecto, luego inicia OpenCode:
cd /path/to/project
opencode
Al usarlo por primera vez, puedes ejecutar /init. Analiza el proyecto y crea AGENTS.md en la raíz del proyecto. Este archivo se puede confirmar en Git para que el proyecto conserve estas instrucciones.
Obtener valores de conexión de OmniProxy
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list
baseURL es la dirección del servicio, API Key es la credencial de acceso y Model ID es el nombre completo del modelo.
Al usar /v1/chat/completions, establece el paquete npm en @ai-sdk/openai-compatible. Chat Completions es un tipo de interfaz de solicitud de chat. Cambia a @ai-sdk/openai solo cuando el modelo use /v1/responses. Cuando se usa OmniProxy a través del punto final de chat completions, mantén el paquete de compatibilidad.
Copia el ID completo del modelo de la lista actual de OmniProxy, incluyendo cualquier barra diagonal. Al 09-10-2026, dos IDs de referencia eran claude-sonnet-5-5 y gpt-6-luna. gpt-6-luna admite Chat Completions; la llamada a funciones a través de Chat Completions solo se admite cuando reasoning_effort es none. No copies un ID que no esté en la lista.
Ingresar la configuración de la herramienta
Un proveedor (Provider) puede entenderse como un conjunto de valores de configuración que OpenCode utiliza para conectarse a un servicio de modelos. La documentación del proveedor trata a un servicio compatible con OpenAI que no aparece bajo /connect como un proveedor personalizado. Un servicio compatible con OpenAI utiliza el mismo formato de solicitud y puede ser llamado por el mismo tipo de cliente.
- Ejecuta
/connecten OpenCode y desplázate hasta Other. - Ingresa un ID de proveedor. El ejemplo a continuación usa
omniproxy. Elige un ID que sea fácil de recordar porque debes usar el mismo en el archivo de configuración. - Ingresa la clave API de OmniProxy. Este paso guarda solo la credencial; la dirección y los modelos aún deben agregarse a
opencode.json. La credencial se almacena 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 proveedor personalizado y sus modelos aparecerán en la lista.
El ID ingresado bajo /connect debe coincidir con la clave en opencode.json. No pongas una clave secreta real en este archivo. Si no usas /connect, puedes usar la sintaxis de variable de entorno en options.apiKey, como {env:VARIABLE_NAME}. En las pruebas realizadas el 09-10-2026 con OpenCode 1.18.34, poner la clave directamente en el options.apiKey del proyecto sin usar /connect también se conectó con éxito. Si el gateway no valida la clave, este valor puede ser una cadena de marcador de posición utilizada solo en la máquina local. Las claves bajo models deben usar los IDs completos de la lista.
Clave
/connect
- Selecciona Other en la parte inferior
- Elige tu propio ID de proveedor
- Almacenado en auth.json
Proyecto
opencode.json
- La clave del proveedor debe usar el mismo nombre
- Usa un paquete npm compatible
- baseURL termina con /v1
Seleccionar
/models
- El modelo aparece en la lista
- Selecciona uno antes de hacer una pregunta
- Usa el ID de la lista del gateway
Verificar con una tarea real
Ejecuta primero una tarea real desde el directorio del proyecto. El formato de referencia del modelo es Provider ID/model ID; conserva cualquier barra diagonal dentro del ID del modelo:
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Explain what a file you specify does. Do not modify the file."
--auto permite que esta ejecución use herramientas como herramientas de lectura de archivos. En las pruebas realizadas el 09-10-2026 con OpenCode 1.18.34, leyó con éxito el contenido del archivo especificado. La primera ejecución tomó alrededor de dos minutos.
Para uso interactivo, ejecuta opencode, luego selecciona un modelo con /models. Puedes usar @ para buscar archivos. Usa opencode auth list para confirmar la credencial guardada a través de /connect, luego verifica los registros de solicitudes de OmniProxy para verificar la fuente y el ID del modelo.
Inicio
opencode se inicia
- Primero cd al proyecto
- auth list muestra el ID
- El archivo de configuración está en el proyecto
Tarea
Leyó el código
- Pregunta sobre un archivo específico
- Revisa su explicación
- Usa /undo si está mal
Registros
Visible en el gateway
- La fuente es OpenCode
- El ID del modelo coincide
- No subas la clave
Errores comunes
- OmniProxy no aparece bajo
/models: Comprueba que el ID ingresado bajo/connectcoincida con la clave enopencode.json, quenpmesté configurado en@ai-sdk/openai-compatibley quebaseURLtermine con/v1. - Falta la credencial: Ejecuta
opencode auth list. Los proveedores como Bedrock que dependen de variables de entorno no aparecen aquí; un proveedor personalizado configurado a través de/connectdebería ser visible. - La funcionalidad de Windows está incompleta: Usa el script de instalación dentro de WSL en su lugar.
- El ID del modelo no es válido: Cópialo de nuevo de la lista actual de OmniProxy y actualiza la clave correspondiente bajo
models. - Las solicitudes van al punto final incorrecto: Mantén
@ai-sdk/openai-compatiblepara chat completions. No cambies el paquete para la interfaz de respuestas a menos que ese modelo en OmniProxy realmente use/v1/responses.
Referencias oficiales
Para la instalación, consulta OpenCode introduction. Para proveedores personalizados, consulta Providers. Para los IDs de modelo utilizados en los ejemplos, consulta Claude model overview 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 prueba la compatibilidad completa del Agente. Revisa la fuente y el modelo en el registro de llamadas de OmniProxy.