Skip to main content

Hermit keeps Claude Code or Codex as the orchestrator while a local MCP executor handles cost-aware coding work.

Project description

HermitAgent

Python tests npm version PyPI version npm downloads

Run Claude Code or Codex cheaper — Hermit is an MCP executor that handles the high-token mechanical work while your orchestrator stays in charge.

┌──────────────┐
│  Claude Code │──┐
│  (planner)   │  │    ┌──────────────┐   any OpenAI-compatible   ┌───────┐
└──────────────┘  ├───▶│  HermitAgent │ ────────────────────────▶ │  LLM  │
                  │    │  (executor)  │                           └───────┘
┌──────────────┐  │    └──────────────┘
│    Codex     │──┘         ~$0 / flat-rate
│  (planner)   │
└──────────────┘

Claude Code or Codex stays the orchestrator — planning, interviewing, code review. Hermit takes the rest: file edits, test runs, commits, refactors, on a cheap local or flat-rate model via MCP. The switch is one word in a slash command: /foo/foo-hermit.

Install

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.

To upgrade: hermit update

Quick start

hermit-mcp-server   # starts the gateway + MCP stdio server

Then in Claude Code:

/feature-develop-hermit <task>

Claude interviews, writes the plan, and delegates implementation to Hermit over MCP. Executor tokens never hit your orchestrator bill.

Reference skills

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.

Executor LLM

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"
    }
  }
}

Configuration

~/.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.

Architecture

  • AgentLoop — LLM turn → tool call → result → compact on context fill
  • Gateway — FastAPI relay in front of the executor (routing, 429 failover, dashboard at :8765)
  • MCP serverrun_task / reply_task / check_task / cancel_task
  • TUI — optional React+Ink terminal UI for standalone interactive sessions (hermit)

Tests

.venv/bin/pytest tests/

Status

Early, working, MIT. No release cadence guarantees.

License

MIT — see LICENSE.

See also

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cafitac_hermit_agent-0.3.47.tar.gz (460.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cafitac_hermit_agent-0.3.47-py3-none-any.whl (414.3 kB view details)

Uploaded Python 3

File details

Details for the file cafitac_hermit_agent-0.3.47.tar.gz.

File metadata

  • Download URL: cafitac_hermit_agent-0.3.47.tar.gz
  • Upload date:
  • Size: 460.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cafitac_hermit_agent-0.3.47.tar.gz
Algorithm Hash digest
SHA256 f6e3687ce6add9842d6e3553363d6afb7736f8e0c536982e6cb1f64ef4ad292b
MD5 a7affe1d48300db6c99684c7cfd5a42f
BLAKE2b-256 eda0c2295c19d12a2ea85b20ad30c4328a52f57329216b89a994b74948655c87

See more details on using hashes here.

File details

Details for the file cafitac_hermit_agent-0.3.47-py3-none-any.whl.

File metadata

File hashes

Hashes for cafitac_hermit_agent-0.3.47-py3-none-any.whl
Algorithm Hash digest
SHA256 acc6b1c055d4c74f67d6e67e789041adf370da9658ca926e27129870b62fd51e
MD5 ce9546dfb981e060bd69360ba59db629
BLAKE2b-256 82e287538f2089f6a45bad8802d63bd5bd182e92e2e57f01b50adaaef75c390b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page