Desenvolupador

Instal·lació d'OpenCode i configuració d'OmniProxy

Vols un assistent de codificació que pugui entendre el teu projecte sense encallar-se en la instal·lació i configuració? OpenCode es pot llançar des d'un terminal, IDE o escriptori, i després connectar-se pas a pas al servei de models que utilitzis.

Docs revisades
9 d’oct. 2026
Versió provada
OpenCode 1.18.34

OpenCode és un assistent de codificació de codi obert que et permet escriure codi des d’un terminal, IDE o escriptori. No emmagatzema el teu codi ni el context, cosa que el fa adequat per a projectes sensibles a la privadesa. build s’utilitza per modificar un projecte, mentre que plan és de només lectura per defecte i és útil per entendre codi desconegut i planificar canvis abans de fer-los. Pots triar un servei de models segons les teves necessitats.

Abans de començar

L’script d’instal·lació és l’opció més fàcil. Necessites un terminal modern—una aplicació de terminal que pugui executar ordres i treballar amb fitxers de projecte—com ara WezTerm, Alacritty, Ghostty o Kitty. A Windows, es prefereix WSL. Proporciona un entorn Linux dins de Windows amb un rendiment i funcionalitat més complets.

Més fàcil

Script d'instal·lació

  • curl opencode.ai/install
  • Utilitza directament en macOS Linux
  • Es recomana WSL a Windows

macOS Linux

Homebrew tap

  • anomalyco/tap/opencode
  • Actualitzat amb més freqüència que la fórmula
  • També hi ha un paquet disponible per a Arch

Windows natiu

Gestor de paquets

  • choco o scoop
  • O instal·la globalment amb npm
  • També el pots descarregar des de Releases
Comença amb l'script d'instal·lació. Si ja et sents còmode amb els gestors de paquets, utilitza una de les altres ordres llistades.

Prepara també l’ID del model de la llista de models actual. Un ID de model és el nom que el servei utilitza per identificar un model específic amb precisió.

Instal·lació i primer llançament

L’ordre d’instal·lació més fàcil és:

curl -fsSL https://opencode.ai/install | bash

També pots utilitzar un d’aquests mètodes d’instal·lació:

  • Node.js: npm install -g opencode-ai. Bun, pnpm i Yarn també tenen ordres d’instal·lació global corresponents; consulta la pàgina d’introducció al final d’aquesta guia.
  • Homebrew en macOS i Linux: brew install anomalyco/tap/opencode. Utilitza aquest tap perquè s’actualitza amb més freqüència que brew install opencode, que és mantingut per l’equip de Homebrew.
  • Arch Linux: utilitza sudo pacman -S opencode per a la versió estable, o el paquet AUR opencode-bin per a una versió més nova.
  • Windows: utilitza choco install opencode o scoop install opencode. També pots utilitzar npm install -g opencode-ai. Els fitxers binaris també es poden descarregar des de Releases. El suport per instal·lar amb Bun a Windows encara està en procés.

Entra al directori del teu projecte, després llança OpenCode:

cd /path/to/project
opencode

Quan l’utilitzis per primera vegada, pots executar /init. Analitza el projecte i crea AGENTS.md a l’arrel del projecte. Aquest fitxer es pot enviar a Git perquè el projecte conservi aquestes instruccions.

Obtenir valors de connexió d’OmniProxy

baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list

baseURL és l’adreça del servei, API Key és la credencial d’accés, i Model ID és el nom complet del model.

Quan utilitzis /v1/chat/completions, estableix el paquet npm a @ai-sdk/openai-compatible. Chat Completions és un tipus d’interfície de sol·licitud de xat. Canvia a @ai-sdk/openai només quan el model utilitzi /v1/responses. Quan s’utilitza OmniProxy a través del punt final de chat completions, mantingues el paquet de compatibilitat.

Copia l’ID complet del model de la llista actual d’OmniProxy, incloent-hi qualsevol barra inclinada. A data de 09-10-2026, dos IDs de referència eren claude-sonnet-5-5 i gpt-6-luna. gpt-6-luna admet Chat Completions; la crida de funcions a través de Chat Completions només s’admet quan reasoning_effort és none. No copiïs un ID que no estigui a la llista.

Introduir la configuració de l’eina

