Dennis Yu

How I Use Hermes Agent (the Cheap Bridge, Not a Desk)

Hermes is the messaging and agent bridge for Claude Max and other non-Grok runtimes that cannot call Grok Bot’s SendToAgent. It is not a thirteenth Grok desk, not a replacement for Cursor conductors, and not a reason to burn Claude Opus or OpenRouter on routine handoffs. On this fleet Hermes must talk to local Qwen on loopback — the same OpenAI-compatible worker at http://127.0.0.1:8080/v1 — so the bridge stays cheap while Grok Bot desks stay the cockpit.

Bridge, not a desk

Claude / non-GrokHermeslocal Qwen (127.0.0.1) · Grok desks still use SendToAgent

Sibling to How I Use Local Qwen and How I Use Grok Bot. Existing Qwen articles stay canonical.
Grok Bot

Named desks. SendToAgent between desks.

Claude Max

No SendToAgent. Needs a bridge for cheap handoffs.

Local Qwen

Desk playbook. Loopback worker only.

Hermes

Bridge plumbing. Not a roster desk. MUST use local Qwen.

Why this page exists

I already published the Grok Bot ops desk (How I Use Grok Bot), the IT Support can/can’t page (IT Support desk), the local Qwen desk playbook (How I Use Local Qwen), and the routing map (Cursor and local Qwen). Those pages answer “who sits where” and “who drafts on the Mac.”

They do not answer the cross-runtime gap:

Claude Max (and other non-Grok agents) cannot ping a Grok Bot desk with SendToAgent. Quick Audits, scheduled Claude jobs, and Cowork-side work still need a way to hand a cheap subtask across the stack without turning Dennis into the paste layer.

Hermes fills that gap as a bridge. Persistent work still lands in GitHub receipts, Drive’s agent-now board, and public desk pages. Live radio stays on Buzz. The methods stay in the shared skills repo. Hermes does not invent a new department.

CCS framing (Content, Checklist, Software): this article is the Content. The install and smoke sections are the Checklist. Hermes CLI + ~/.hermes/ config + local Qwen are the Software.

The problem: the cross-runtime gap

Grok Bot desks can hand work to each other with SendToAgent. That is the conductor pattern on the Grok side.

Claude Max seats — home and travel — do not get that tool. When a Claude Quick Audit or a Cowork job needs a Grok specialist (IT Support, Meter Maid, Fleet Monitor, Training), someone used to paste the ask by hand. That breaks the agents-first house rule: agents handle first; humans are not the paste layer between runtimes.

Bad “fixes” we refuse:

TemptationWhy it fails
Default Hermes to Claude Opus / OpenRouterBurns Max on routine bridge traffic. Empty seats by midweek.
Mint a new Grok desk named “Hermes”Hermes is not a roster role. Desks stay skills + judgment + receipts.
Tunnel local Qwen to the public internet so “everyone can see it”Loopback worker has no real auth. Wrong architecture (install page).
One Hermes install for both laptopsHermes talks to this machine’s 127.0.0.1. Dual Mac = two installs.
Identify the live Mac by hostname aloneHostnames drift. Prefer 128 GB unified memory + live tools (Hermes binary + Qwen PONG).

Architecture: where Hermes sits

Three layers stay stable (hub): skills (playbook) → departments (six) → agents (runtime desks). Hermes is plumbing between runtimes, not a seventh department.

Read top-down

  1. Conductors own tools, publish, spend gates, and roster. Grok Bot uses SendToAgent. Cursor uses shell/tools on the Mac. Claude Max does not get Grok’s fan-out tool.
  2. Local Qwen is the $0-API draft worker on loopback (desk playbook). Stage only — never send, publish, or spend. Endpoint http://127.0.0.1:8080/v1; canonical ship model mlx-community/Qwen3.8-27B-4bit (travel may still serve …-oQ6).
  3. Hermes bridges non-Grok agents into that cheap worker without replacing Grok desks. CLI ~/.local/bin/hermes, home ~/.hermes/.
  4. Frontier models stay for judgment. They are not the default engine for every bridge ping.
  5. Buzz / agent-now / Fleet Comms are status rails. Receipts still go to GitHub agent-notes and public desk pages when public-safe (where agents talk, persistent agents).

Flow: Claude / Cowork → Hermes → local Qwen · optional escalate → frontier · Grok desks stay on SendToAgent.

