OpenCode Zen for Copilot
Accede a 45+ modelos de IA en GitHub Copilot Chat — con modelos gratuitos incluidos
📥 Descargar VSIX
·
GitHub
·
Reportar Bug
Extensión para VS Code que registra los modelos de OpenCode Zen como proveedor de Language Model para GitHub Copilot Chat. Usa tus modelos favoritos directamente en el chat de Copilot.
✨ Características
- 🆓 Modelos gratuitos — 4 modelos gratis habilitados por defecto:
deepseek-v4-flash-free, mimo-v2.5-free, nemotron-3-super-free, big-pickle
- 🤖 45+ modelos — GPT 5.x, Claude 4.x, Gemini 3.x, Qwen3, DeepSeek, MiniMax, GLM, Kimi, Grok y más
- 🔑 Detección automática — Detecta tu instalación de OpenCode y usa su API key automáticamente
- 🛠️ Tool calling — Soporte completo para tool calling con reparación automática de JSON
- 📡 Streaming — Streaming SSE en tiempo real con visualización de reasoning
- 🖼️ Visión — Soporte de entrada de imágenes para modelos multimodales
- 📊 Barra de estado — Indicador de estado con información de conexión y sesiones
📦 Instalación
Descargar VSIX (recomendado)
Descarga el archivo .vsix desde la última release e instálalo:
code --install-extension opencode-zen-*.vsix
O desde VS Code: Extensiones → "..." → Install from VSIX...
Desde el código fuente
git clone https://github.com/SantiagoRoChi/OpenCode-Copilot-Chat.git
cd OpenCode-Copilot-Chat
npm install
npm run esbuild
npm run package
code --install-extension opencode-zen-*.vsix
🚀 Uso
Configuración inicial
Obtén una API key de OpenCode Zen en opencode.ai/auth
Si tienes OpenCode instalado, la API key se detecta automáticamente
Si no tienes OpenCode, configura la API key manualmente:
Ctrl+Shift+P → OpenCode Zen: Configure OpenCode Zen
- Ingresa tu API key
Usar en Copilot Chat
Abre GitHub Copilot Chat en VS Code
En el selector de modelos, busca OpenCode Zen
Selecciona un modelo (los modelos gratuitos están marcados con ✨)
¡Chatea! Los modelos funcionan igual que los modelos de Copilot
Comandos disponibles
| Comando |
Descripción |
OpenCode Zen: Configure OpenCode Zen |
Configurar o limpiar la API key |
OpenCode Zen: Test Connection |
Verificar API key y modelos disponibles |
OpenCode Zen: Refresh Models |
Forzar actualización del catálogo de modelos |
OpenCode Zen: Show Output |
Abrir canal de salida con logs |
⚙️ Configuración
| Propiedad |
Descripción |
Default |
opencode-zen.requestTimeout |
Timeout de requests en ms |
60000 |
opencode-zen.enableToolCalling |
Habilitar soporte de tool calling |
true |
opencode-zen.enableImageInput |
Habilitar soporte de imágenes/vision |
true |
opencode-zen.parallelToolCalling |
Permitir tool calls en paralelo |
true |
opencode-zen.agentTemperature |
Temperatura para tool calls |
0.0 |
opencode-zen.verboseLogging |
Logging detallado (debug) |
false |
opencode-zen.autoDetectOpenCode |
Auto-detectar API key de OpenCode |
true |
🤖 Modelos soportados
Gratuitos (siempre disponibles)
| Modelo |
Contexto |
Capacidades |
deepseek-v4-flash-free |
328K |
Tools |
mimo-v2.5-free |
131K |
Tools, Reasoning |
nemotron-3-super-free |
131K |
Tools |
big-pickle |
232K |
Tools |
Premium (requieren API key con créditos)
- OpenAI: GPT-5.2, GPT-5.4, GPT-5.5, GPT-5.4 mini
- Anthropic: Claude Opus 4.1-4.8, Claude Sonnet 4-4.6
- Google: Gemini 3 Flash, Gemini 3.1 Pro, Gemini 3.5 Flash
- Otros: Qwen3, DeepSeek V4, MiniMax, GLM 5, Kimi, Grok
🔧 Desarrollo
Requisitos
Compilar
npm install
npm run esbuild # Compilar una vez
npm run esbuild-watch # Modo watch
Empaquetar
npm run package
Genera opencode-zen-<version>.vsix en la raíz del proyecto.
Publicar una Release
- Actualiza la versión en
package.json siguiendo semver
- Actualiza
CHANGELOG.md
- Crea un tag y pushea:
git tag v1.0.0
git push origin v1.0.0
- El pipeline de GitHub Actions generará automáticamente el
.vsix y creará una GitHub Release con el archivo adjunto
🤖 CI/CD
Este repositorio incluye un pipeline de GitHub Actions (.github/workflows/ci.yml) que:
- Compila la extensión en cada push/PR (Ubuntu + Windows)
- Genera el
.vsix en cada compilación (disponible como artefacto)
- Crea una Release automáticamente cuando se pushea un tag
v*, con el .vsix adjunto para descarga directa
📁 Estructura del proyecto
src/
├── extension.ts # Punto de entrada
├── provider.ts # Implementación de LanguageModelChatProvider
├── client/
│ ├── types.ts # Interfaces TypeScript
│ ├── zenClient.ts # Cliente HTTP para Zen API
│ └── modelsDevClient.ts # Cliente para catálogo models.dev
├── models/
│ ├── modelMetadata.ts # 45+ definiciones de modelos
│ ├── registry.ts # Catálogo de modelos (local + remoto)
│ └── modelInfoBuilder.ts# Mapper modelo → formato Copilot
├── integration/
│ ├── authReader.ts # Lector de auth.json de OpenCode
│ └── opencodeConnector.ts # Detección de OpenCode
├── streaming/
│ ├── responseStreamer.ts # Parser SSE streaming
│ └── messageConverter.ts # Convertidor VSCode ↔ OpenAI
├── tools/
│ └── toolCallAdapter.ts # Tool calling + reparación JSON
├── config/
│ ├── settings.ts # Lector de settings de VSCode
│ └── secretStorage.ts # Almacenamiento de API key
├── status/
│ └── statusBar.ts # Controlador de barra de estado
└── utils/
└── tokenEstimate.ts # Estimación de tokens
📄 Licencia
MIT
Hecho con ❤️ para desarrolladores que usan OpenCode Zen