Un proveïdor es pot entendre com un conjunt de valors de configuració que OpenCode utilitza per connectar-se a un servei de models. La documentació del proveïdor tracta un servei compatible amb OpenAI que no apareix sota /connect com un proveïdor personalitzat. Un servei compatible amb OpenAI utilitza el mateix format de sol·licitud i pot ser cridat pel mateix tipus de client.

  1. Executa /connect a OpenCode i desplaça’t fins a Other.
  2. Introdueix un ID de proveïdor. L’exemple següent utilitza omniproxy. Tria un ID que sigui fàcil de recordar perquè has d’utilitzar el mateix al fitxer de configuració.
  3. Introdueix la clau API d’OmniProxy. Aquest pas només desa la credencial; l’adreça i els models encara s’han d’afegir a opencode.json. La credencial s’emmagatzema a ~/.local/share/opencode/auth.json.
  4. Crea o modifica opencode.json al directori del projecte:
{
  "$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" }
      }
    }
  }
}
  1. Executa /models. El proveïdor personalitzat i els seus models apareixeran a la llista.

L’ID introduït sota /connect ha de coincidir amb la clau a opencode.json. No posis una clau secreta real en aquest fitxer. Si no utilitzes /connect, pots utilitzar la sintaxi de variable d’entorn a options.apiKey, com ara {env:VARIABLE_NAME}. En les proves del 09-10-2026 amb OpenCode 1.18.34, posar la clau directament al fitxer options.apiKey del projecte sense utilitzar /connect també es va connectar correctament. Si la gateway no valida la clau, aquest valor pot ser una cadena de text de marcatge utilitzada només a la màquina local. Les claus sota models han d’utilitzar els IDs complets de la llista.

Clau

/connect

  • Selecciona Other a la part inferior
  • Tria el teu propi ID de proveïdor
  • Emmagatzemat a auth.json

Projecte

opencode.json

  • La clau del proveïdor ha d'utilitzar el mateix nom
  • Utilitza un paquet npm compatible
  • baseURL acaba amb /v1

Selecciona

/models

  • El model apareix a la llista
  • Selecciona'n un abans de fer una pregunta
  • Utilitza l'ID de la llista de la gateway
La clau i l'adreça s'emmagatzemen en dos llocs diferents. L'ID del proveïdor ha de ser el mateix en ambdós.

Verificar amb una tasca real

Executa primer una tasca real des del directori del projecte. El format de referència del model és Provider ID/model ID; conserva qualsevol barra inclinada dins de l’ID del model:

opencode run --model omniproxy/claude-sonnet-5-5 --auto "Explain what a file you specify does. Do not modify the file."

--auto permet que aquesta execució utilitzi eines com ara eines de lectura de fitxers. En les proves del 09-10-2026 amb OpenCode 1.18.34, va llegir correctament el contingut del fitxer especificat. La primera execució va trigar uns dos minuts.

Per a un ús interactiu, executa opencode, després selecciona un model amb /models. Pots utilitzar @ per cercar fitxers. Utilitza opencode auth list per confirmar la credencial desada a través de /connect, després comprova els registres de sol·licituds d’OmniProxy per verificar la font i l’ID del model.

Llançament

opencode es llança

  • Primer cd al projecte
  • auth list mostra l'ID
  • El fitxer de configuració és al projecte

Tasca

Ha llegit el codi

  • Pregunta sobre un fitxer específic
  • Revisa la seva explicació
  • Utilitza /undo si és incorrecte

Registres

Visible a la gateway

  • La font és OpenCode
  • L'ID del model coincideix
  • No enviïs la clau
Després de desar el fitxer de configuració, completa una sol·licitud real des de dins del projecte.

Errors comuns

  • OmniProxy no apareix sota /models: Comprova que l’ID introduït sota /connect coincideixi amb la clau a opencode.json, que npm estigui establert a @ai-sdk/openai-compatible, i que baseURL acabi amb /v1.
  • Falta la credencial: Executa opencode auth list. Els proveïdors com Bedrock que depenen de variables d’entorn no apareixen aquí; un proveïdor personalitzat configurat a través de /connect hauria de ser visible.
  • La funcionalitat de Windows és incompleta: Utilitza l’script d’instal·lació dins de WSL en lloc d’això.
  • L’ID del model no és vàlid: Copia’l de nou de la llista actual d’OmniProxy i actualitza la clau corresponent sota models.
  • Les sol·licituds van al punt final incorrecte: Mantingues @ai-sdk/openai-compatible per a chat completions. No canviïs el paquet per a la interfície de respostes tret que aquest model a OmniProxy utilitzi realment /v1/responses.

Referències oficials

Per a la instal·lació, consulta la OpenCode introduction. Per a proveïdors personalitzats, consulta Providers. Per als IDs de model utilitzats als exemples, consulta el Claude model overview i GPT-6 Luna.

Substitueix cada marcador de posició amb valors de la teva pròpia configuració d'OmniProxy. No publiquis mai una clau real.

Un resultat guardat o HTTP 200 sols no demostra compatibilitat completa de l'Agent. Comprova la font i el model al registre de crides d'OmniProxy.

Fonts oficials · OpenCode ↗