5.7 KiB
5.7 KiB
Hermes Workspace Agent Contract
This workspace uses semantic Hermes swarm workers, not numbered-only lanes. The source of truth for routing is swarm.yaml; each worker also has a matching profile under ~/.hermes/profiles/<worker-id>/, a role skill <worker-id>-core, and a wrapper in ~/.local/bin/.
Current semantic roster
| Worker | Wrapper | Tools | Skills | MCP | Plugins |
|---|---|---|---|---|---|
orchestrator |
orchestrator:plan |
todo, kanban, delegation, terminal, file, gbrain, session_search, cronjob, skills, clarify, web | orchestrator-core, gstack-for-hermes, gbrain, kanban-orchestrator, subagent-driven-development, writing-plans, requesting-code-review, workspace-dispatch | gbrain | none |
km-agent |
km:health |
gbrain, file, terminal, session_search, skills, todo, cronjob, web | km-agent-core, gbrain, obsidian-markdown, obsidian-cli, obsidian-bases, json-canvas, gstack-for-hermes | gbrain | none |
builder |
builder:task |
terminal, file, browser, web, gbrain, session_search, skills, todo | builder-core, gstack-for-hermes, test-driven-development, systematic-debugging, github-pr-workflow, requesting-code-review, codebase-inspection | gbrain | none |
reviewer |
reviewer:gate |
terminal, file, web, gbrain, session_search, skills | reviewer-core, requesting-code-review, github-code-review, systematic-debugging, gstack-for-hermes, gbrain, codebase-inspection | gbrain | none |
qa |
qa:smoke |
browser, terminal, file, vision, gbrain, session_search, skills, web | qa-core, browser-harness-power-use, dogfood, gstack-for-hermes | gbrain | none |
researcher |
researcher:quick |
gbrain, web, browser, terminal, file, vision, session_search, skills, todo | researcher-core, gbrain, autoresearch, browser-harness-power-use, gstack-for-hermes, researcher-quick, researcher-autoresearch, arxiv, youtube-content, polymarket | gbrain | none |
ops-watch |
ops:health |
terminal, cronjob, file, gbrain, skills, session_search, web | ops-watch-core, gbrain, hermes-agent, systematic-debugging, webhook-subscriptions | gbrain | none |
maintainer |
maintainer:check |
terminal, file, web, browser, gbrain, session_search, skills | maintainer-core, github-repo-management, github-pr-workflow, github-issues, github-code-review, gbrain, gstack-for-hermes, hermes-agent | gbrain | none |
strategist |
strategist:review |
gbrain, web, session_search, file, skills, todo, clarify | strategist-core, gstack-for-hermes, gbrain, writing-plans, polymarket | gbrain | none |
inbox-triage |
inbox:triage |
gbrain, web, file, session_search, todo, skills, terminal | inbox-triage-core, gbrain, obsidian-markdown, gstack-for-hermes, defuddle, youtube-content | gbrain | none |
Operating rules
- Keep
swarm.yaml, profileconfig.yaml, profile core skills, and wrappers aligned when changing a worker. - Prefer GBrain-first lookup for context-sensitive RAZSOC/Hermes/workflow decisions.
- Builder implements; Reviewer gates; QA verifies behavior; Orchestrator routes and enforces greenlight.
- Do not enable optional Hermes plugins globally unless the task explicitly needs them; record plugin/toolset alignment in
swarm.yamlfirst.
Windows-specific notes (2026-06-01)
- Three services required: Gateway (:8642) + Dashboard (:9119) + Workspace (:3000). All must be running for full functionality.
- Gateway:
hermes gateway run - Dashboard:
hermes dashboard --port 9119 --host 127.0.0.1 --no-open - Workspace:
pnpm dev - Or use the Electron desktop app:
pnpm electron:dev(auto-starts all three)
- Gateway:
- Desktop app: Full Electron app (
electron/main.cjs). Double-click to launch — no terminal needed. Auto-detects and spawns gateway (or dashboard if configured). - Build:
electron:build:winproduces NSIS installer inrelease/. - Dev mode:
electron:devlaunches Electron in dev mode (builds Vite client first, hot-reloads on change). - Running build output:
release/win-unpacked/hermes-workspace.exe(test builds). - Electron:dev fix:
NODE_ENV=developmentprefix doesn't work on Windows — script stripped to justelectron .. - Windows spawn fixes (in
electron/main.cjs):spawnDetached()usescmd /con Windows (notbash -lc), log paths use%TEMP%(not/tmp),isHermesInstalled()useswhere hermes,installHermesInBackground()usespip install(notcurl|bash). - Two
.envfiles: Gateway readsC:\\Users\\<you>\\AppData\\Local\\hermes\\.env; CLI readsC:\\Users\\<you>\\.hermes\\.env; workspace readshermes-workspace\\.env. Keep API keys in sync across all three. - Gateway API server: Requires
API_SERVER_ENABLED=true+API_SERVER_KEYin the gateway's.env. Without these, the gateway starts with no connected platforms. - Workspace env vars: Runtime reads
CLAUDE_API_URL/CLAUDE_API_TOKEN/CLAUDE_DASHBOARD_URL(notHERMES_*variants). - sqlite3 CLI: Not bundled on Windows. Install via
winget install SQLite.SQLite, then copysqlite3.exeto a Git Bash PATH directory (winget installs to a long path not in PATH). - claude CLI: Required for Claude Tasks / Conductor features. Install via
npm install -g @anthropic-ai/claude-code. - Port conflicts: Use
netstat -ano | findstr :<port>+Stop-Process -Id <PID> -Force(PowerShell) —lsofnot available in Git Bash on Windows. - PWA install: Dashboard at
http://127.0.0.1:3000can be installed as PWA via Chrome/Edge address bar install icon. Prefer Electron build for production. - Slack invalid_auth: Expected if Slack tokens aren't configured — ignore, doesn't affect core functionality.
- Node version: Requires Node.js 22+. Check with
node --version. NODE_OPTIONSstripped: Windows doesn't support env var prefix in npm scripts — removed frombuildandelectron:devscripts.