GitHub Hot Board

GitHub Hot Board · Archive du dépôt

codewhale-hq/Codewhale

Open-source agent for the terminal written in Rust. Use any provider or model. Issues & PRs always welcome (Cette description provient du dépôt lui-même.)

Données au October 23codewhale-hq

Meilleur rang

#45

Champions de tous les temps · Rust

41K

Étoiles totales

3.6K

Forks totaux

2

Jours classés (30 j)

Documentation du projet

Codewhale

Un agent de code open source pour votre terminal qui fonctionne avec n’importe quel modèle.

Donnez une tâche à Codewhale : il lit le dépôt, modifie des fichiers et exécute des commandes jusqu’à ce que la tâche soit terminée ou qu’il ait besoin d’une réponse de votre part. Il fonctionne avec plus de 40 fournisseurs intégrés, DeepSeek V4.1 Flash par défaut, ainsi qu’avec des modèles qui tournent sur votre propre machine. /receipts liste les fichiers qu’il a modifiés, les commandes qu’il a exécutées et les appels web et MCP qu’il a effectués.

CI crates.io npm License: MIT Discord

Site web · Documentation · Journal des modifications · Contribuer

English · 简体中文 · 日本語 · Tiếng Việt · Bahasa Indonesia · 한국어 · Español · Português · Русский · Українська · Deutsch · 繁體中文 · हिन्दी · Türkçe · Italiano · Polski · العربية · Català

Une session de terminal Codewhale

Une version de développement de la 0.10.2 avec un modèle de test scripté, en Full Access dans un espace de travail jetable. La modification, trois tests et une revue par un sous-agent ont réellement été exécutés.

Codewhale × OrcaRouter — 30 % d’utilisation de DeepSeek v4.1 Flash en plus

Voir l’offre Codewhale × OrcaRouter. Codewhale reçoit une commission de recommandation d’OrcaRouter.

Installation

macOS et Linux :

curl -fsSL https://codewhale.net/install.sh | sh

L’installeur place codewhale et son alias court codew dans ~/.local/bin, après vérification de leur somme de contrôle. Si votre shell répond ensuite command not found, exécutez la ligne PATH qu’affiche l’installeur (détails). codewhale update le met à jour. Ces commandes installent la dernière version publiée. Cette page suit main : une fonctionnalité marquée d’un numéro de version arrive avec cette version, et le journal des modifications liste ce qu’apporte chaque version.

Windows, npm, Cargo et autres méthodes d’installation
winget install HunterBown.CodeWhale  # Windows x64 (or Scoop, or the installer from GitHub Releases)
npm install -g codewhale            # wraps the same release binaries
cargo install codewhale-cli --locked  # crates.io; can trail GitHub Releases

Des binaires précompilés sont fournis pour Linux, macOS et Windows, en x64 et arm64. Nix, Homebrew sous Linux, Android/Termux (préversion) et les téléchargements manuels sont décrits dans le guide d’installation, et les conteneurs dans Docker. Tenez-vous-en à une seule méthode d’installation par machine ; sinon, deux copies se retrouvent dans le PATH et c’est la première trouvée qui l’emporte.

Démarrage rapide

  1. Commitez ou mettez de côté (stash) votre travail, puis lancez codewhale à la racine d’un dépôt git. Par défaut, il y applique les modifications de fichiers sans demander et vous montre le diff.
  2. Lancez /provider (ou appuyez sur F3), choisissez un fournisseur, collez sa clé API et choisissez un modèle. DeepSeek est le fournisseur par défaut. Sans clé, choisissez plutôt un runtime local. Si aucun fournisseur n’est configuré et qu’Ollama sert déjà un modèle de chat, Codewhale l’utilise automatiquement ; à partir de la 0.10.2, il vous le propose lorsque vous envoyez votre premier message.
  3. Saisissez une tâche :
Fix the failing tests and explain what changed.

Les commandes en lecture seule s’exécutent immédiatement. Pour toute autre commande shell, Codewhale demande d’abord : y l’exécute une fois, a autorise les commandes similaires pour le reste de la conversation, n refuse. /undo annule votre dernière demande et ses modifications de fichiers. /help liste les commandes et les touches.

Pour les scripts et la CI, codewhale exec exécute une tâche sans l’interface. Par défaut, --auto utilise Full Access : les outils s’exécutent sans demander, les commandes shell n’ont pas de bac à sable Codewhale et le mode de confiance permet aux outils de fichiers d’écrire en dehors de l’espace de travail. Ajoutez --sandbox workspace-write pour conserver le bac à sable du shell et les restrictions des outils de fichiers à l’espace de travail, avec le mode de confiance désactivé :

codewhale exec --auto --sandbox workspace-write "fix the failing tests and explain what changed"

Modes et permissions

Une nouvelle installation démarre en mode Work avec la permission Ask.

