Agent OpenCode
Le agent OpenCode est un agent de codage IA open source orienté terminal. Il permet aux développeurs d'interagir avec l'intelligence artificielle directement depuis l'interface en ligne de commande (CLI) pour générer du code, résoudre des problèmes, analyser des dépôts ou automatiser des tâches en terminal.
Comme alternative ouverte et indépendante du modèle aux outils propriétaires (comme Claude Code), OpenCode s'intègre parfaitement à notre Everyware AI API hébergée en Suisse. Ainsi, tout votre contexte de code, vos prompts et vos données sensibles restent entièrement au sein de notre infrastructure suisse hautement sécurisée.
Fonctionnalités clés
- Workflow orienté terminal: interagissez avec une interface utilisateur terminal (TUI) interactive directement dans votre espace de travail.
- Souveraineté totale des données: en acheminant le trafic via notre Everyware AI API suisse, vos prompts et votre code source ne quittent jamais la Suisse.
- Indépendant du modèle: basculez de manière flexible entre différents modèles et fournisseurs.
- Capacités agentiques: l'agent peut analyser de manière autonome les structures de projet, modifier des fichiers, exécuter des tests et corriger des bugs de programmation de manière interactive.
- Branchement de contexte: permet de "rembobiner" une conversation pour explorer des pistes d'implémentation alternatives sans perdre l'historique d'origine.
Installation
OpenCode peut être installé facilement à l'aide d'un script d'installation ou d'un gestionnaire de paquets sur macOS et Linux:
curl -fsSL https://opencode.ai/install | bash
brew install opencode
npm install -g @opencode/cli
Configuration
Pour connecter OpenCode à notre Everyware AI API suisse, vous pouvez créer un fichier de configuration au niveau du projet ou globalement dans votre répertoire utilisateur.
1. Enregistrer la clé API
Exportez votre clé API virtuelle comme variable d'environnement. Remplacez sk-bf-... par votre clé réelle:
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. Créer le fichier de configuration
Créez un fichier nommé opencode.jsonc dans le répertoire de votre projet (ou globalement sous ~/.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. Se connecter
Démarrez l'agent dans le répertoire de votre projet:
opencode
Dans le terminal interactif, exécutez la commande /connect, sélectionnez le fournisseur ew configuré, puis sélectionnez le modèle souhaité à l'aide de la commande /models.
Commandes et workflows typiques
Une fois OpenCode démarré, vous pouvez saisir des prompts ou des commandes slash directement dans l'interface terminal:
- Analyse de code:
"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." - Exécuter des commandes:
"Run the linter and fix all reported syntax errors." - Commandes TUI:
/connect: gérer les connexions aux fournisseurs/models: changer le modèle LLM actif/clear: effacer l'historique du chat/exit: quitter la TUI OpenCode