opencode2vscode
v0.1.0
Published
Bridge between OpenCode server and VS Code chat (OpenAI-compatible API)
Maintainers
Readme
OpenCode -> VS Code Bridge
Puente Hono entre el servidor HTTP de OpenCode y clientes compatibles con OpenAI Chat Completions.
Instalación
# Instalación global
npm i -g opencode2vscode
# Ejecutar el bridge
opencode2vscode server
# O sin instalar (npx)
npx opencode2vscode serverUso
# Inicia el bridge (puerto 4097 por defecto)
opencode2vscode server
# Con variables de entorno
PORT=4097 OPENCODE_URL=http://127.0.0.1:4096 opencode2vscode serverConfigurar VS Code
Copia chatLanguageModels.json.opencode a tu carpeta de usuario de VS Code:
# Windows
copy chatLanguageModels.json.opencode %APPDATA%\Code\User\chatLanguageModels.json
# Linux/macOS
cp chatLanguageModels.json.opencode ~/.config/Code/User/chatLanguageModels.jsonLuego en VS Code: abre el chat (Ctrl+Shift+I) y selecciona el modelo "OpenCode Local".
VS Code
|
| POST /v1/chat/completions
|
Hono bridge :4097
|
|-> /v1/models
|-> SSE streaming
|-> tool-call events
|-> OpenCode translation
|
OpenCode :4096
|
|-> sessions
|-> agents
|-> files
|-> shell
|-> LSP
|-> MCP
|-> configured modelCaracterísticas
| Característica | Descripción |
| --- | --- |
| API compatible con OpenAI | Expone /v1/chat/completions y /v1/models para clientes compatibles con OpenAI Chat Completions (VS Code, extensiones, etc.) |
| Streaming SSE | Respuestas en streaming mediante Server-Sent Events, incluyendo eventos de tool-calls |
| Traducción de mensajes | Convierte peticiones OpenAI (roles, tool calls, formatos) al formato nativo de OpenCode |
| Gestión de sesiones | Crea, reutiliza, aborta y elimina sesiones de OpenCode (KEEP_SESSIONS para persistirlas) |
| Modelos y agentes configurables | DEFAULT_MODEL y DEFAULT_AGENT para fijar el modelo/agente por defecto |
| Autenticación | Credenciales OPENCODE_USERNAME / OPENCODE_PASSWORD para el servidor de OpenCode |
| Health check | Endpoint /health que reporta el estado del bridge y del servidor OpenCode |
| Configuración por entorno | Variables de entorno validadas con Zod (puerto, host, timeouts, etc.) |
| Gestión con PM2 | ecosystem.config.cjs lanza servidor y bridge juntos, con autoreinicio y límites de memoria |
| Multiplataforma | Resolución automática del binario de OpenCode en Windows (pnpm) y Unix |
| TypeScript | Código 100% TypeScript con tipado estricto, ESLint (neostandard) y Prettier |
Publicar en npm
# 1. Verificar que el nombre está disponible
npm view opencode2vscode
# 2. Login en npm (solo la primera vez)
npm login
# 3. Publicar (ejecuta automáticamente lint + typecheck + build)
npm publish
# 4. Verificar la publicación
npm view opencode2vscode versionProbar localmente antes de publicar
# Probar el CLI sin publicar
npx . --help
npx . server
# Probar como instalación global (enlace simbólico)
npm link
opencode2vscode serverActualizar versión
npm version patch # 0.1.0 -> 0.1.1
npm version minor # 0.1.0 -> 0.2.0
npm version major # 0.1.0 -> 1.0.0
npm publish