Vai al contenuto

Agente OpenCode

L'agente OpenCode è un agente di coding IA open source orientato al terminale. Consente agli sviluppatori di interagire con l'intelligenza artificiale direttamente dall'interfaccia a riga di comando (CLI) per generare codice, risolvere problemi, analizzare repository o automatizzare attività da terminale.

In qualità di alternativa aperta e indipendente dal modello agli strumenti proprietari (come Claude Code), OpenCode si integra perfettamente con la nostra Everyware AI API ospitata in Svizzera. In questo modo tutto il Suo contesto di codice, i Suoi prompt e i Suoi dati sensibili restano interamente all'interno della nostra infrastruttura svizzera altamente sicura.


Funzionalità principali

  • Flusso di lavoro orientato al terminale: interagisca con un'interfaccia utente terminale (TUI) interattiva direttamente nel Suo workspace.
  • Piena sovranità dei dati: instradando il traffico attraverso la nostra Everyware AI API svizzera, i Suoi prompt e il Suo codice sorgente non lasciano mai la Svizzera.
  • Indipendente dal modello: passi in modo flessibile tra modelli e provider diversi.
  • Capacità agentiche: l'agente può analizzare autonomamente le strutture dei progetti, modificare file, eseguire test e correggere bug di programmazione in modo interattivo.
  • Branching del contesto: consente di "riavvolgere" una conversazione per esplorare percorsi di implementazione alternativi senza perdere la cronologia originale.

Installazione

OpenCode può essere installato facilmente tramite uno script di installazione o un gestore di pacchetti su macOS e Linux:

curl -fsSL https://opencode.ai/install | bash
brew install opencode
npm install -g @opencode/cli

Configurazione

Per collegare OpenCode alla nostra Everyware AI API svizzera, può creare un file di configurazione a livello di progetto o globalmente nella Sua directory utente.

1. Salvare la chiave API

Esporti la Sua chiave API virtuale come variabile d'ambiente. Sostituisca sk-bf-... con la Sua chiave effettiva:

mkdir -p ~/.config/opencode
touch ~/.config/ai-ewcs-ch.vkey
chmod 600 ~/.config/ai-ewcs-ch.vkey
echo "sk-bf-..." > ~/.config/ai-ewcs-ch.vkey

2. Creare il file di configurazione

Crei un file denominato opencode.jsonc nella directory del Suo progetto (o globalmente in ~/.config/opencode/opencode.jsonc):

{
  "$schema": "https://opencode.ai/config.json",
  "enabled_providers": ["ew"],
  "providers": {
    "ew": {
      "name": "ew",
      "package": "@opencode/ai/providers/openai-compatible",
      "settings": {
        "baseURL": "https://ai.ewcs.ch/v1",
        "apiKey": "{file:~/.config/ai-ewcs-ch.vkey}"
      },
      "models": {
        "ew/flagship": {
          "name": "ew-flagship",
          "capabilities": {
            "tools": true,
            "input": ["text", "image"],
            "output": ["text"],
            "reasoning": {
              "supported": true,
              "effort": ["none", "low", "high", "xhigh", "max"]
            }
          },
          "settings": { "reasoningEffort": "max" },
          "limit": { "context": 1048576, "output": 131072 }
        },
        "ew/balanced": {
          "name": "ew-balanced",
          "capabilities": {
            "tools": true,
            "input": ["text", "image"],
            "output": ["text"],
            "reasoning": {
              "supported": true,
              "effort": ["low", "high", "max"]
            }
          },
          "settings": { "reasoningEffort": "max" },
          "limit": { "context": 1000000, "output": 131072 }
        },
        "ew/fast": {
          "name": "ew-fast",
          "capabilities": {
            "tools": true,
            "input": ["text", "image"],
            "output": ["text"],
            "reasoning": {
              "supported": true,
              "effort": ["none", "low", "medium", "xhigh"]
            }
          },
          "settings": { "reasoningEffort": "xhigh" },
          "limit": { "context": 262144, "output": 131072 }
        }
      }
    }
  }
}

3. Connessione

Avvii l'agente nella directory del Suo progetto:

opencode

Nel terminale interattivo, esegua il comando /connect, selezioni il provider ew configurato e scelga il modello desiderato tramite il comando /models.


Comandi e flussi di lavoro tipici

Una volta avviato OpenCode, può inserire prompt o comandi slash direttamente nell'interfaccia del terminale:

  • Analisi del codice: "Explain the architecture of this repository and show me where the API calls are made."
  • Refactoring: "Optimize error handling in script/translate_md.py and add unit tests."
  • Eseguire comandi: "Run the linter and fix all reported syntax errors."
  • Comandi TUI:
    • /connect: gestire le connessioni ai provider
    • /models: cambiare il modello LLM attivo
    • /clear: cancellare la cronologia della chat
    • /exit: uscire dalla TUI OpenCode