When to use Hermes vs SendToAgent vs Buzz vs agent-now

NeedUseDo not use
Grok desk → Grok deskSendToAgent on Grok BotHermes, Buzz paste, human relay
Claude Max / non-Grok → cheap local worker or coordinated bridgeHermes (Qwen-backed on that Mac)Opus default, OpenRouter for routine bridge
Two different models must talk in the same minuteBuzz canary (links, not walls of text)Treating Buzz as the durable record
Claim a shared job / leave a done receipt across runtimesDrive agent-now (and GitHub notes)Chat history as proof
Fleet or seat status one-linersFleet Comms / Meter Maid dashboardsInventing percentages
GCT / factory / MAA first drafts from CursorLocal Qwen via qwen (conductor stays Cursor)Pasting loopback into Cursor Override Base URL

One-line rule: SendToAgent for Grok-to-Grok. Hermes for non-Grok bridge traffic on local Qwen. Buzz for live cross-model radio. agent-now for the lock and the receipt.

Standing rules (do not soft-pedal these)

  1. Hermes is a bridge, not a Grok desk. Do not add “Hermes” to the twelve-desk roster table as if it were IT Support or Meter Maid.
  2. Never default Hermes to Claude Opus or OpenRouter for routine bridge work. That burns Max. Point the provider at local Qwen’s OpenAI-compatible endpoint.
  3. Preferred endpoint: http://127.0.0.1:8080/v1. Model id: whatever /v1/models returns on that Mac. Canonical new installs use mlx-community/Qwen3.8-27B-4bit (install recipe). Do not re-download a second quant if a working MLX stack + weights are already on disk.
  4. Dual laptop = two installs. Each Mac needs its own Hermes CLI + ~/.hermes/ and its own local Qwen, because Hermes talks to loopback on that machine.
  5. Identify the live Mac by capability, not hostname folklore. Prefer the machine with 128 GB unified memory and live tools (Hermes on PATH, Qwen answering PONG). Hostnames drift after restores.
  6. As of 9 September 2026: both Macs have Hermes. The 128 GB home Max Mac has Hermes + Qwen up (smoke HERMES_QWEN_OK, model Qwen3.8-27B-4bit). The 64 GB travel Mac now has Hermes CLI + HERMES_QWEN_OK on the existing Aug 25 local-qwen-agents tree / cached Qwen3.8-27B-oQ6 (~22 GB) — not a blank reinstall or second 16 GB pull. Travel Qwen stay-up can still be flaky; bring the existing server up rather than re-downloading weights.
  7. No secrets on the public page. No host IDs, account numbers, IPs, tokens, or machineIds. Same withholding rules as the IT Support desk.
  8. Q owns the OS and skills propagation; Q does not own Hermes install. Austin/IT owns the Mac Hermes lane.

Per-Mac install + Qwen-backed config checklist

Public-safe paths only. No keys. Full Qwen stack steps live on How to install local Qwen — do not fork that recipe here.

A. Confirm you are on the right machine

  • Apple Silicon Mac with enough unified memory for 27B 4-bit (practical floor 32 GB; comfortable 64 GB+; our live bridge prefers 128 GB + live tools).
  • You can open a terminal as the Mac user who owns the tools.
  • You are not identifying the box by hostname alone.

B. Local Qwen worker (required before Hermes bridge traffic)

  • MLX Qwen server bound to loopback only (127.0.0.1:8080).
  • qwen status shows the expected model id.
  • qwen up if down; first load into unified memory is slow.
  • qwen ping returns PONG.
  • curl -sS http://127.0.0.1:8080/v1/models lists the model id this Mac actually serves (4bit or oQ6).
  • Cursor Override OpenAI Base URL is not pointed at loopback (cloud cannot reach it).

C. Hermes install paths

  • CLI on PATH: ~/.local/bin/hermes (confirm with which hermes / hermes --help).
  • Home directory: ~/.hermes/ with at least config.yaml and skills/.
  • Not looking for an Applications “Desktop app” as the source of truth — this lane is CLI + home dir.