Changer avec Options
Mode Tab (quand la saisie est vide) ou /mode Plan lit et effectue des recherches, mais ne modifie rien. Work modifie des fichiers et exécute des commandes. Operate a les mêmes accès que Work, traite votre demande comme un objectif et continue jusqu’à ce que l’objectif soit vérifié ou qu’il ait besoin d’une réponse de votre part.
Permission Shift+Tab Ask applique sans demander les modifications de fichiers dans votre dépôt et demande avant les commandes shell qui ne sont pas en lecture seule. Auto-Review laisse des règles et un modèle de revue approuver les appels courants et refuse ceux à haut risque ; passez en Ask pour les approuver vous-même. Full Access ne demande jamais et désactive le bac à sable de Codewhale ; les règles du dépôt et la politique gérée s’appliquent toujours.

Le guide des modes et des permissions donne les détails.

Ce qu’il fait

Nouveautés de la 0.10.2

  • /pet on transforme votre terminal en une baleine animée qui montre ce que fait l’agent, tandis que la zone de message reste utilisable. Ses 980 particules écrivent l’étape en cours en anglais, en chinois ou en japonais.
  • /workbar terminal affiche les shells que l’agent exécute, pendant leur exécution. Tapez dans l’un d’eux, ou appuyez sur Ctrl+N pour ouvrir votre propre shell (macOS et Linux).
  • /undo annule toute votre dernière demande en une seule étape, y compris chaque fichier qu’elle a modifié, et /diff fonctionne dans les dossiers sans Git.
  • Quand un plan est prêt, Codewhale demande s’il faut lancer Work avec Ask ou Auto-Review, ou continuer à planifier.
  • /color donne à chaque conversation sa propre couleur de zone de saisie, enregistrée avec la session.
  • web_search peut utiliser la nouvelle Search API de DeepSeek : définissez [search] provider = "deepseek" avec une clé DeepSeek.
  • En dehors de Full Access, un curl ou un wget qui enverrait des informations d’identification ne s’exécute jamais sans votre approbation, et une commande qui dissimule de l’Unicode invisible est refusée. write ne remplace plus un fichier que l’agent n’a pas lu, ni un fichier modifié après qu’il l’a lu.

Modèles

Plus de 40 fournisseurs sont intégrés, dont Anthropic, OpenAI, DeepSeek, Google, Mistral, Moonshot, OpenRouter et xAI. Tout point d’accès compatible OpenAI fonctionne, tout comme les modèles locaux via Ollama, vLLM ou SGLang. Le modèle par défaut est deepseek-flash de DeepSeek, que DeepSeek a fait passer à DeepSeek-V4.1-Flash-1017 le 2026-10-17 ; la 0.10.1 l’exécute sans mise à jour (détails).

/model change de modèle entre deux tours, et /model auto en choisit un pour chaque tour (/router permet de régler comment). /turn inspect montre quel modèle un tour a utilisé, ce qu’il a coûté et combien de temps il a pris. codewhale auth chatgpt vous permet d’utiliser un abonnement ChatGPT au lieu d’une clé API (expérimental). Voir Fournisseurs.

Reçus et annulation

/receipts, ou codewhale receipts --last après avoir quitté, liste les fichiers modifiés, les commandes exécutées, les appels web et MCP, les agents lancés, les approbations et qui les a données, ainsi que les échecs. /undo annule votre dernière demande et les fichiers qu’elle a modifiés, en une seule étape et sans mode de confiance. /restore ramène tout l’espace de travail à un instantané antérieur ; comme cela écrase les modifications ultérieures, il faut /trust on ou Full Access. Voir Reçus.

Les exécutions d’exec qui proposent des outils sont enregistrées dans tous les formats de sortie ; codewhale receipts --last fonctionne donc après exec --auto, y compris avec --json. Les exécutions qui se limitent à une réponse en texte ou avec --json ne sont enregistrées que lors d’une reprise ou lorsque la compaction de la conversation commence ; utilisez --output-format stream-json pour toujours les enregistrer pour les reçus ou pour exec --continue.

Travail de longue durée

/goal fixe un objectif qui se maintient d’un tour à l’autre. Codewhale peut répartir le travail entre des sous-agents, faire tourner une flotte d’agents ou suivre un workflow versionné dans le dépôt.

Venir d’un autre agent

Codewhale lit AGENTS.md de lui-même. Les fichiers d’instructions écrits pour d’autres outils, comme CLAUDE.md, .cursorrules ou .github/copilot-instructions.md, ne sont chargés que si vous l’activez explicitement avec project_instruction_imports = ["claude"] (ou "cursor", "cline", "windsurf", "copilot", "all") dans votre configuration ; voir config.example.toml. Codewhale vous avertit lorsqu’il en trouve un qu’il n’a pas chargé.

/import-claude prépare une importation de vos paramètres Claude Code et de vos serveurs MCP, pour que vous la vérifiiez. /plugin install accepte les plugins Claude Code contenant des skills, des commandes, des profils d’agent et des serveurs MCP, et refuse ceux qui ont besoin de hooks ou de serveurs LSP (détails).

Extensions

