Open-source multi-agent orchestration CLI — spin up a 5-role AI team with automatic topology selection, model freedom, and white-box observability
Project description
Hermes Global — Open-Source Multi-Agent Orchestration CLI
The white-box alternative to Sakana Fugu. Not a black-box router — a transparent AI team you can see, control, and customize.
What It Is
A CLI tool that spins up a team of 5 specialized AI agents — CEO, PM, Dev, CSO, and Ops — to tackle coding tasks collaboratively. You bring your own API keys. You see every decision. You control every model.
Why It Exists
Fugu proves multi-agent > single-agent (93.2% LiveCodeBench). But Fugu is:
- ❌ Closed-source — you can't see how routing decisions are made
- ❌ Expensive — $30/1M output tokens for Ultra tier
- ❌ Model-locked — you can't choose which models are used
Google Antigravity is promising but:
- ❌ Google-controlled — single vendor lock-in
- ❌ New (May 2026) — unproven at scale
Hermes Global is:
- ✅ Open source (MIT) — audit every line
- ✅ Model-free — use DeepSeek, GLM, GPT, Claude, or any OpenAI-compatible API
- ✅ Observable — every agent decision is logged and replayable
- ✅ Local-first — runs on your machine, not our servers
- ✅ Extensible — add your own agents, tools, and skills
Quick Start
Prerequisites
- Python 3.11+ (check with
python --version) - Hermes Agent installed (
pip install hermes-agentor see hermes-agent.nousresearch.com) - An API key from your preferred LLM provider
Installation
# Install from PyPI
pip install hermes-global
# Or with uv
uv tool install hermes-global
Initial Setup
# Interactive setup wizard — picks provider, creates 5-agent team
hermes-global init
The wizard will guide you through:
- Choosing your model provider (OpenAI / Anthropic / DeepSeek / Zhipu / Custom)
- Entering your API key
- Configuring proxy settings (important for users in China)
- Creating the 5 agent profiles
- Initializing the kanban board
Run Your First Task
# Delegate a task to the AI team
hermes-global run "Build a REST API for user authentication"
# Simple tasks get fast, direct execution
hermes-global run "Fix typo in utils.py line 42"
# See what's happening with your team
hermes-global status
The 5-Role AI Team
| Role | Icon | Responsibility |
|---|---|---|
| CEO | 🧠 | Strategic direction, GO/NO-GO decisions, scope management |
| PM | 📋 | Requirements clarification, spec writing, priority ordering |
| Dev | 💻 | Code implementation, TDD, bug fixing |
| CSO | 🔒 | Security audit, CVE scanning, secret detection |
| Ops | 🚀 | CI/CD, testing, release management, monitoring |
Every agent has its own profile, model configuration, and skill set. The orchestrator automatically routes tasks through the appropriate agents based on task complexity and security requirements.
5 Dynamic Topologies
The system automatically selects the best execution pattern for your task:
| Topology | Use Case | Pipeline |
|---|---|---|
| Direct ⚡ | Simple fixes, typos | Dev only |
| Serial ➡️ | Complex, security-critical | CEO→PM→Dev→CSO→Ops |
| Parallel ∥ | Medium complexity | PM→(Dev∥CSO)→Ops |
| Tree 🌳 | Multi-faceted tasks | CEO→parallel sub-pipelines |
| Decompose 🧩 | Large, multi-module tasks | CEO→independent workstreams |
You can also force a specific topology:
hermes-global run --topology direct "Rename variable x to count"
hermes-global run --topology serial "Refactor auth system to OAuth 2.0"
Full Observability
Every orchestration step is visible in real time:
📋 Task Analysis
Task: Add JWT login to the API
Topology: PARALLEL
Reasoning: Medium-complexity task. Parallel Dev+CSO review for efficiency.
Pipeline: PM → DEV ∥ CSO → OPS
✅ [🧠 CEO] GO — approved (0.3s)
✅ [📋 PM] Spec written (2.1s)
✅ [💻 DEV] Code implemented (8.4s)
✅ [🔒 CSO] Audit PASS — 0 CRITICAL (1.5s)
✅ [🚀 OPS] Tests passed, packaged (3.2s)
═══ Orchestration Complete ═══
Topology: parallel
Steps: 5 (5 ✅, 0 ❌)
Total time: 15.5s
Est. tokens: ~4,200
Model Freedom
Configure any provider per agent. Mix and match to optimize cost and quality:
# In ~/.hermes-global/config.yaml
agents:
ceo:
provider: anthropic
model: claude-sonnet-4-20250514 # best reasoning
dev:
provider: deepseek
model: deepseek-v4-pro # best coding
ops:
provider: openai
model: gpt-4o-mini # cheap for CI/CD
Supported providers: OpenAI, Anthropic, DeepSeek, Zhipu AI (GLM), and any OpenAI-compatible API (Ollama, vLLM, Groq, OpenRouter, etc.)
Commands
hermes-global init # Interactive setup wizard
hermes-global run <task> # Execute a task through the AI team
hermes-global status # Show team status, kanban, capabilities
hermes-global --help # Show all commands and options
hermes-global run --help # Show run command options
Configuration
Configuration lives at ~/.hermes-global/config.yaml. See
config_template.yaml for a fully documented example.
API keys are stored in ~/.hermes-global/.env (never committed to git):
DEEPSEEK_API_KEY=sk-...
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
Tech Stack
- Python 3.11+ / uv for package management
- Click for CLI
- Rich for terminal output
- 5 specialized agents (CEO/PM/Dev/CSO/Ops)
- 5 dynamic topologies (direct/serial/parallel/tree/decompose)
- Auto prompt engineering (4-layer: role/context/format/pitfalls)
- 3-level recursive self-correction (Dev↔CSO loop)
- Capability matrix-driven routing (learns who's good at what)
Comparison
| Hermes Global | Fugu | Antigravity | |
|---|---|---|---|
| Open source | ✅ MIT | ❌ | ❌ |
| Model freedom | ✅ Any API | ❌ Sakana only | ❌ Google only |
| Observable | ✅ Full tracing | ❌ Black box | 🟡 Partial |
| Pricing | Your API keys | $5-30/1M tokens | Free (for now) |
| Topologies | 5 (direct/serial/parallel/tree/decompose) | Unknown | Parallel agents |
| Custom agents | ✅ Yes | ❌ | ❌ |
| Local-first | ✅ | ❌ | ❌ |
Roadmap
- P0: CLI (init/run/status) + 5 topologies + 5 roles + observability
- P1: Recursive self-correction + capability-matrix routing + auto prompt engineering
- P2: Kanban management CLI + completion scripts + JSON/Markdown export
- P3: Docker deployment + community skill marketplace + multi-language UI
Security
API keys are stored in ~/.hermes-global/.env. This file is plaintext — treat it
like a password manager master key:
- Unix: Run
chmod 600 ~/.hermes-global/.envafterinit - Windows: Run
icacls "%USERPROFILE%\.hermes-global\.env" /inheritance:r /grant:r "%USERNAME%:F" - Never commit
.envto git (it's in.gitignoreby default) - For production use, consider a secrets manager (Bitwarden, HashiCorp Vault)
Prompt injection warning: Hermes Global accepts natural-language task descriptions
and delegates them to AI agents with code execution capabilities. For untrusted input,
use the --sandbox flag (coming in P2) or run with a containerized backend.
Known framework dependencies: Hermes Global builds on Hermes Agent, which carries its own security posture. See Hermes Agent Security for the full threat model.
Contributing
Hermes Global is part of the Hermes Agent ecosystem by Nous Research.
- Issues: GitHub Issues
- Docs: hermes-agent.nousresearch.com/docs
- License: MIT
Built with ❤️ by the Hermes Agent community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hermes_global-0.1.0.tar.gz.
File metadata
- Download URL: hermes_global-0.1.0.tar.gz
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b7517e68013ede379cbf5b3023bd21b2d334086b824bb9a223f652536727c52
|
|
| MD5 |
e6c48936af04fbbfa5249708162cfb0b
|
|
| BLAKE2b-256 |
f62efc2e80bf36d10b8a059b1c5b85cf73165281459c361e02ea20d8dca46614
|
File details
Details for the file hermes_global-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hermes_global-0.1.0-py3-none-any.whl
- Upload date:
- Size: 24.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac74a4da88a5d5e9c7ce64cc3ad853d12314e50e46ab8d82e8d63c3e05abbc3f
|
|
| MD5 |
22b8093e0c7d5bdaeecb450c7fbf169c
|
|
| BLAKE2b-256 |
0a8e984676070f7ea70bd3b70e373b44bccf5ee83d0044dbcd401a7406594b0f
|