| 1 | <!-- source: README.md sha256:604da19bff2c --> |
| 2 | <div align="center"> |
| 3 | |
| 4 | <picture> |
| 5 | <source media="(prefers-color-scheme: dark)" srcset="brand/wordmark-inverted.svg"> |
| 6 | <img src="brand/wordmark.svg" alt="Codewhale" width="320"> |
| 7 | </picture> |
| 8 | |
| 9 | **L’agent de code open source qui fonctionne avec n’importe quel modèle.** |
| 10 | |
| 11 | Codewhale lit votre projet, modifie des fichiers, exécute des commandes et vérifie son propre |
| 12 | travail — dans votre terminal, avec un modèle hébergé ou local de votre choix. |
| 13 | |
| 14 | [](https://github.com/codewhale-hq/CodeWhale/actions/workflows/ci.yml) |
| 15 | [](https://crates.io/crates/codewhale-cli) |
| 16 | [](https://www.npmjs.com/package/codewhale) |
| 17 | [](LICENSE) |
| 18 | [](https://discord.gg/37gfS3ksug) |
| 19 | |
| 20 | [Site web](https://codewhale.net) · [Documentation](docs/README.md) · [Journal des modifications](CHANGELOG.md) · [Contribuer](CONTRIBUTING.md) |
| 21 | |
| 22 | [English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) · [Tiếng Việt](README.vi.md) · [Bahasa Indonesia](README.id.md) · [한국어](README.ko-KR.md) · [Español](README.es-419.md) · [Português](README.pt-BR.md) · [Русский](README.ru.md) · [Українська](README.uk.md) · [Deutsch](README.de.md) · [繁體中文](README.zh-TW.md) · [हिन्दी](README.hi.md) · [Türkçe](README.tr.md) · [Italiano](README.it.md) · [Polski](README.pl.md) · [العربية](README.ar.md) · [Català](README.ca.md) |
| 23 | |
| 24 | <img src="web/public/codewhale-tui-8ba2bbf.png" alt="Une session de terminal Codewhale" width="760"> |
| 25 | |
| 26 | <sub>Capture réelle du terminal sur une installation neuve — aucune sortie mise en scène.</sub> |
| 27 | |
| 28 | </div> |
| 29 | |
| 30 | ## Installation |
| 31 | |
| 32 | macOS et Linux : |
| 33 | |
| 34 | ```bash |
| 35 | curl -fsSL https://codewhale.net/install.sh | sh |
| 36 | ``` |
| 37 | |
| 38 | L’installeur télécharge des binaires dont la somme de contrôle est vérifiée dans `~/.local/bin`. Si |
| 39 | `codewhale` répond ensuite « command not found », exécutez l’unique ligne PATH que l’installeur |
| 40 | affiche, ou consultez [Ajouter au PATH](docs/INSTALL.md#put-it-on-your-path). |
| 41 | Mettez à jour à tout moment avec `codewhale update`. |
| 42 | |
| 43 | <details> |
| 44 | <summary><b>Windows, npm, Cargo et autres méthodes</b></summary> |
| 45 | |
| 46 | ```bash |
| 47 | winget install HunterBown.CodeWhale # Windows x64 (or Scoop, or the installer from GitHub Releases) |
| 48 | npm install -g codewhale # wraps the same release binaries |
| 49 | cargo install codewhale-cli --locked # build from crates.io |
| 50 | ``` |
| 51 | |
| 52 | Docker, Nix, Homebrew sous Linux, Android/Termux, les téléchargements manuels avec vérification |
| 53 | des sommes de contrôle et le miroir CNB facultatif sont décrits dans le |
| 54 | [guide d’installation](docs/INSTALL.md). Choisissez une seule méthode : plusieurs installations |
| 55 | sur une même machine finissent par se disputer le `PATH`. |
| 56 | |
| 57 | </details> |
| 58 | |
| 59 | ## Démarrage rapide |
| 60 | |
| 61 | 1. **Ouvrez votre projet.** Lancez `codewhale` dans le dossier sur lequel vous voulez travailler. |
| 62 | 2. **Connectez un modèle.** Lancez `/provider` (ou appuyez sur `F3`) pour ajouter une clé |
| 63 | hébergée ou choisir un runtime local. Si Ollama est déjà en cours d’exécution avec un modèle |
| 64 | de chat, Codewhale bascule dessus automatiquement. Utilisez `/model` pour changer de modèle. |
| 65 | 3. **Donnez-lui une tâche concrète.** |
| 66 | |
| 67 | ```text |
| 68 | Fix the failing tests and explain what changed. |
| 69 | ``` |
| 70 | |
| 71 | La même tâche s’exécute sans interface depuis un script ou un job CI : |
| 72 | |
| 73 | ```bash |
| 74 | codewhale exec "fix the failing tests and explain what changed" |
| 75 | ``` |
| 76 | |
| 77 | Lancez `/help` pour les commandes et les raccourcis clavier. |
| 78 | |
| 79 | ## Façons de l’exécuter |
| 80 | |
| 81 | Chaque client pilote le même Runtime Codewhale local ; les sessions, les outils et les |
| 82 | permissions se comportent donc de la même façon partout. |
| 83 | |
| 84 | | Commande | Ce qu’elle fait | |
| 85 | | --- | --- | |
| 86 | | `codewhale` | L’interface interactive dans le terminal | |
| 87 | | `codewhale exec "…"` | Un tour sans interface depuis un script ou la CI, avec sortie JSON en flux | |
| 88 | | `codewhale web` | Le [client de navigateur local](docs/WEB.md) fourni, sur `127.0.0.1` | |
| 89 | | `codewhale review --pr N` | Une [revue de pull request](docs/GITHUB_ACTION.md) à titre consultatif ; la publication est facultative | |
| 90 | | Runtime API | Une [API HTTP locale](docs/RUNTIME_API.md) pour les fils, les événements et les approbations | |
| 91 | |
| 92 | Une application de bureau native (GPUI) est en cours de développement comme client du produit |
| 93 | pour les utilisateurs connectés ; consultez la |
| 94 | [page produit](https://codewhale.net/en/product) pour sa disponibilité. L’[extension VS Code](https://marketplace.visualstudio.com/items?itemName=HengQuWorld.brotherwhale-vscode) |
| 95 | maintenue par la communauté se connecte au même Runtime depuis une barre latérale ([source](https://github.com/HengQuWorld/CodeWhale-VSCode)). |
| 96 | |
| 97 | ## Ce qu’il fait |
| 98 | |
| 99 | - **N’importe quel modèle, sans enfermement.** Plus de 40 routes de fournisseurs intégrées — |
| 100 | Anthropic, DeepSeek, Google, Mistral, Moonshot, OpenAI, OpenRouter, xAI et d’autres — ainsi que |
| 101 | tout point d’accès compatible OpenAI et des modèles locaux via Ollama, vLLM ou SGLang. |
| 102 | [Fournisseurs](docs/PROVIDERS.md) |
| 103 | - **Vous gardez le contrôle.** Le mode Plan explore sans rien modifier ; Work et Operate |
| 104 | apportent des modifications. Les postures d’approbation décident quand un appel d’outil |
| 105 | nécessite votre accord, `/undo` et `/restore` récupèrent les modifications de l’espace de |
| 106 | travail, et `/receipts` liste chaque fichier, commande et approbation d’une session. |
| 107 | [Modes](docs/MODES.md) · [Reçus](docs/RECEIPTS.md) |
| 108 | - **Conçu pour les longues tâches.** Fixez un `/goal` durable, déléguez un travail délimité à des |
| 109 | [sous-agents](docs/SUBAGENTS.md), lancez des [équipes d’agents](docs/FLEET.md) supervisées avec |
| 110 | une vérification avant dépense, ou scriptez-les sous forme de |
| 111 | [workflows](docs/WORKFLOW_AUTHORING.md) versionnés. |
| 112 | - **Prolongez ce que vous utilisez déjà.** Connectez des [serveurs MCP](docs/MCP.md), installez |
| 113 | des [skills](docs/SKILLS.md) et des [plugins](docs/PLUGINS.md), exécutez des |
| 114 | [hooks](docs/HOOKS.md) sur les événements de session et d’outil, et chargez les |
| 115 | [plugins Claude Code](docs/CLAUDE_PLUGIN_COMPAT.md) existants. |
| 116 | - **Computer Use.** Un plugin inclus ajoute des outils pour observer et utiliser d’autres |
| 117 | applications. Examinez ses accès et activez-le avant de l’utiliser. |
| 118 | [Guide](crates/tui/plugins/computer-use/README.md) |
| 119 | |
| 120 | ## Modes et permissions |
| 121 | |
| 122 | | | Choisir avec | Options | |
| 123 | | --- | --- | --- | |
| 124 | | **Mode** — ce que fait l’agent | `Tab` ou `/mode` | Plan (explorer, sans modification) · Work (modifier et exécuter) · Operate (mener un objectif par des étapes planifiées et vérifiées) | |
| 125 | | **Posture** — quand il demande d’abord | `Shift+Tab` | Ask · Auto-Review · Full Access | |
| 126 | |
| 127 | Full Access respecte toujours les limites impératives des politiques. Le |
| 128 | [guide des modes et des permissions](docs/MODES.md) explique chaque option. |
| 129 | |
| 130 | ## Sécurité |
| 131 | |
| 132 | Codewhale s’exécute sur votre machine avec les accès que vous lui accordez. Les postures |
| 133 | d’approbation et les règles du dépôt limitent ce que l’agent peut faire, et les commandes |
| 134 | s’exécutent dans un bac à sable du système d’exploitation lorsqu’il est pris en charge (Seatbelt |
| 135 | sur macOS ; bubblewrap sous Linux est facultatif). `/preview-request` affiche la requête exacte, |
| 136 | expurgée, avant tout envoi. Le prix d’un modèle inconnu reste inconnu au lieu d’être présenté |
| 137 | comme gratuit. |
| 138 | |
| 139 | Consultez l’[ordre d’autorisation](docs/AUTHORIZATION_ORDER.md), |
| 140 | le [bac à sable](docs/SANDBOX.md) et la [télémétrie](docs/TELEMETRY.md) — les compteurs |
| 141 | d’utilisation sont activés par défaut et `codewhale config set telemetry false` les désactive. |
| 142 | |
| 143 | ## Documentation |
| 144 | |
| 145 | | Pour commencer | Pour aller plus loin | |
| 146 | | --- | --- | |
| 147 | | [Installation](docs/INSTALL.md) | [Configuration](docs/CONFIGURATION.md) | |
| 148 | | [Fournisseurs et modèles locaux](docs/PROVIDERS.md) | [Architecture](docs/ARCHITECTURE.md) | |
| 149 | | [Modes et permissions](docs/MODES.md) | [Runtime API](docs/RUNTIME_API.md) | |
| 150 | | [Raccourcis clavier](docs/KEYBINDINGS.md) | [Création de plugins](docs/PLUGIN_AUTHORING.md) | |
| 151 | | [Revue de PR GitHub](docs/GITHUB_ACTION.md) | [Toute la documentation](docs/README.md) | |
| 152 | |
| 153 | ## Communauté |
| 154 | |
| 155 | Les signalements de bugs, les idées de fonctionnalités et les pull requests sont les bienvenus, |
| 156 | que vous utilisiez Codewhale depuis des mois ou que vous l’essayiez pour la première fois. |
| 157 | S’il manque un fournisseur ou si un workflow est peu pratique, |
| 158 | [ouvrez une issue](https://github.com/codewhale-hq/CodeWhale/issues/new/choose) ou |
| 159 | [envoyez une pull request](CONTRIBUTING.md). Les premières contributions sont les bienvenues, et |
| 160 | les personnes qui contribuent restent créditées pour le travail intégré. |
| 161 | L’[organisation du dépôt](CONTRIBUTING.md#project-structure) est un bon point de départ. |
| 162 | |
| 163 | Rejoignez le [Discord](https://discord.gg/37gfS3ksug), ou ajoutez Hunter sur WeChat |
| 164 | (`hunterbown`) et demandez à rejoindre le groupe Whale Brothers. |
| 165 | |
| 166 | ## Historique et licence |
| 167 | |
| 168 | Codewhale a commencé sous le nom de `deepseek-tui` et lit toujours la configuration et les |
| 169 | sessions de ce projet. Il est désormais indépendant de tout fournisseur, maintenu de manière |
| 170 | autonome, et n’est affilié à aucun fournisseur de modèles. Merci à |
| 171 | [toutes les personnes qui contribuent](docs/CONTRIBUTORS.md) et aux communautés open source qui |
| 172 | l’ont aidé à grandir. |
| 173 | |
| 174 | [MIT](LICENSE). Les parties adaptées d’autres projets open source sont indiquées dans les |
| 175 | [mentions tierces](docs/THIRD_PARTY_NOTICES.md). |
| 176 |