Ravenclaw - un système open source pour gérer le contexte de travail des agents de code IA
(github.com/chainofdive)Vue d’ensemble
En utilisant des agents de code IA (Claude Code, Gemini CLI, Codex, etc.) sur plusieurs projets, j’ai rencontré deux problèmes.
1. Quand on change d’agent, le contexte disparaît
Si je travaille avec Claude Code puis passe à Gemini CLI, je dois réexpliquer depuis le début ce qui a été fait auparavant. C’est pareil même avec le même agent quand la session se termine. On finit par fouiller l’historique des conversations dans le terminal pour chaque projet, en répétant sans cesse : « on en est arrivé là, et la suite c’est ça ».
2. Quand plusieurs projets avancent en parallèle, ça devient ingérable mentalement
Quand on mène 3 ou 4 projets en même temps, simplement savoir où chacun en est devient déjà un travail en soi. Basculer entre les onglets du terminal et faire défiler les historiques de conversation atteint vite ses limites.
J’ai créé Ravenclaw pour résoudre ce problème.
Idée principale
Le contexte de travail des agents est géré de manière centralisée.
Quel que soit l’agent utilisé (Claude Code, Gemini CLI, Codex), le contexte de travail s’accumule dans Ravenclaw. Même si vous changez d’agent ou que la session est interrompue, vous pouvez recharger l’état précédent tel quel dans une nouvelle session via les outils MCP. Le système n’est pas dépendant d’un agent en particulier.
L’interface web permet de voir d’un seul coup d’œil, par projet, la structure epics/issues, une vue en graphe et la progression, ce qui permet de savoir immédiatement « où en est ce projet maintenant ? » sans passer par l’historique du terminal.
Un système pour les agents, pas pour les humains
Les tickets (issues/epics) et le wiki de Ravenclaw peuvent ressembler à Jira ou Linear, mais l’utilisateur principal est différent.
- Ce sont les agents qui créent les issues, changent les statuts et rédigent le wiki
- Les humains consultent la situation globale via l’interface web, puis ajoutent si besoin des explications ou orientent le travail via des commentaires
- Quand un agent rencontre une situation qui nécessite une décision, il envoie une Human Input Request, à laquelle on répond sur le web
Pour permettre aux agents d’y accéder de façon programmatique, le système fournit plus de 40 outils via le protocole MCP, et toutes les fonctionnalités sont aussi disponibles en CLI et via l’API REST.
Fonctionnalités principales
- Chat web : donner directement des instructions à l’agent depuis le navigateur, avec réponse en streaming en temps réel
- Continuité des conversations : utilisation de
claude --resume, avec historique des conversations stocké en base de données - Visualisation des projets : vue en graphe pour comprendre en un coup d’œil la structure epics/issues et la progression
- Snapshots de contexte : l’agent enregistre l’avancement du travail pour reprendre à la session suivante
- Contrôle des permissions : au lancement de l’agent, choix entre auto-approve / bypass / accept-edits
- Multi-agents : choix entre Claude Code, Gemini CLI et Codex pour travailler sur un même projet
Stack technique
Monorepo TypeScript (pnpm workspaces)
- API : Hono + PostgreSQL (Drizzle ORM)
- Web : React + Tailwind + ReactFlow
- Intégration agent : protocole MCP (40+ outils)
- CLI : Commander.js
- Tests : Playwright E2E (14)
Installation
git clone https://github.com/chainofdive/ravenclaw.git
cd ravenclaw && pnpm install && pnpm build
docker-compose up -d && pnpm db:push
Self-hosted, il suffit d’avoir PostgreSQL. Licence Apache 2.0.
J’utilise réellement ce système pour gérer en parallèle plusieurs side projects avec des agents IA. Les retours et questions sont les bienvenus.
Aucun commentaire pour le moment.