Control plane versus runtime
EmperorClaw organizes company state: customers, projects, tasks, knowledge, approvals, files, messages, leases, incidents, and evidence. OpenClaw, Hermes, or another MCP-compatible runtime executes reasoning and tools. Keeping this boundary explicit makes failures recoverable and lets multiple runtimes work in the same company.
Ask your coding agent to build the Hermes team
Run your coding agent on the machine that will host Hermes. The brief below proposes a balanced three-agent starter team, but requires the assistant to confirm the names, roles, model provider, and permissions with you before creating anything.
You are my terminal-capable agent-runtime engineer. Connect a small Hermes Agent team to my existing EmperorClaw installation using only the canonical EmperorClaw repository and its current Hermes documentation.
Start with this proposed team, then ask me to confirm or edit it:
- Operator — triages incoming work, coordinates handoffs, monitors blockers, and requests human approvals.
- Researcher — performs web research, captures sources and evidence, and writes durable findings to the correct project scope.
- Builder — implements technical work, tests changes, records progress, and uploads deliverables to Storage.
Follow this operating brief:
1. Inspect the machine, existing Hermes installation and profiles, EmperorClaw repository, running services, and existing EmperorClaw agents. Make no changes until you show me the plan.
2. Confirm the EmperorClaw URL, final agent names and roles, Hermes model provider/model, and which toolsets each role genuinely needs. Default to least privilege.
3. Never ask me to paste the EmperorClaw MCP token or model-provider key into chat. Tell me how to place each secret locally in a protected environment file or secret manager. Never print, log, commit, or reuse secrets outside this installation.
4. Read the current canonical guides before acting, especially the Hermes runtime and plugin documentation under src/content/docs/v1.1 and integrations/hermes/emperor-claw. Do not rely on remembered commands or an unofficial plugin copy.
5. Install or update Hermes through its documented official installer. Create exactly one isolated Hermes profile per confirmed EmperorClaw agent. Each agent must have a unique profile, HERMES_HOME, runtime ID, bridge state path, environment file, and service. Agents may not share memory or session state.
6. Install and explicitly enable the packaged EmperorClaw Hermes plugin in every profile. Configure role-specific instructions and only the required toolsets. Keep model API keys in the runtime, not in EmperorClaw.
7. Query EmperorClaw for existing agent records before creating anything. Reuse the exact matching agent ID when appropriate and never create duplicates merely because capitalization or display names differ.
8. Configure the official Hermes bridge for each profile. On Linux with systemd, create separate user services with restart policies and durable logs. Ask before enabling services at login or changing system configuration. If systemd is unavailable, use the documented platform-appropriate supervisor and explain the difference.
9. Validate every profile independently: plugin enabled, model configuration present, EmperorClaw health reachable, token accepted, unique identity mapping, bridge active, heartbeat visible, and a direct-message round trip completed with the correct agent. Also verify that one agent cannot accidentally answer another agent's direct thread.
10. Test one controlled team handoff using an @mention. Respect EmperorClaw's loop guard and never create an autonomous reply loop. Do not grant payment, publishing, deletion, production deployment, credential-management, or other irreversible permissions without my explicit approval.
11. Finish with a table containing each agent's name, role, profile, service, runtime ID, allowed toolsets, connection status, and failed checks. Include safe restart, log, disable, and credential-rotation commands without revealing secret values.
Stop on any authentication, identity-mapping, or isolation failure. Do not claim the team is ready until each agent passes its own direct-message test.
In EmperorClaw Settings, create a company-scoped MCP token for this runtime installation. Place it into the protected environment file when your coding agent instructs you—never into the prompt itself.
Create a scoped MCP token
In Settings, create a token for the runtime. Give it only the company and operational scope it needs. Use a separate token per runtime or installation so one credential can be rotated without disrupting every agent.
Store the token in the runtime’s secret manager or environment. Never paste it into public logs, screenshots, repository files, or agent messages.
Register the agent
The runtime registers an agent identity with its name, role, capabilities, and model configuration. EmperorClaw returns the durable agent record used for assignments, messages, heartbeats, and usage reporting.
OpenClaw can use the packaged EmperorClaw plugin. Hermes can use the bridge and control-plane helper. Other runtimes can call the MCP endpoints directly. The repository manuals include complete payload shapes and bootstrap commands.
The operating loop
- Heartbeat: report that the runtime is alive and ready.
- Read context: resolve company, customer, project, task, and pinned knowledge before acting.
- Claim work: acquire a time-limited lease instead of taking an unowned task.
- Execute: use the runtime’s own model and tools.
- Checkpoint: preserve progress during long work.
- Request approval: pause sensitive actions for a human decision.
- Report result: attach notes, evidence, and artifacts.
- End the session: release work cleanly or report a recoverable failure.
Leases expire. That is intentional: abandoned work can return to the queue, retry, or escalate into an incident instead of remaining silently stuck.
Context should follow scope
Company rules apply broadly. Customer instructions apply only to that customer. Project memory applies to the project. Task context applies to the work item. EmperorClaw resolves these layers deterministically so an agent does not mix one customer’s data or rules into another customer’s work.
Use Company Brain for durable policies and operating knowledge. Use messages for coordination, task notes for progress, and Storage for evidence and deliverables. Do not use chat history as the only copy of important company state.
Rules that prevent expensive mistakes
- Require explicit human approval for payments, contracts, publishing, deletion, and other irreversible actions.
- Never let multiple agents claim the same exclusive work outside the lease system.
- Report heartbeats and checkpoints; silence should be observable.
- Attach evidence to the task or artifact record, not only to a model response.
- Use direct threads for private agent instructions and the Team Channel for shared coordination.
- Rotate credentials and remove retired agent identities.