Bridge pour connecter les Agents ADK (Agent Development Kit) à Gemini CLI, permettant l'orchestration A2A (Agent-to-Agent) entre les agents spécialisés.
Ce projet implémente une solution bridge qui expose 4 agents ADK comme outils utilisables dans Gemini CLI via le protocole MCP (Model Context Protocol). Il permet l'orchestration automatisée entre :
- 🔍 Watch Agent - Collecte de veille technologique
- 🧠 Analysis Agent - Analyse des rapports avec Gemini
- 📝 Curator Agent - Curation de contenu (newsletter/thread)
- 🏷️ GitHub Labeler Agent - Étiquetage automatique d'issues
ADK Agents ↔ bridge.py ↔ Gemini CLI ↔ Claude Code
- Communication STDIO : Interface standardisée entre Gemini CLI et les agents
- Environnements virtuels : Chaque agent utilise son propre environnement Python
- Gestion d'erreurs robuste : Logs centralisés et timeouts configurables
- Modes d'exécution : CLI direct et STDIO pour intégration MCP
- Python 3.8+
- Gemini CLI installé et configuré
- Workspace ADK avec les 4 agents dans
~/adk-workspace/
# Cloner le repository
git clone https://github.com/mlik-sudo/adk-gemini-cli-bridge.git
cd adk-gemini-cli-bridge
# Copier le bridge vers le répertoire Gemini
cp bridge.py ~/.gemini/bridge.py
chmod +x ~/.gemini/bridge.py
Ajouter les agents au fichier ~/.gemini/mcp_servers.json
:
# Fusionner avec votre configuration existante
cat mcp_servers.json.template >> ~/.gemini/mcp_servers.json
Ou copier manuellement les entrées du template dans votre fichier de configuration.
~/adk-workspace/
├── github_labeler/
│ ├── main.py
│ └── requirements.txt
├── veille_agent/
│ ├── main.py
│ ├── .venv/ # Environnement virtuel spécifique
│ └── requirements.txt
├── gemini_analysis/
│ ├── main.py
│ └── requirements.txt
├── curateur_agent/
│ ├── main.py
│ └── requirements.txt
└── adk-env/ # Environnement virtuel global
└── bin/python
# Démarrer Gemini CLI
gemini
# Vérifier que les agents sont disponibles
/mcp list
# Utiliser les agents
run_tool watch_collect {"sources":["github","pypi"]}
run_tool analyse_watch_report {"report_path":"/path/to/report.md"}
run_tool curate_digest {"format":"newsletter"}
run_tool label_github_issue {"repo_name":"owner/repo","issue_number":123}
# Test direct du bridge
python3 ~/.gemini/bridge.py watch_collect '{"sources":["github"]}'
# Mode STDIO
echo '{"tool":"watch_collect","params":{"sources":["github"]}}' | python3 -u ~/.gemini/bridge.py
Collecte de veille technologique
Paramètres :
sources
(optionnel) : Sources à surveiller["github", "pypi", "npm"]
output_format
(optionnel) : Format de sortie"markdown"
Exemple :
{"sources": ["github", "pypi"], "output_format": "markdown"}
Analyse de rapports avec Gemini
Paramètres :
report
: Contenu du rapport (texte)report_path
: Chemin vers le fichier rapport
Exemple :
{"report_path": "/Users/user/adk-workspace/veille_agent/rapport_veille.md"}
Curation de contenu
Paramètres :
format
(optionnel) : Format de sortie"newsletter"
output
(optionnel) : Type de sortie"markdown"
Exemple :
{"format": "newsletter", "output": "markdown"}
Étiquetage automatique GitHub
Paramètres :
repo_name
: Repository"owner/repo"
issue_number
: Numéro de l'issuedry_run
(optionnel) : Mode simulationtrue/false
(défaut:true
)
Exemple :
{"repo_name": "facebook/react", "issue_number": 123, "dry_run": false}
# Pour GitHub Labeler Agent
export GITHUB_TOKEN="your_github_token"
# Pour Gemini Analysis Agent
export GEMINI_API_KEY="your_gemini_api_key"
Les logs sont centralisés dans :
~/.gemini/bridge.log
Vérifiez que les environnements virtuels existent :
ls -la ~/adk-workspace/veille_agent/.venv/bin/python
ls -la ~/adk-workspace/adk-env/bin/python
Vérifiez la structure du workspace ADK :
ls -la ~/adk-workspace/*/main.py
Redémarrez Gemini CLI et vérifiez :
gemini
/mcp list
- Fork le repository
- Créer une branche feature :
git checkout -b feature/amazing-feature
- Commit les changements :
git commit -m 'Add amazing feature'
- Push vers la branche :
git push origin feature/amazing-feature
- Ouvrir une Pull Request
- Support pour plus d'agents ADK
- Interface web de monitoring
- Métriques et analytics des agents
- Configuration dynamique des agents
- Support Docker pour déploiement
MIT License - voir le fichier LICENSE pour plus de détails.
Développé avec ❤️ pour l'écosystème A2A (Agent-to-Agent)