Skip to content

Commit e6a26fe

Browse files
Refresh guide for Hermes v0.17.0 'Reach' and v0.18.0 'Judgment' (#26)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent 31ead74 commit e6a26fe

13 files changed

Lines changed: 423 additions & 59 deletions

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22

33
Dated list of meaningful guide updates. Roughly [Keep a Changelog](https://keepachangelog.com) flavored.
44

5+
## 2026-07-01 — Hermes v0.17.0 "Reach" + v0.18.0 "Judgment" Refresh
6+
7+
### Added
8+
- **Part 26 — MoA, Verification & Self-Improvement**: the v0.18 "Judgment" stack. Mixture-of-Agents presets as first-class selectable models (`moa` provider, visible per-reference reasoning, streaming aggregator, `/moa` one-shots, trace persistence), evidence-based coding verification (`agent.coding_context`, `pre_verify`, verify-on-stop), **completion contracts** for `/goal` + `/goal wait <pid>`, `/learn` + `/journey` self-improvement, background subagent fan-out, everyday commands (`/prompt`, `/reasoning full`, `/timestamps`, in-place compaction, Blank Slate setup), and the team/fleet layer (scale-to-zero + drain coordination, managed scope from `/etc/hermes`, multiplexed gateway, Automation Blueprints, cron continuations). New `assets/moa-judgment.png` banner.
9+
- Part 15: **iMessage via Photon Spectrum** (`hermes photon login`, no Mac required) as the recommended iMessage path, plus the official **WhatsApp Business Cloud API** adapter, the **Raft** agent-network channel, and Telegram rich messages (Bot API 10.1).
10+
- Part 24: v0.17/v0.18 desktop coverage — first-class **Projects** (coding rail, review pane, worktrees), multi-terminal panel, memory graph, subagent watch-windows, VS Code Marketplace themes, native notifications, remote media relay.
11+
- Part 9: **Google Vertex AI** provider, MoA-as-provider note, and Cursor **Composer** via xAI Grok OAuth.
12+
- Part 8: `delegate_task(background=true)` and background fan-out patterns.
13+
- Part 7: `memory` atomic batch operations, `/journey`, and the desktop memory graph.
14+
- Part 22 section 9 "Newer Power Moves (v0.17 → v0.18)".
15+
16+
### Changed
17+
- README badges, intro, "Pick Your Path," "What's New," TOC, and repo map now target Hermes **v0.18.0 (v2026.7.1)**; platform count updated to 25+; guide is now 27 parts.
18+
- Part 23: `/goal` guidance updated for completion contracts; Curator notes updated for the opt-in LLM consolidation pass (Part 22).
19+
20+
### Removed
21+
- **Gemini OAuth as a recommended provider** — the Gemini-CLI OAuth providers were removed in Hermes v0.18. Routing tables and Part 9/21/22 references now point to Gemini API keys or the new Vertex AI provider.
22+
- BlueBubbles-as-the-only-iMessage-path framing (kept as the self-hosted/legacy alternative).
23+
- v0.16-as-current framing and the expanded v0.15 "What's New" section (condensed into Earlier Milestones).
24+
525
## 2026-06-17 — Hermes v0.16.0 "Surface" Refresh
626

727
### Added

README.md

Lines changed: 38 additions & 20 deletions
Large diffs are not rendered by default.

assets/moa-judgment.png

1.7 MB
Loading

part15-new-platforms.md

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Part 15: Messaging Platforms (Teams, LINE, SimpleX, Google Chat, iMessage, WeChat, Android)
1+
# Part 15: Messaging Platforms (iMessage via Photon, WhatsApp Cloud, Teams, LINE, SimpleX, Google Chat, WeChat, Android)
22

3-
*Hermes' gateway is now a plugin host. v0.9 made Hermes "everywhere"; v0.11/v0.12 added QQBot, Tencent Yuanbao, and Microsoft Teams; v0.13 added Google Chat; v0.14 wires Teams end-to-end and adds LINE + SimpleX Chat.*
3+
*Hermes' gateway is now a plugin host. v0.9 made Hermes "everywhere"; v0.11/v0.12 added QQBot, Tencent Yuanbao, and Microsoft Teams; v0.13 added Google Chat; v0.14 wired Teams end-to-end and added LINE + SimpleX Chat; v0.15 added ntfy; and v0.17 "Reach" added the three biggest asks at once — **iMessage with no Mac required (Photon)**, an **official WhatsApp Business Cloud API** adapter, and the **Raft** agent-to-agent network.*
44

55
---
66

7-
## The 22+ Platform Lineup
7+
## The 25+ Platform Lineup
88

9-
As of v0.14, the gateway ships built-in adapters plus plugin-shipped platforms:
9+
As of v0.17, the gateway ships built-in adapters plus plugin-shipped platforms:
1010

1111
| Platform | Mode | Notes |
1212
|----------|------|-------|
@@ -16,8 +16,11 @@ As of v0.14, the gateway ships built-in adapters plus plugin-shipped platforms:
1616
| **Google Chat** | App / webhook | **New in v0.13**, Workspace-native chat surface |
1717
| **LINE** | Messaging API | **New in v0.14**, Japan/Korea/Taiwan mobile-first surface |
1818
| **SimpleX Chat** | Decentralized chat | **New in v0.14**, privacy-first chat with no user IDs |
19-
| WhatsApp | Web API | QR-code login, requires always-on node |
20-
| **iMessage (BlueBubbles)** | Webhook | **New in v0.9** |
19+
| WhatsApp (personal) | Web API | QR-code login, requires always-on node |
20+
| **iMessage (Photon)** | Photon Spectrum relay | **New in v0.17** — no Mac required |
21+
| **iMessage (BlueBubbles)** | Webhook | Self-hosted alternative (needs an always-on Mac) |
22+
| **WhatsApp Business Cloud API** | Official Meta webhook | **New in v0.17** — no QR node needed |
23+
| **Raft** | Agent network | **New in v0.17** — talk to other agents, not humans |
2124
| **Weixin (WeChat personal)** | Long-poll | **New in v0.9** |
2225
| **WeCom (Enterprise WeChat)** | Webhook | **New in v0.9** |
2326
| **QQBot** | WebSocket/Webhook | Added after the original v0.9 platform sweep |
@@ -41,7 +44,34 @@ All of them respect:
4144
- The shared session database (Part 7)
4245
- Pre-dispatch plugin hooks
4346

44-
This part covers the v0.9 adapters, the newer v0.12–v0.14 surfaces, and **Android / Termux** — running the agent itself on a phone.
47+
This part covers the v0.9 adapters, the newer v0.12–v0.17 surfaces, and **Android / Termux** — running the agent itself on a phone.
48+
49+
> **Telegram got richer in v0.17:** the Telegram adapter upgraded to Bot API 10.1 rich messages — formatted output with media, on by default. If your bot's replies suddenly look nicer, that's why; if a client chokes on them, they can be disabled per-gateway.
50+
51+
## 2026 Update (v0.17): iMessage Without a Mac, Official WhatsApp, and Raft
52+
53+
### iMessage via Photon Spectrum — the new default
54+
55+
The #1 ask since v0.9 — iMessage without dedicating a Mac — shipped in v0.17 as a platform plugin built on **Photon Spectrum's** managed line pool:
56+
57+
```bash
58+
hermes photon login # device-code OAuth — authenticate and you're live
59+
```
60+
61+
Sign in, and Hermes lives in the blue bubbles: DMs, markdown rendering, emoji reactions, outbound media — over a gRPC-native channel (no webhook), with no macOS server, no Full Disk Access, and no always-on hardware. Free to start, nothing to self-host. Access controls (pairing, allowlists, `/fast`, cron delivery) work like every other gateway.
62+
63+
Operationally:
64+
65+
- **Use Photon** if you just want Hermes on iMessage. It's the supported, zero-hardware path and is positioned as the successor to the BlueBubbles bridge.
66+
- **Keep BlueBubbles** (below) if you require fully self-hosted message flow — Photon is a relay service, so your iMessage traffic transits their infrastructure. For the privacy-maximalist posture, the Mac-based bridge is still the answer.
67+
68+
### WhatsApp Business Cloud API — the official path
69+
70+
The old WhatsApp adapter drives WhatsApp Web with a QR login and an always-on node — fine for personal use, fragile for production. v0.17 adds an adapter for **Meta's official Business Cloud API**: webhook-based, no browser session to babysit, and legitimate for business use. If you're building anything customer-facing on WhatsApp, use this one; keep the Web adapter for personal accounts.
71+
72+
### Raft — your agent gets peers
73+
74+
Raft is a channel where the counterparty is **another agent**, not a human. A bundled adapter connects Hermes to [Raft](https://raft.build) as an external agent through a wake-channel bridge: set `RAFT_PROFILE`, run the bridge, and Raft can wake Hermes to handle messages. The design is privacy-by-contract — wake payloads carry only metadata (event IDs, timestamps), never message bodies. Still: treat every inbound Raft message as **untrusted input** — same posture as a public group chat: quarantine profile, no write tools, approvals for anything that touches your machine. [Part 19](./part19-security-playbook.md) applies double here.
4575

4676
## 2026 Update: Teams, LINE, SimpleX, Google Chat, QQBot, and Yuanbao
4777

@@ -118,13 +148,13 @@ Use QQBot when your community already lives in QQ and you want the same approval
118148
Yuanbao is now a native gateway adapter with text and media delivery. It belongs in the same bucket as Weixin/WeCom: powerful in China/APAC workflows, but operationally different from Western SaaS bots. Verify media size limits and identity mapping before using it for production approvals.
119149
120150
121-
## iMessage via BlueBubbles
151+
## iMessage via BlueBubbles (Self-Hosted Alternative)
122152
123-
### Why This Matters
153+
### Why You'd Still Do This
124154
125-
Apple doesn't have a public iMessage API. The only supported path is [BlueBubbles](https://bluebubbles.app/), a free open-source macOS server that exposes a REST API + webhook feed on top of the native Messages.app database.
155+
> **Most people should use Photon now** (`hermes photon login`, above) — it needs no Mac at all. BlueBubbles remains the right choice when you want message flow that never leaves hardware you own.
126156

127-
If you have a Mac that stays on, you now have an iMessage bot with full media, reactions, typing indicators, and read receipts.
157+
[BlueBubbles](https://bluebubbles.app/) is a free open-source macOS server that exposes a REST API + webhook feed on top of the native Messages.app database. If you have a Mac that stays on, you get a fully self-hosted iMessage bot with full media, reactions, typing indicators, and read receipts.
128158

129159
### Prerequisites
130160

part18-coding-agents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Hermes is excellent at reasoning, memory, conversation, and workflow. It is *not
1212
|-------|-----------|------------|
1313
| **Claude Code** | Best unattended PR work, large refactors, tests, reviews; Week 20+ agent view, `/goal`, and fast Opus 4.7 mode make it the premium lane | Pro/Max OAuth or `ANTHROPIC_API_KEY` |
1414
| **Codex** (OpenAI) | Fast sandboxed feedback loop, bug hunts, small/medium edits; v0.133+ goals default well and runs cleanly behind `hermes proxy` | OAuth via `openai` CLI, `OPENAI_API_KEY`, or `hermes proxy` |
15-
| **Gemini CLI** | 1M context and multimodal repo/document sweeps; v0.43 improves surgical edits, session import/export, and OAuth behavior on headless Linux | OAuth via `gemini auth`; Hermes' own Gemini OAuth covers normal model-provider use |
15+
| **Gemini CLI** | 1M context and multimodal repo/document sweeps; v0.43 improves surgical edits, session import/export, and OAuth behavior on headless Linux | OAuth via `gemini auth`; for normal model-provider use, Hermes uses a `GEMINI_API_KEY` or Vertex AI ([Part 9](./part9-custom-models.md)) |
1616
| **OpenCode** (anomalyco) | Open-source, routes to Kimi K2.6 / GLM / MiMo cheaply | Bring any provider key |
1717
| **Aider** | Surgical git-based edits, smallest token footprint; works well through `hermes proxy` | Bring any provider key or local proxy |
1818

part21-remote-sandboxes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ sandboxes:
165165
pull_on_command: "/sync-home" # Manual sync when you want it
166166
```
167167

168-
Pair with the [Gemini OAuth provider](./part9-custom-models.md#gemini-oauth--free-tier-friendly) for free-tier-friendly long-context reads inside the sandbox.
168+
Pair with a [Gemini API key or Vertex AI](./part9-custom-models.md#google-api-key-or-vertex-ai-gemini-oauth-is-gone) for cheap long-context reads inside the sandbox.
169169

170170
---
171171

part22-latest-power-moves.md

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Part 22: Latest Power Moves — Curator, TUI, Plugins, Context Files
22

3-
*If you already know Hermes but missed the v0.11/v0.12 wave, read this part first for Curator, TUI, plugins, and context hygiene. For the v0.13/v0.14 durability + foundation layer — Kanban, `/goal`, `/handoff`, Checkpoints v2, no-agent cron, PyPI installs, proxy, and new platforms — go next to [Part 23](./part23-tenacity-stack.md). The newest everyday moves from v0.15 "Velocity" and v0.16 "Surface" — `/undo`, a default-interface choice, the fuzzy model picker, and leaner default skills — are in [section 8](#8-newer-power-moves-v015--v016). For the native GUI and the run-it-local story, see [Part 24](./part24-desktop-app.md) and [Part 25](./part25-nvidia-local.md).*
3+
*If you already know Hermes but missed the v0.11/v0.12 wave, read this part first for Curator, TUI, plugins, and context hygiene. For the v0.13/v0.14 durability + foundation layer — Kanban, `/goal`, `/handoff`, Checkpoints v2, no-agent cron, PyPI installs, proxy, and new platforms — go next to [Part 23](./part23-tenacity-stack.md). The everyday moves from v0.15 "Velocity" and v0.16 "Surface" — `/undo`, a default-interface choice, the fuzzy model picker, and leaner default skills — are in [section 8](#8-newer-power-moves-v015--v016), and the newest v0.17 "Reach" / v0.18 "Judgment" quick hits are in [section 9](#9-newer-power-moves-v017--v018). For the native GUI and the run-it-local story, see [Part 24](./part24-desktop-app.md) and [Part 25](./part25-nvidia-local.md). For the big v0.18 ideas — Mixture-of-Agents, verification, `/learn`, `/journey` — see [Part 26](./part26-moa-verification.md).*
44

55
---
66

@@ -23,6 +23,8 @@ Use it like this:
2323

2424
Curator should prune skills, not decide project policy. Put durable project rules in context files.
2525

26+
> **v0.17 change:** the Curator's LLM-driven consolidation pass is now **opt-in** — routine curation (archiving duplicates, pruning stale skills) costs zero tokens by default. Enable consolidation explicitly when you want it to actually merge and rewrite skills. Pair Curator with `/journey` ([Part 26](./part26-moa-verification.md#3-learn-and-journey--self-improvement-you-can-see)) to audit the memory side too.
27+
2628
---
2729

2830
## 2. Use the TUI as Your Daily Driver
@@ -211,11 +213,49 @@ When one board outgrows a single worker, `hermes kanban swarm` turns Kanban into
211213
212214
---
213215

216+
## 9. Newer Power Moves (v0.17 → v0.18)
217+
218+
The Reach and Judgment releases added another round of daily drivers. The headline features (MoA, verification, `/learn`, `/journey`, background fan-out) get their own part — [Part 26](./part26-moa-verification.md) — but these small ones deserve muscle memory:
219+
220+
### `/prompt` — compose long prompts in a real editor
221+
222+
Opens `$EDITOR` so you can write a multi-line, markdown-formatted prompt and have it queued as your next message. The single best QoL command of v0.18 for anyone writing detailed task briefs.
223+
224+
### `/reasoning full` — uncap thinking for a session
225+
226+
When a session hits something genuinely hard, `/reasoning full` removes the thinking budget cap for that session. Cheaper than switching to a bigger model for one gnarly step.
227+
228+
### `/timestamps` and a timestamped `/history`
229+
230+
Toggle inline timestamps on turns and see when things actually happened in `/history` — essential when auditing long autonomous runs.
231+
232+
### In-place compaction (no more broken `@session` links)
233+
234+
Context compression now rewrites the session **under the same session id** by default, instead of rotating to a new one. Long-running sessions keep their identity, so `@session` references, integrations, and desktop links stop silently breaking.
235+
236+
### `image_generate` learned image-to-image
237+
238+
Pass an input image and a transform prompt — restyle screenshots, apply logos, iterate on drafts — across every image provider, from any surface.
239+
240+
### `memory` batch operations
241+
242+
The `memory` tool applies multiple add/update/delete operations atomically in one call. Bulk cleanups (or a `/journey` pruning session) are one round-trip instead of ten.
243+
244+
### Automation Blueprints instead of raw cron
245+
246+
Parameterized automation templates that render as a dashboard form, a slash command, or a plain conversation ("set up my daily briefing for 8am"). Use them for anything you'd previously hand-rolled cron YAML for; keep raw cron for the deterministic no-agent watchdogs in [Part 23](./part23-tenacity-stack.md#5-use-no_agent-cron-for-watchdogs).
247+
248+
### Blank Slate setup
249+
250+
A minimal-agent onboarding mode: start from nothing and opt in tools one at a time. The right default for compliance-sensitive or locked-down machines.
251+
252+
---
253+
214254
## What to Ignore
215255

216256
Some old advice is no longer worth optimizing around:
217257

218-
- Do not install external Gemini CLI just for Gemini auth; Hermes can do OAuth itself.
258+
- Do not build your Gemini setup on the old Gemini-CLI OAuth providers — they were **removed in v0.18**. Use a Gemini API key, or the Vertex AI provider for GCP shops ([Part 9](./part9-custom-models.md)).
219259
- Do not fork the dashboard for a custom tab; write a dashboard plugin.
220260
- Do not keep a giant SOUL.md full of procedures; use skills and Curator.
221261
- Do not use one expensive default model for every auxiliary task.

part23-tenacity-stack.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ Use it for:
8484

8585
Do not use `/goal` for vague aspirations like "improve the project." Give it an observable exit condition: checks pass, PR opened, benchmark table updated, board card complete, etc.
8686

87+
> **v0.18 upgrade — completion contracts.** `/goal` now compiles your objective into an explicit **completion contract**, and the goal only closes when the contract's conditions are *demonstrated* — not when the model claims they are. Background goals run under the same contracts, and `/goal wait <pid>` blocks until a specific background goal completes (useful for chaining). Combined with coding verification, "done" now means proven. Details in [Part 26](./part26-moa-verification.md#2-verification--done-means-proven-not-claimed).
88+
8789
---
8890

8991
## 4. Checkpoints v2 Changes Your Risk Model

0 commit comments

Comments
 (0)