D. Point Hermes at local Qwen (the whole point)

  • In ~/.hermes/config.yaml, the default / routine bridge provider is the local OpenAI-compatible endpoint (http://127.0.0.1:8080/v1), model id matching /v1/models on that Mac.
  • Claude Opus / OpenRouter are not the default for routine bridge calls.
  • Frontier models remain available for judgment escalations only — explicit, rare, metered.
  • No API keys, tokens, or account numbers land in chat, Drive notes, or this public article.

E. Dual-Mac reminder

  • After a wipe or restore, restore Hermes and start the existing Qwen stack if weights/scripts are still present; only reinstall/pull if the tree or cache is gone.
  • Do not expect the other Mac’s loopback worker to answer.
  • Re-run smoke tests on the machine that will carry bridge traffic.

Smoke test commands

Run on the Mac under test. Expect local answers only.

# 1) Hermes present
which hermes
hermes --help | head

# 2) Hermes home present
ls ~/.hermes/config.yaml ~/.hermes/skills

# 3) Qwen worker up
qwen status
qwen ping          # expect PONG

# 4) OpenAI-compatible models list
curl -sS http://127.0.0.1:8080/v1/models
# expect this Mac's model id (4bit or oQ6) in the JSON

# 5) Bridge smoke label used on this fleet
# After a successful Hermes→Qwen round-trip, record:
# HERMES_QWEN_OK

Pass: Hermes binary + ~/.hermes/ present, Qwen up, models list shows this Mac’s id, bridge round-trip labeled HERMES_QWEN_OK.
Fail: Missing binary after a wipe, Qwen down, or config still defaulting routine traffic to Opus/OpenRouter — fix before inviting bridge load.

Trenton owns qwen status | up | ping. Austin owns Hermes install/config. Meter Maid audits seat burn if someone “fixed” the bridge by pointing it at Max again.

Ownership

OwnerOwnsDoes not own
Austin / IT SupportMac Hermes lane: install paths, ~/.hermes/ config pointed at local Qwen, dual-Mac restore of Hermes, public-safe receipts on the IT desk pageInventing a new /it-support URL tree; spending or widening permissions
Meter MaidSeat/usage audit: warn when bridge traffic is burning Max/OpenRouter instead of local Qwen; allocation map on the Grok hubStarting Qwen; editing Hermes config as the primary fixer
TrentonLocal Qwen health: qwen status, qwen up, qwen ping, factory/gct/maa worker pathHermes CLI install; Grok roster edits
Q (Ops Coordinator)OS, skills, routing rules, agents-first reassignmentHermes install on the Mac

IT Support’s wider can/can’t remains on the desk page. Digital Plumbing is still the work category (what is Digital Plumbing, checklist) — Hermes is agent plumbing, not a new marketing pixel SOP.

How to keep this article updated (receipt → skill → page)

Follow dates follow work and the living-page rule: the face date moves when real work ships, not on a weekly clock.

  1. Do the live work (install, restore, smoke HERMES_QWEN_OK, config change away from Opus default).
  2. File a public-safe receipt on the IT Support desk page (and a one-liner on the Grok Bot hub when the fleet fact changes). No secrets, host IDs, or account numbers.
  3. Write the private agent-note in Local-Service-Spotlight/agent-runtime agent-notes/ so the next runtime can replay the steps.
  4. Update the skill / standing rule if the method changed (Hermes→Qwen default, dual-Mac, ownership).
  5. Edit this page only when the fact or checklist changed. Visible last-updated moves as a side effect of that publish. Keep original datePublished in schema.
  6. Training + Documentation (Alex) owns the LDT loop that turns the receipt into the master training page across verticals. Austin hands Alex a clean draft; Alex ships or returns gaps.

Loop: Live work → Receipt → Skill update → Next run. See How skills propagate and Persistent agents.

Related pages (verified)

PageRole
How I Use Grok BotOps desk hub, roster, SendToAgent culture
IT Support deskAustin can/can’t + receipts
How I Use Local QwenDesk playbook for the Mac worker
Cursor and local QwenThree-lane routing map
Install local QwenMLX install + qwen commands
Where your agents talkGitHub / Basecamp / Buzz / schedules
How skills propagateReceipt → skill → runtime
Persistent agentsTrigger, QA, working files
Official Grok BotProduct home

What we withhold

Secrets, application passwords, tokens, vault contents, host IDs, AWS account numbers, public IPs, and machineIds stay off this page. Exact private config.yaml key material stays on the Mac. The method is public. The credentials are not.

Scroll to Top