Hermes Agent

Hermes proposes user-owned routes for one-off subagents

Hermes proposes one-off delegated sessions with a user-owned return route, alongside an optional SSH/Tailscale skill-sync path and a request for a shared agent knowledge library.

← Back to homeOriginal source ↗

NousResearch/hermes-agent PR #94318 is the inspected primary source: “feat(skills): add optional skill-sync skill — sync skills between machines over SSH/Tailscale.” The related records below were inspected as supporting context rather than independent confirmation.

The facts

- NousResearch/hermes-agent PR #94318 was created 2026-08-25T00:31:10Z and was open at inspection; its title is “feat(skills): add optional skill-sync skill — sync skills between machines over SSH/Tailscale.” - NousResearch/hermes-agent issue #94317 was created 2026-08-25T00:25:34Z and was open at inspection; its title is “[Feature]: Sharing knowledge and skill between agents using a library like collection.” - NousResearch/hermes-agent PR #94312 was created 2026-08-25T00:11:17Z and was open at inspection; its title is “feat(delegation): add user-owned session route for one-off subagents.” - The repository reported 235792 stars, 35453 open issues, default branch main, and last push 2026-08-24T22:18:09Z. - The latest tagged-release baseline checked was v2026.8.19 published 2026-08-21T12:16:39Z.

What changed

NousResearch/hermes-agent PR #94318 reports: Summary Adds an optional skill-sync skill: sync ~/.hermes/skills/ between machines over SSH, with Tailscale as the recommended transport and a guided setup flow that walks the user through every missing prerequisite. Skills are where a Hermes install accumulates its value, and today there is no supported way to keep two machines' skill libraries in step (open asks in this space: #70578, #52529). This skill covers the multi-machine SSH case: pull newer/missing skills from a remote, push the local library to a fresh box, or triage per-skill with a report-only picker. Changes optional-skills/devops/skill-sync/SKILL.md — playbook with a prerequisite flow the agent drives interactively: Tailscale install/login, enabling sshd (incl. macOS Remote Login, which is off by default), ssh-keygen/ssh-copy-id, and probing for the right login name (Tailscale node name ≠ unix user) scripts/doctor.sh — checks local ssh/rsync/keypair/Tailscale plus per-remote reachability, key auth, rsync, and skills dir; every failure prints the exact fix (verified live against a real Tailscale remote) scripts/sync.sh — pull/push by SKILL.md mtime, whole-skill-directory rsync as the atomic unit; explicit remotes only, rsync errors surfaced (no 2>/dev/null), counters survive the transfer loop (heredoc, not a pipe subshell), post-push remote verification,.bak/.archive trees excluded, non-zero exit on any error scripts/p2p_sync.py — report-only per-skill picker that classifies remote copies as NEW / superset / divergent so forked skills are union-merged instead of clobbered

NousResearch/hermes-agent issue #94317 reports: Problem or Use Case I guess agents are going to rediscover everything. But they can share their knowledge, similar to how humans did it using books and librarie, which helped in boosting their progress. Proposed Solution Bring up a website similar to moltbook, but instead of useless social interaction, agents share their knowledge with each other. The form could be wiki like or library like. Agents could publish their data they seem useful, and others can consume them and vote on the usefulness. Alternatives Considered _No response_ Feature Type Other Scope Large (new module or significant refactor) Contribution [ ] I'd like to implement this myself and submit a PR Debug Report (optional)

NousResearch/hermes-agent PR #94312 reports: What does this PR do? Adds a user-owned, session-stored delegation route so a Desktop (or CLI/gateway) user can send the next delegate_task child — or every child in this session — to a chosen provider, model, and reasoning effort without switching the parent conversation’s model. Authorization lives in trusted session model_config (_delegation_route), not in model-facing delegate_task arguments. The agent can only consume a route the user already approved. One-shot routes are dropped after a successful spawn; session-scoped routes stay until /delegate-route clear. This keeps the standing delegation-model-routing boundary: the model cannot invent provider/model/effort on the tool. Related Issue Fixes #94133 Type of Change [ ] Bug fix (non-breaking change that fixes an issue) [x] New feature (non-breaking change that adds functionality) [ ] Security fix [ ] Documentation update [ ] Tests (adding or improving test coverage) [ ] Refactor (no behavior change) [ ] New skill (bundled or hub) Changes Made agent/delegation_session_route.py — parse/approve/peek/consume/overlay; live_session_row_id prefers the live agent session id over a stale session_key tools/delegate_tool.py — apply an approved route when spawning children; attach delegation_route metadata; consume one-shot routes after children are constructed /delegate-route on CLI, gateway, TUI, and Desktop (hermes_cli/commands.py, cli.py, hermes_cli/cli_commands_mixin.py, gateway/run.py, gateway/slash_commands.py, tui_gateway/server.py, tui_gateway/methods_tools.py) Desktop confirm card and slash palette (apps/desktop/src/lib/desktop-slash-commands.ts, apps/desktop/src/app/session/hooks/use-prompt-actions/slash.ts) Desktop delegate card shows requested and

Why it matters

Delegation becomes operationally useful only when work has an explicit owner, return address and bounded knowledge-sharing surface. The operator test is whether the system remains bounded and its receipts still describe the action after failure, retry or restart.

Current

The primary record was open when captured on 2026-08-25. The tagged-release baseline was v2026.8.19 published 2026-08-21T12:16:39Z. Repository metadata, full source bodies, current pull requests and issues, releases, Google News, Hacker News, Lobsters, Metamesh and the rendered ClawCharts row were inspected. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/NousResearch/hermes-agent/pull/94318. Supporting records are https://github.com/NousResearch/hermes-agent/issues/94317 and https://github.com/NousResearch/hermes-agent/pull/94312. Source bodies, timestamps and states are preserved in the daily evidence bundle. Test counts and reproductions remain attributed to their authors unless identified as independently rerun.

Source boundary

Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Keep session ownership durable across delegation, make skill sync opt-in and conflict-aware, and separate reusable library promotion from raw cross-agent state sharing. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently.

Caveat

Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.

Source inspected; source state, environment and release boundary remain explicit.