|
8 | 8 | </a> |
9 | 9 | </p> |
10 | 10 |
|
11 | | -<p align="center"><b>OpenCode : L'Agentic Operating System (V3)</b></p> |
12 | | -<p align="center">L'assistant de codage open-source, sécurisé et doté d'une conscience cognitive.</p> |
| 11 | +<p align="center"><b>OpenCode — L'OS de Codage Agentique Open-Source</b></p> |
| 12 | +<p align="center">Assistant IA multi-provider avec memoire long-terme, securite adaptive et planification parallele.</p> |
13 | 13 |
|
14 | 14 | <p align="center"> |
15 | 15 | <a href="https://discord.gg/opencode"><img alt="Discord" src="https://img.shields.io/discord/1391832426048651334?style=flat-square&label=discord" /></a> |
16 | 16 | <a href="https://github.com/Rwanbt/opencode"><img alt="GitHub" src="https://img.shields.io/github/stars/Rwanbt/opencode?style=flat-square" /></a> |
17 | | - <a href="https://github.com/Rwanbt/opencode/actions/workflows/publish.yml"><img alt="Statut de Build" src="https://img.shields.io/github/actions/workflow/status/Rwanbt/opencode/publish.yml?style=flat-square&branch=dev" /></a> |
| 17 | + <a href="https://github.com/Rwanbt/opencode/actions/workflows/release-gate.yml"><img alt="Release gate" src="https://img.shields.io/github/actions/workflow/status/Rwanbt/opencode/release-gate.yml?style=flat-square&branch=main&label=release-gate" /></a> |
18 | 18 | </p> |
19 | 19 |
|
| 20 | +<p align="center"><a href="README.md">English</a></p> |
| 21 | + |
20 | 22 | --- |
21 | 23 |
|
22 | | -## 🚀 Qu'est-ce qu'OpenCode (Agent OS Edition) ? |
| 24 | +## Qu'est-ce qu'OpenCode ? |
23 | 25 |
|
24 | | -OpenCode n'est plus un simple assistant de code. Avec la version **Agent OS V3**, il évolue vers une **infrastructure cognitive complète**. Il ne se contente pas d'exécuter des commandes ; il planifie, audite, protège vos secrets et synthétise ses propres connaissances. |
| 26 | +OpenCode est un CLI de codage IA open-source (MIT) qui se connecte a **15+ providers LLM** et ajoute une infrastructure cognitive : memoire long-terme structuree, detection de secrets par entropie, planification DAG avec sandboxing git, et annulation physique via snapshots git. |
25 | 27 |
|
26 | | -### 🌟 Fonctionnalités Exclusives (V2/V3) |
| 28 | +Il est distribue sous forme de binaire Bun compile pour Linux, macOS et Windows, avec un TUI integre, une interface web embarquee, des applications desktop (Tauri + Electron) et un systeme de plugins. |
27 | 29 |
|
28 | | -#### 🧠 Mémoire TurboQuant V3 (LTM) |
29 | | -Contrairement aux mémoires plates habituelles, TurboQuant gère une **structure de vérité** : |
30 | | -- **Scores de Confiance :** Chaque leçon apprise est pondérée par sa fiabilité. |
31 | | -- **Auto-Dream (Synthèse) :** Une fois par jour, l'agent fusionne ses fragments de connaissances en principes architecturaux consolidés. |
32 | | -- **Résolution de Conflits :** Détecte et arbitre les contradictions entre les leçons apprises. |
| 30 | +### Providers supportes |
33 | 31 |
|
34 | | -#### 🛡️ AgentShield 2.0 (Sécurité Adaptative) |
35 | | -Une protection contre les fuites de données (DLP) de niveau industriel : |
36 | | -- **Shannon Entropy :** Détecte les secrets inconnus par leur niveau de randomness mathématique. |
37 | | -- **Context-Aware :** Adapte ses seuils de vigilance selon que vous manipulez un `.env` ou un log de build Git. |
38 | | -- **Git Whitelist :** Ignore intelligemment les hashes de commit pour éviter les faux-positifs. |
| 32 | +Anthropic, OpenAI, Google (Gemini / Vertex), Amazon Bedrock, Azure OpenAI, Groq, Mistral, Cohere, Perplexity, Together AI, DeepInfra, Cerebras, xAI, OpenRouter, et tout endpoint compatible OpenAI. |
39 | 33 |
|
40 | | -#### 🏗️ Planification Parallèle (DAG) |
41 | | -L'agent utilise désormais un **Graphe Acyclique Dirigé (DAG)** pour orchestrer ses tâches. |
42 | | -- **Isolation (Sandboxing) :** Pour les tâches parallèles, l'agent crée automatiquement des **branches Git temporaires**, isolant ses expérimentations du code principal jusqu'à validation. |
| 34 | +--- |
43 | 35 |
|
44 | | -#### 📸 Hard Safety (Restaurations Physique) |
45 | | -Oubliez les "Undo" approximatifs. OpenCode utilise des **Git Snapshots** physiques via `git stash`. Vous pouvez revenir à un état antérieur du projet en une commande, avec une garantie de 100% sur l'intégrité des fichiers. |
| 36 | +## Installation |
46 | 37 |
|
47 | | ---- |
| 38 | +### Prerequis |
48 | 39 |
|
49 | | -## 📦 Installation |
| 40 | +- [Bun](https://bun.sh/) >= 1.3.11 |
| 41 | +- Git |
| 42 | +- Une cle API pour au moins un provider supporte |
| 43 | + |
| 44 | +### Depuis les sources |
50 | 45 |
|
51 | 46 | ```bash |
52 | | -# Installation depuis le fork Agent OS |
53 | 47 | git clone https://github.com/Rwanbt/opencode.git |
54 | 48 | cd opencode |
55 | | -pnpm install |
56 | | -pnpm build |
57 | | -npm link # Pour utiliser la commande 'opencode' partout |
| 49 | +bun install |
| 50 | +bun --cwd packages/opencode run dev -- --help |
| 51 | +``` |
| 52 | + |
| 53 | +### Compiler un binaire |
| 54 | + |
| 55 | +```bash |
| 56 | +bun --cwd packages/opencode run build --single |
| 57 | +# Sortie : packages/opencode/dist/*/bin/opencode |
| 58 | +``` |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +## Demarrage rapide |
| 63 | + |
| 64 | +```bash |
| 65 | +# Configurer votre cle provider |
| 66 | +export ANTHROPIC_API_KEY="sk-..." |
| 67 | + |
| 68 | +# Lancer une session interactive |
| 69 | +opencode |
| 70 | + |
| 71 | +# Executer une tache ponctuelle |
| 72 | +opencode run "ajouter la gestion d'erreurs a src/server.ts" |
| 73 | + |
| 74 | +# Commandes passives (boot instantane, pas d'init DB) |
| 75 | +opencode --help |
| 76 | +opencode --version |
| 77 | +opencode generate # Generer le spec OpenAPI |
| 78 | +opencode models # Lister les modeles disponibles |
| 79 | +opencode providers # Lister les providers configures |
| 80 | +opencode stats # Statistiques de sessions et d'utilisation |
58 | 81 | ``` |
59 | 82 |
|
60 | 83 | --- |
61 | 84 |
|
62 | | -## 🛠️ Utilisation Avancée |
| 85 | +## Fonctionnalites principales |
| 86 | + |
| 87 | +### Multi-Provider (15+) |
| 88 | + |
| 89 | +Passez d'un provider a l'autre a tout moment. Pas de lock-in. Apportez vos propres cles API. |
| 90 | + |
| 91 | +### TurboQuant — Memoire Long-Terme Structuree |
| 92 | + |
| 93 | +Contrairement aux fichiers de memoire plats, TurboQuant maintient une **structure de verite** : |
| 94 | +- **Scores de confiance** — chaque lecon apprise est ponderee par sa fiabilite |
| 95 | +- **Synthese Auto-Dream** — consolidation quotidienne automatique des fragments de connaissances en principes architecturaux |
| 96 | +- **Resolution de conflits** — detecte et arbitre les contradictions entre les lecons apprises |
63 | 97 |
|
64 | | -OpenCode propose plusieurs sub-agents spécialisés : |
| 98 | +### AgentShield — Securite Adaptive (DLP) |
65 | 99 |
|
66 | | -- **Buddy CLI :** Ton compagnon interactif. Configure ses thèmes (`CYBER`, `STEALTH`) et sa verbosité. |
67 | | -- **Critic :** Le censeur invisible qui audite chaque changement et chaque nouvelle mémoire avant validation. |
68 | | -- **Planner :** Utilise `task.md` pour définir le graphe de dépendances de ton projet. |
| 100 | +Protection contre les fuites de donnees de niveau production : |
| 101 | +- **Detection par entropie de Shannon** — detecte les secrets inconnus par leur niveau de randomness mathematique |
| 102 | +- **Seuils contextuels** — adapte la sensibilite selon le type de fichier (`.env` vs logs de build) |
| 103 | +- **Whitelist Git** — ignore intelligemment les hashes de commit pour eviter les faux positifs |
| 104 | + |
| 105 | +### Planification Parallele (DAG) |
| 106 | + |
| 107 | +Les taches sont orchestrees via un Graphe Acyclique Dirige : |
| 108 | +- **Sandboxing Git** — les taches paralleles s'executent dans des worktrees git isoles |
| 109 | +- **Merge automatique** — les resultats sont valides avant d'etre fusionnes dans la branche principale |
| 110 | + |
| 111 | +### Hard Safety — Annulation Physique |
| 112 | + |
| 113 | +Snapshots via `git stash`. Restaurez n'importe quel etat precedent du projet avec une garantie d'integrite. |
| 114 | + |
| 115 | +### Systeme de Plugins |
| 116 | + |
| 117 | +Extensible via des plugins TypeScript avec des hooks pour la transformation de messages, la securite et l'integration d'outils. |
| 118 | + |
| 119 | +### Support MCP |
| 120 | + |
| 121 | +Client et serveur Model Context Protocol natifs pour l'integration d'outils, ressources et prompts. |
| 122 | + |
| 123 | +--- |
| 124 | + |
| 125 | +## Developpement |
69 | 126 |
|
70 | 127 | ```bash |
71 | | -# Lancer Buddy en mode Cyber |
72 | | -opencode config set buddy.theme CYBER |
| 128 | +# Installer les dependances |
| 129 | +bun install |
| 130 | + |
| 131 | +# Lancer en mode dev |
| 132 | +bun --cwd packages/opencode run dev |
| 133 | + |
| 134 | +# Verification de types (zero erreur requise) |
| 135 | +bun run typecheck |
| 136 | + |
| 137 | +# Lancer les tests |
| 138 | +bun --cwd packages/opencode run test |
73 | 139 |
|
74 | | -# Consulter l'audit de mémoire |
75 | | -opencode audit_memory list |
| 140 | +# Gate de release (typecheck, tests, build + smoke binaire) |
| 141 | +bun --cwd packages/opencode run release:gate |
76 | 142 | ``` |
77 | 143 |
|
| 144 | +### Convention de branches |
| 145 | + |
| 146 | +- `main` — production, toujours vert |
| 147 | +- `dev` — developpement actif |
| 148 | +- Les branches feature mergent dans `dev`, puis `dev` merge dans `main` |
| 149 | + |
78 | 150 | --- |
79 | 151 |
|
80 | | -## 🏗️ Architecture "Cognitive OS" |
| 152 | +## Contribuer |
81 | 153 |
|
82 | | -L'architecture repose sur un cycle **OODA (Observe, Orient, Decide, Act)** boosté : |
83 | | -1. **Observe :** Analyse du workspace et des logs. |
84 | | -2. **Orient :** Récupération mémorielle (TurboQuant) + Analyse de sécurité (AgentShield). |
85 | | -3. **Decide :** Planification non-linéaire (DAG Planner). |
86 | | -4. **Act :** Exécution avec Sandboxing Git. |
87 | | -5. **Learn :** Audit par le Critic et Synthèse (Auto-Dream). |
| 154 | +Voir [CONTRIBUTING.md](CONTRIBUTING.md) pour la configuration de l'environnement et les directives. |
88 | 155 |
|
89 | 156 | --- |
90 | 157 |
|
91 | | -## 🤝 Contribuer |
| 158 | +## Licence |
92 | 159 |
|
93 | | -Nous croyons en un futur où le code est écrit en symbiose entre l'humain et l'agent. Rejoignez-nous pour repousser les limites de ce qui est possible dans un terminal. |
94 | | - |
95 | | -[Dépôt GitHub](https://github.com/Rwanbt/opencode) | [Documentation (Wiki)](https://github.com/Rwanbt/opencode/wiki) |
| 160 | +[MIT](LICENSE) |
96 | 161 |
|
97 | 162 | --- |
98 | | -<p align="center">Fait avec ❤️ pour la communauté Neovim & Terminal.</p> |
| 163 | + |
| 164 | +<p align="center">Fait avec soin pour la communaute terminal.</p> |
0 commit comments