Connectez des serveurs MCP, ajoutez des skills et des plugins, et exécutez des hooks sur les événements de session et d’outil. Le mode code (expérimental, activé par défaut) permet au modèle d’écrire un seul programme execute_tools qui appelle plusieurs outils MCP et de plugins ; chaque appel reste soumis à vos règles d’approbation et conserve son reçu. Le plugin Computer Use fourni (expérimental, macOS uniquement) peut observer et utiliser d’autres applications. Il reste désactivé tant que vous n’avez pas examiné ses accès et ne l’avez pas activé (guide).

Façons de l’exécuter

Commande Ce qu’elle fait
codewhale L’application interactive dans le terminal
codewhale exec "…" Une tâche sans l’interface. Sans option, il répond sans utiliser d’outils ; --auto active les outils avec Full Access par défaut, --sandbox workspace-write les restreint, et --output-format stream-json diffuse les événements en JSON
codewhale web Une interface web locale sur 127.0.0.1 (guide)
codewhale review --pr N Une revue consultative d’une pull request GitHub. Elle ne publie rien sauf si vous ajoutez --post ; la GitHub Action exécute la même revue en CI
codewhale app-server --http La Runtime API, une API HTTP locale pour les fils, les événements, les approbations et les modifications de fichiers de chaque tour
codewhale serve --acp L’Agent Client Protocol sur stdio, pour des éditeurs comme Zed

L’application de terminal, exec, web et la Runtime API partagent un seul moteur (architecture). Une extension VS Code maintenue par la communauté s’y connecte depuis la barre latérale (source). Une application de bureau native reposant sur la Runtime API est en cours de développement ; elle n’est pas encore disponible en téléchargement public.

Coût et comptes

Codewhale est gratuit et sous licence MIT. Avec votre propre clé API, vous payez directement le fournisseur ; les modèles locaux ne nécessitent aucune clé. Le pied de page et /cost indiquent ce qu’une session a coûté lorsque le prix est connu ; un prix inconnu est affiché comme inconnu, jamais comme gratuit.

Aucun compte n’est nécessaire. Les clés que vous ajoutez avec /provider restent sur votre machine.

Sécurité et confidentialité

En Ask et en Auto-Review, les commandes s’exécutent dans un bac à sable du système d’exploitation lorsque le système en propose un : Seatbelt sur macOS, et bubblewrap sous Linux lorsqu’il est installé. Windows n’a pas encore de bac à sable du système, et Full Access désactive le bac à sable. Dans le bac à sable, les commandes shell ne peuvent pas lire les emplacements qui stockent des informations d’identification, comme ~/.ssh, ~/.aws et les fichiers .env ; à partir de la 0.10.2, la même règle couvre les sessions de terminal et davantage d’outils de fichiers. /preview-request affiche un aperçu expurgé de la prochaine requête sans l’envoyer.

La télémétrie est activée par défaut. Elle envoie des compteurs agrégés (version et plateforme, durée et résultat des sessions, fournisseurs intégrés que vous avez utilisés, compteurs de fonctionnalités et d’erreurs) avec un identifiant d’installation aléatoire renouvelé tous les 90 jours, et jamais de conversations, de code, de prompts, de noms de modèles, de noms de fichiers ou de dépôts, ni d’informations d’identification. codewhale config set telemetry false la désactive. Au démarrage, Codewhale vérifie aussi sur GitHub si une nouvelle version est disponible ; définissez CODEWHALE_NO_UPDATE_CHECK=1 pour l’éviter. Pour en savoir plus : ordre d’autorisation, bac à sable et télémétrie.

Documentation

Pour commencer Référence
Installation Configuration
Fournisseurs et modèles locaux Architecture
Modes et permissions Runtime API
Raccourcis clavier Création de plugins
Revue de PR GitHub Toute la documentation

Communauté

S’il manque un fournisseur ou si un workflow est peu pratique, ouvrez une issue ou envoyez une pull request. Les personnes qui contribuent restent créditées pour le travail intégré, et l’organisation du dépôt montre où se trouve chaque chose.

Discutez sur Discord, ou ajoutez le mainteneur, Hunter, sur WeChat (hunterbown) et demandez à rejoindre le groupe Whale Brothers.

Historique et licence

Codewhale a commencé sous le nom de deepseek-tui et lit toujours la configuration et les sessions de ce projet. Il est maintenu de manière indépendante et n’est affilié ni à DeepSeek ni à aucun autre fournisseur de modèles. Merci à toutes les personnes qui ont contribué.

Codewhale contributors

MIT. Le code adapté d’autres projets open source est répertorié dans les mentions tierces.

Classements actuels

  • 45

    Champions de tous les temps · Rust

    41K stars · 3.6K fork · Stars totales

    Tous temps · Rust →
  • 64

    Révélations de l’année

    41K stars · 3.6K fork · Stars totales (créés cette année)

    Révélations →

Évolution sur 30 jours

Étoiles cumulées

Évolution du rang

Voisins de classement sur le même tableau

← Retour aux classements