Hermit
AI Workforce Panel for local agent teams.
Manage digital employees, tasks, messages, runtimes, IM routing, usage, capability assets, and audit trails — local-first.
本地优先的 AI 数字员工团队面板:管理数字员工、任务、消息、运行时、IM 路由、用量、能力资产和审计轨迹。
简体中文 ·
Try it ·
Why ·
Screenshots ·
Runtimes ·
Agent manual
Try it in 30 seconds
npx @yancyyu/openhermit@latest
Open http://127.0.0.1:5680/teams, create your first team, choose a local runtime, and start assigning work.
Hermit itself is a local workbench. To run real agents you still need the corresponding local CLI/account/API credentials for Claude Code, Codex, Gemini, Cursor, OpenCode, or your bridge runtime.
Why openHermit?
Most AI coding tools are great at one conversation. Real work needs a loop:
- discover or receive work,
- split it into tasks,
- assign the right agent/runtime,
- observe progress and messages,
- review the result,
- repeat without losing context.
openHermit is the control plane around that loop.
| One-off chat windows | Team workspaces with members, roles, tasks, messages, and runtime config |
| Running CLIs by hand | A visible /teams workbench for Claude Code, Codex, Gemini, Cursor, OpenCode, and bridge adapters |
| Hidden automation scripts | Auditable local state under ~/.hermit/: teams, tasks, messages, events, and configuration |
| Ad-hoc status updates | Kanban-style task state, comments, delivery records, and review checkpoints |
| Platform-specific bots | Team routing, channel allowlists, and hermit-bridge powered bridge events |
| Fragile multi-agent edits | Optional worktree isolation for parallel agent workspaces |
Built for
- Solo developers running several AI coding agents without losing track of who changed what.
- Team leads / PMs turning product requests into visible agent tasks and reviewable outcomes.
- Loop engineers building repeatable scan → dispatch → execute → verify → report workflows.
- Local-first operators who want runtime control and audit trails without a hosted control plane.
Screenshots
| Create and manage agent teams | Operate a team workspace |
 |  |
| Track work across teams | Configure local runtimes and channels |
 |  |
More screenshots: Loop usage, Feishu/Lark focused flows, and admin surfaces
| Admin Loop | Usage overview | Loop workflows |
 |  |  |
| Agent gated tasks | Channel-aware team detail | General settings |
 |  |  |
Prefer video? See resources/demo.mp4 in this repository.
What openHermit does
Agent teams, not isolated chats
Create teams with members, project directories, runtime choices, and optional worktree isolation. Each team gets its own workspace for tasks, messages, configuration, and audit trails.
Task board for AI work
Use Hermit as the place where agent work becomes visible: create tasks, comment on them, track status, preserve delivery context, and review outcomes before accepting them.
Local-first runtime control
Hermit stores state locally by default in ~/.hermit/. It does not provide models, host your repositories, or replace your local CLIs. It coordinates the runtimes you already install and authorize.
Bridge external channels into team workflows
Use hermit-bridge to connect team messages and events to Feishu/Lark, WeChat, Telegram, Discord, Slack, or other channel adapters. Hermit handles team routing, allowlists, and audit boundaries; platform Bot capabilities depend on your hermit-bridge setup.
Repeatable Loop Engineering
Turn manual agent operations into loops: scan for work, dispatch to a team, observe execution, verify results, and report what changed. The goal is not “more agents”; it is repeatable, inspectable progress.
How it works
flowchart LR
UI[Browser / Vite UI<br/>/teams workbench]
API[Fastify API]
Store[(~/.hermit<br/>teams · tasks · messages · audit)]
Bridge[hermit-bridge<br/>Management API · WebSocket events]
Runtimes[Local runtimes<br/>Claude Code · Codex · Gemini · Cursor · OpenCode]
Channels[External channels<br/>Feishu/Lark · WeChat · Telegram · Discord · Slack]
UI --> API
API --> Store
API --> Bridge
Bridge --> Runtimes
Bridge --> Channels
Current product shape:
- Frontend: Vite + React 19 + TypeScript
- Backend: Fastify 5 + Node.js
- Default route:
/teams
- Default state directory:
~/.hermit/
- Distribution: npm CLI package
@yancyyu/openhermit
- Current boundary: no Electron desktop package and no embedded PTY terminal in this package
Supported Agent runtimes
openHermit can coordinate the runtimes you have installed and authenticated locally. Adapter depth depends on the runtime and your hermit-bridge configuration.
| First-class adapters | claudecode, codex, gemini, opencode, cursor |
| Registered / compatible identifiers | devin, qoder, pi, iflow, acp, kimi, tmux |
First-class adapters usually expose richer install status, credentials, MCP, Skills, or environment management. Compatible identifiers are available for team configuration, bridging, or experimental integration; exact behavior depends on your local environment.
Installation and operations
Run without installing
npx @yancyyu/openhermit@latest
Install globally
npm install -g @yancyyu/openhermit@latest --prefer-online
openhermit
Useful commands
openhermit
openhermit web
openhermit --daemon
openhermit status
openhermit stop
openhermit --port 8080
openhermit --version
openhermit update
openhermit with no arguments opens the terminal navigator (the control-plane
menu). To jump straight into the browser-based workbench, run openhermit web.
Let an agent install it
Give your local AI agent the public runbook:
Read https://yancyuu.github.io/Hermit/agent-manual.md and follow the installation and operations guide to deploy openHermit on this machine.
Agent-readable docs are also published at:
Create your first team
- Open
/teams.
- Click 创建数字员工.
- Fill in a team name and slug.
- Choose a harness/runtime, for example
claudecode.
- Select a project directory; enable worktree isolation when parallel edits should stay separated.
- Configure channel bindings and allowlists if the team should receive external messages.
- Save, open the team detail page, create a task, and start the agent loop.
Current capabilities and boundaries
| Teams | Team config, members, project workspace, runtime settings, optional worktree isolation |
| Tasks | Team kanban, comments, external dispatch projection, delivery/review state |
| Messages | Team messages, cross-team messages, channel messages, Bridge events |
| Channels | Hermit handles routing, allowlists, and audit; hermit-bridge carries platform adapters |
| Cross-team collaboration | Redis-backed dispatch supports receive/start/progress/complete/approve/revision style flows; the full offer/bid/lease/event Task Bus is the target model |
| Local-first storage | Config, teams, tasks, messages, and audit data default to ~/.hermit/ |
| Not included here | Hosted models, hosted repositories, Electron desktop packaging, embedded PTY terminal |
Documentation
Development
pnpm install
pnpm dev
pnpm typecheck
pnpm test
pnpm build:web
For local development that needs external channels (Feishu/Lark, WeChat, Telegram, Discord, Slack, etc.), start hermit-bridge before or alongside pnpm dev:
node node_modules/hermit-bridge/run.js --force -config ~/.hermit/hermit-bridge/config.toml
Use pnpm for this repository. Please do not describe Electron packaging, embedded PTY, hosted model serving, or the full target Task Bus as current shipped capability unless the implementation and docs have landed.
Community and support
If openHermit helps you run agent work more reliably, please star the repo — it helps more people discover the project.
License
AGPL-3.0