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.48.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.48-py3-none-any.whl (414.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cafitac_hermit_agent-0.3.48.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.48.tar.gz
Algorithm Hash digest
SHA256 ea69a4e8d3415cf6f7f7d8a8358290f9097dffd562c89446e05e5a9c7bb17847
MD5 6c0d364db967e0253142e455c7c75cfb
BLAKE2b-256 e31b276e1457aff2104d2d6298fafc4a0a4d3c0ca3026afb05ff982400603ca2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cafitac_hermit_agent-0.3.48-py3-none-any.whl
Algorithm Hash digest
SHA256 ee7fabef8ef1552873db8ea438ef35e0daced0f47210f92e290995f7ddad6822
MD5 4f6e70f1ec6fdbf3ab6d5f192843da07
BLAKE2b-256 382ac0013d1eb860eac033a511c8fa89648d137c1aab2814ec6c2cc12816bace

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