- Hermes / Eliza drive Smithers: they run and operate durable workflows.
- Smithers drives Hermes:
HermesCliAgentlets a workflow<Task>delegate to the Hermes agent itself (see CLI agents).
Hermes: a native plugin (not just MCP)
Smithers installs a native Hermes plugin, which is far richer than a bare MCP entry. MCP can only expose tools. The plugin adds:- Slash commands (
/smithers run|ps|inspect|approve|deny|watch) usable in the Hermes CLI and every gateway (Discord, Telegram, Slack). - A live-run status injector (
pre_llm_callhook) so Hermes is aware of active and paused runs, and any pending approval gates, on every turn. - Tools:
smithers_run,smithers_ps,smithers_inspect,smithers_approve,smithers_deny,smithers_output,smithers_human_answer. - A bundled skill (
smithers:orchestrate) that teaches Hermes to prefer a durable workflow over a one-off skill. - Gateway push-back: a detached run launched from a chat session reports its result back into that same session.
- Slack approval buttons: an approval gate becomes Approve / Deny buttons that
map straight to
bunx smithers-orchestrator approve/bunx smithers-orchestrator deny.
Distribution is one command
The plugin ships inside the Smithers CLI, so installing it is automatic:~/.hermes/plugins/smithers/, installs the
gateway hook into ~/.hermes/hooks/smithers/, enables it in
~/.hermes/config.yaml, and also registers the MCP server as a floor (so tools
work even if user plugins are disabled). It is idempotent: rerun it any time to
upgrade.
Verify it loaded:
Eliza (elizaOS): a drop-in plugin
For Eliza, Smithers ships@smithers-orchestrator/eliza-plugin.
Add it to your character and the Smithers capability is automatically included
in the agent: a provider injects live Smithers run status into the agentโs context
on every turn, and actions let it launch and operate runs.
RUN_SMITHERS_WORKFLOW: start a durable workflow for any multi-step or background task (falls back tocreate-workflowto author one from the request).SMITHERS_APPROVE/SMITHERS_DENY: clear approval gates.SMITHERS_RUNSprovider: every turn, the agent automatically sees what is running and what needs a human.
smithers CLI (override
the binary with $SMITHERS_BIN).
Why a workflow, not a skill
In both runtimes the guidance is the same: a Smithers workflow is a superset of a skill. A skill is static instructions; a workflow is executable, durable, typed, inspectable, composable, and optimizable. Capture reusable procedures as workflows (even small one-task ones), and optimize them like skills withbunx smithers-orchestrator eval, scorers, and bunx smithers-orchestrator optimize. See the
smithers skill.
Links
- Hermes agent: github.com/NousResearch/hermes-agent
- Eliza (elizaOS): github.com/elizaOS/eliza
- Smithers Eliza plugin source: integrations/eliza
- Hermes plugin source: apps/cli/src/hermes-plugin