loading…
Search for a command to run...
loading…
MCP executor for Claude Code or Codex with an npm-first launcher and cheaper local or flat-rate execution by default
MCP executor for Claude Code or Codex with an npm-first launcher and cheaper local or flat-rate execution by default
Hidden expert. Quiet executor.
Hermit is an MCP executor lane for Claude Code, Codex, and Hermes Agent. Your main agent handles planning, review, and conversation; Hermit quietly handles edits, test runs, refactors, commits, and other mechanical execution on a cheaper local or flat-rate model.
┌──────────────┐
│ Claude Code │──┐
│ (planner) │ │ ┌──────────────┐ any OpenAI-compatible ┌───────┐
└──────────────┘ ├───▶│ HermitAgent │ ────────────────────────▶ │ LLM │
│ │ (executor) │ └───────┘
┌──────────────┐ │ └──────────────┘
│ Codex │──┘ ~$0 / flat-rate
│ (planner) │
└──────────────┘
Claude Code, Codex, or Hermes Agent stays in charge of planning, interviewing, and review. Hermit takes the mechanical path: file edits, test runs, refactors, commits, and MCP-executed follow-through on predictable local or flat-rate execution models. In Claude Code the switch is often one word in a slash command: /foo → /foo-hermit.
Why Hermit stands out:
| Workflow shape | Claude Code / Codex alone | With Hermit |
|---|---|---|
| Planning and review | Strong | Still strong — keep the premium orchestrator where judgment matters |
| Repetitive repo work | Expensive or token-heavy | Offloaded to a cheaper MCP executor lane |
| Multi-step follow-through | Manual context handoff | MCP tasks can carry edits, tests, commits, and release ops through |
| Default execution cost | Can drift onto paid hosted models | Defaults to local / flat-rate executor routing |
| Team adoption | Tied to one orchestrator workflow | Works as a shared executor layer across Claude Code, Codex, and Hermes Agent |
Hermit is not trying to replace your orchestrator. It gives you a second lane: use the premium model for judgment, and use Hermit for the mechanical throughput that makes repositories expensive to operate at scale.
If your pain is not "my orchestrator is smart enough, but too much of its time is spent on repetitive repo labor," Hermit is probably not the right abstraction.
npm install -g @cafitac/hermit-agent
hermit
Requires Node.js 20+ and Python 3.11+. The npm package bootstraps a managed Python runtime under ~/.hermit/ on first run — no repo checkout needed. If Claude Code or Codex integration is still missing, hermit will offer guided setup automatically. You can still run hermit install directly when you want to force the full setup/repair flow.
For CI or smoke checks that must avoid optional external hook installation, use hermit install --yes --skip-agent-learner plus any integration-specific skips you need.
For Hermes Agent orchestration, start with the non-mutating snippet printer:
hermit install --print-hermes-mcp-config — print the exact hermes mcp add ... command without editing ~/.hermeshermit install --fix-hermes-mcp — explicitly register hermit-channel through the Hermes CLIhermit install --test-hermes-mcp — run Hermes Agent's live hermes mcp test hermit-channel probe without changing configSetup guides:
docs/cc-setup.mddocs/codex-setup.mddocs/hermes-setup.mdTo upgrade: hermit update
hermit-mcp-server # starts the gateway + MCP stdio server
Then connect your orchestrator:
docs/cc-setup.md, then run /feature-develop-hermit <task>docs/codex-setup.mddocs/hermes-setup.mdClaude Code remains the most polished slash-command path today, but all three integrations share the same core idea: the orchestrator does judgment, Hermit does the repetitive repo execution over MCP.
Four example skills ship under .claude/commands/. Fork these into your own workflow:
| Command | Claude does | Hermit does |
|---|---|---|
/feature-develop-hermit |
interview + plan | implement + test |
/code-apply-hermit |
read PR review | apply every change |
/code-polish-hermit |
pick what to polish | lint/test loop |
/code-push-hermit |
write PR description | commit + push |
See docs/hermit-variants.md to add your own.
ollama (local, free):
brew install ollama && ollama pull qwen3-coder:30b
z.ai (flat-rate subscription) — add to ~/.hermit/settings.json:
{
"providers": {
"z.ai": {
"base_url": "https://api.z.ai/api/coding/paas/v4",
"api_key": "<your key>",
"anthropic_base_url": "https://api.z.ai/api/anthropic"
}
}
}
~/.hermit/settings.json (created by hermit install):
{
"gateway_url": "http://localhost:8765",
"gateway_api_key": "hermit-mcp-…",
"model": "__auto__",
"routing": {
"priority_models": [
{"model": "glm-5.1"},
{"model": "qwen3-coder:30b"}
]
}
}
model controls the default model for plain hermit. Set it to __auto__ if you want plain hermit to follow the routing.priority_models order. routing.priority_models is the ordered fallback chain for auto-routing in gateway / interactive flows, and providers that are not configured or installed are skipped automatically. If model is a concrete name like gpt-5.4, plain hermit stays pinned to that model even if you reorder priority_models.
By default, hermit install now keeps Codex out of routing.priority_models and treats it as an explicit opt-in executor path instead of an automatic fallback. This is intentional: local / flat-rate executor models stay the safe default, while Codex remains available when a user explicitly pins it or adds it back to routing. That separation makes billing behavior more predictable, keeps executor defaults aligned with Hermit's "cheap mechanical work" role, and avoids surprising auto-routing onto a paid hosted model.
:8765)run_task / reply_task / check_task / cancel_taskhermit).venv/bin/python -m pytest tests/
Early, working, MIT. No release cadence guarantees.
MIT — see LICENSE.
-hermit skill familyДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"hermit-agent": {
"command": "npx",
"args": [
"-y",
"@cafitac/hermit-agent"
]
}
}
}pro-tip
Поставил Hermit Agent? Скажи Claude: «запомни почему я установил Hermit Agent и что хочу попробовать» — попадёт в твой Vault.
как это работает →