简报·YT
← 返回 GitHub 动态
NousResearch/hermes-agent · 📈 热门项目 已完成

NousResearch/hermes-agent v2026.8.3

2026-08-03 16:57 · ⭐ 22.5万 · GitHub Release 原文 ↗
#AI Agent #语音交互 #开源项目

NousResearch/hermes-agent v2026.8.3

Hermes Agent 是一个开源 AI 智能体项目,支持通过 CLI、桌面端以及 WhatsApp、飞书、Discord、Slack 等多种消息平台与 AI 协作,完成编码、研究、自动化等任务。它迭代极快、社区活跃,本次 v0.20.0 是功能密度极高的大版本。

一句话概括:本次更新让 Hermes 拥有实时对话式语音、可与其他 Agent 互通、能产出带可验证引用的研究,并把桌面应用升级为可扩展平台,同时大幅提升性能、可靠性和自动化能力。

主要更新要点

Breaking changes / 注意: - 运行时要求 Node 26。 - 停用 brew 和 pip/PyPI wheel 发布渠道,官方支持渠道为 shell installer / Docker / Nix。

版本规模:自 v0.19.0 以来约 3,650 commits、1,400+ merged PRs、~1,200 issues 关闭,647 位贡献者。

▸ Release Notes 英文原文(57799 字符)
# Hermes Agent v0.20.0 (v2026.8.3) **Release Date:** August 3, 2026 **Since v0.19.0:** ~3,650 commits · ~1,400 merged PRs · ~5,200 files changed · ~559,000 insertions · ~405,000 deletions · **~1,200 issues closed** · 650+ contributors > **The Herald Release.** Hermes is the herald of the gods, and this release makes him one in earnest: he **speaks** (real-time conversational voice with streaming TTS, barge-in, on-device wake words, and hands-free control across the CLI, desktop, and every audio-capable gateway platform), he **carries word to other agents** (A2A v1.0), he **announces events to your systems** (signed outbound webhooks), and he **cites his sources** (grounded research with verifiable citations and fact-checking). Around that spine: the desktop app became a platform (artifacts with live preview, a plugin SDK, quick-entry from anywhere, multiple windows), the CLI got a wave of power commands (`!` shell mode, `/init`, `/diff`, `/context`, `/focus`), compression got smarter and gentler, and the tools themselves now recover from their own failures instead of making the model guess. This release rolls up everything from the v0.19.1 infrastructure patch tag — that window is fully documented here. --- ## ✨ Highlights - **Talk to Hermes — streaming, conversational voice with barge-in** — Voice mode used to mean: speak, wait for the whole reply to generate, then listen to one long audio file. Now Hermes speaks clause-by-clause as the response streams, you can interrupt it mid-sentence by just talking (it stops, listens, and the model is told you cut in), and busy-aware silence detection means it doesn't talk over you. This works in CLI voice mode, on the desktop, and through gateway adapters. Talking to Hermes finally feels like a conversation, not a voicemail exchange. ([#69511](https://github.com/NousResearch/hermes-agent/pull/69511), [#73862](https://github.com/NousResearch/hermes-agent/pull/73862), [#74223](https://github.com/NousResearch/hermes-agent/pull/74223), [#74000](https://github.com/NousResearch/hermes-agent/pull/74000), [#69602](https://github.com/NousResearch/hermes-agent/pull/69602) — @teknium1, @OutThisLife) - **Wake words and hands-free control** — Say your own open-vocabulary wake phrase ("hey Hermes", or anything you pick) and Hermes starts listening — detection runs on-device, so no audio leaves your machine while it waits. Multi-profile voice routing means different wake words can reach different profiles, and saying "stop" ends the voice chat on every surface without touching the keyboard. Your terminal is now something you can talk to from across the room. ([#70509](https://github.com/NousResearch/hermes-agent/pull/70509), [#73106](https://github.com/NousResearch/hermes-agent/pull/73106), [#73933](https://github.com/NousResearch/hermes-agent/pull/73933) — @teknium1) - **Voice on every platform** — Send a voice note to Hermes on WhatsApp, Feishu, DingTalk, LINE, QQ, Photon, or Weixin and it's transcribed and answered; auto-TTS replies are delivered platform-aware (opus where platforms want opus, captions attached correctly). STT is now fully configurable — its own `hermes tools` category, GUI toggles, dashboard dropdowns, unified language resolution so transcripts stop coming back in the wrong language, and OpenAI's gpt-transcribe support. One unified spoken-text preprocessor cleans markdown, code, and URLs out of speech across all TTS providers. ([#73515](https://github.com/NousResearch/hermes-agent/pull/73515), [#73508](https://github.com/NousResearch/hermes-agent/pull/73508), [#73910](https://github.com/NousResearch/hermes-agent/pull/73910), [#73513](https://github.com/NousResearch/hermes-agent/pull/73513), [#73067](https://github.com/NousResearch/hermes-agent/pull/73067) — @teknium1) - **Research you can trust — grounded citations with fact-checking** — The new `grounded-citations` skill makes Hermes produce research where every claim is backed by a verifiable source: quotes are matched against the actual page text (not hallucinated), citations link to the exact evidence, and a fact-checking mode turns the same machinery on any document or claim you hand it — it tells you what checks out, what doesn't, and what couldn't be verified. If you use Hermes for research, this is the difference between "sounds right" and "provably sourced." ([#71698](https://github.com/NousResearch/hermes-agent/pull/71698), [#77104](https://github.com/NousResearch/hermes-agent/pull/77104) — @teknium1) - **Outbound webhooks — Hermes pushes events to your systems** — Until now, integrating with Hermes meant polling or listening on a platform. Now Hermes pushes **signed lifecycle events** (session activity, turn completions, tool events) to any HTTP endpoint you register — with HMAC signatures so your receiver can verify authenticity. Wire Hermes into your CI, your home automation, your dashboards, or any service that speaks HTTP, with no polling loop. ([#69406](https://github.com/NousResearch/hermes-agent/pull/69406) — @teknium1) - **The desktop app becomes a platform — artifacts, plugin SDK, quick entry** — Hermes desktop now renders **artifacts**: versioned cards with sandboxed live preview in a right-rail viewer, so generated HTML/apps run safely next to the chat. A real **plugin SDK** landed with Kanban as its founding plugin, `ctx.download` for handing users files, floating pane placement, and multiple GUI windows. A global-hotkey **quick-entry window** captures a thought into any session from anywhere in your OS. The desktop stopped being a chat client and started being a workbench. ([#72345](https://github.com/NousResearch/hermes-agent/pull/72345), [#61173](https://github.com/NousResearch/hermes-agent/pull/61173), [#74413](https://github.com/NousResearch/hermes-agent/pull/74413), [#72315](https://github.com/NousResearch/hermes-agent/pull/72315), [#68259](https://github.com/NousResearch/hermes-agent/pull/68259), [#73143](https://github.com/NousResearch/hermes-agent/pull/73143) — @OutThisLife, @teknium1) - **Hermes speaks Agent-to-Agent — A2A v1.0** — A new bundled plugin implements the Agent-to-Agent protocol, so Hermes can discover, talk to, and be driven by other A2A-compatible agents. This closes issue #514 — one of the oldest open feature requests in the repo. If you're building multi-agent systems with heterogeneous stacks, Hermes now has a standard wire protocol for joining them. ([#77109](https://github.com/NousResearch/hermes-agent/pull/77109) — @teknium1) - **CLI power-user wave** — `!command` runs a shell command instantly without spending a model turn. `/init` scans your project and generates (or updates) an `AGENTS.md`. `/diff` shows staged/all/session changes from any surface, `/context` breaks down exactly what's filling your context window, `/focus` gives you a reduced-output view with hidden-line recovery, and Ctrl+S stashes a half-written prompt into a browsable panel. Plus `hermes import-agent` migrates your Claude Code or Codex CLI setup into Hermes in one command. ([#72257](https://github.com/NousResearch/hermes-agent/pull/72257), [#72178](https://github.com/NousResearch/hermes-agent/pull/72178), [#72240](https://github.com/NousResearch/hermes-agent/pull/72240), [#72242](https://github.com/NousResearch/hermes-agent/pull/72242), [#72302](https://github.com/NousResearch/hermes-agent/pull/72302), [#72262](https://github.com/NousResearch/hermes-agent/pull/72262), [#72190](https://github.com/NousResearch/hermes-agent/pull/72190) — @teknium1, several salvaging long-standing community PRs) - **Correct the agent mid-turn — redirects** — If Hermes is heading the wrong way, you no longer have to `/stop` and re-explain. Type a correction while it works and the active turn is redirected: work in flight is preserved, the original prompt is kept, and the agent course-corrects with your new guidance. Paired with double-ESC draft discard and a composer undo stack, steering feels like editing, not restarting. ([#63104](https://github.com/NousResearch/hermes-agent/pull/63104), [#72339](https://github.com/NousResearch/hermes-agent/pull/72339), [#74736](https://github.com/NousResearch/hermes-agent/pull/74736) — @OutThisLife) - **Tools that fix themselves** — A sweep of self-recovery upgrades means the agent wastes far fewer turns on tool friction: truncated terminal output spills to a file the agent can read back, `patch` detects already-applied edits and diagnoses whitespace mismatches, `write_file` verifies content on disk, searches that match nothing probe for near-misses and recover, and common failure classes come back with actionable hints. The default tool-calling iteration limit also jumped 90 → 500 — long autonomous runs stopped hitting an artificial wall. ([#77041](https://github.com/NousResearch/hermes-agent/pull/77041), [#76998](https://github.com/NousResearch/hermes-agent/pull/76998), [#77024](https://github.com/NousResearch/hermes-agent/pull/77024), [#77055](https://github.com/NousResearch/hermes-agent/pull/77055), [#77011](https://github.com/NousResearch/hermes-agent/pull/77011), [#76992](https://github.com/NousResearch/hermes-agent/pull/76992), [#72176](https://github.com/NousResearch/hermes-agent/pull/72176) — @teknium1) - **Compression that respects your conversation** — Context compression got a deep overhaul: proactive tool-result pruning for large-window models, per-turn micro-compaction that amortizes the cost instead of one giant pause, a guaranteed N-user-message tail so recent conversation always survives, progress-aware timeouts that stop punishing slow summary models, and ghost-skill defense so a pruned skill can never silently haunt a session. Thresholds are now configurable per-model and in absolute tokens. Long sessions stay coherent and stop stalling. ([#70254](https://github.com/NousResearch/hermes-agent/pull/70254), [#75345](https://github.com/NousResearch/hermes-agent/pull/75345), [#70250](https://github.com/NousResearch/hermes-agent/pull/70250), [#71508](https://github.com/NousResearch/hermes-agent/pull/71508), [#70275](https://github.com/NousResearch/hermes-agent/pull/70275) — @teknium1, @kshitijk4poor, salvaging multiple community PRs) - **Smart approvals grow up** — `hermes approvals suggest` mines your approval history into allowlist proposals, operators can customize the smart-approval policy, a consecutive-denial circuit breaker stops a misbehaving loop cold, and desktop pairing approvals are profile-correct with a proper surface to answer them from. Plus a new approval gate for docker/podman daemon-redirect commands. Less clicking "approve", without giving an inch of control. ([#72259](https://github.com/NousResearch/hermes-agent/pull/72259), [#72186](https://github.com/NousResearch/hermes-agent/pull/72186), [#72203](https://github.com/NousResearch/hermes-agent/pull/72203), [#74446](https://github.com/NousResearch/hermes-agent/pull/74446), [#71092](https://github.com/NousResearch/hermes-agent/pull/71092) — @teknium1, @OutThisLife) - **Faster everywhere, again** — Prompt caching now covers tool schemas on native Anthropic without history loss. `hermes -w` cold start dropped ~14s → ~1.8s, `hermes update` no-ops got 2–6s faster, heavy SDKs lazy-load off the import path, config reads stopped deep-copying (54× faster on the telemetry gate), and the desktop shipped a second 60fps wave — streaming cost independent of transcript length, drag at 60fps with five streaming tabs, idle CPU near zero in the background. ([#76032](https://github.com/NousResearch/hermes-agent/pull/76032), [#71637](https://github.com/NousResearch/hermes-agent/pull/71637), [#74218](https://github.com/NousResearch/hermes-agent/pull/74218), [#74204](https://github.com/NousResearch/hermes-agent/pull/74204), [#71835](https://github.com/NousResearch/hermes-agent/pull/71835), [#72346](https://github.com/NousResearch/hermes-agent/pull/72346), [#75218](https://github.com/NousResearch/hermes-agent/pull/75218) — @kshitijk4poor, @teknium1, @OutThisLife) - **New places to run and be reached** — Buzz lands as a bundled gateway platform (Block's Nostr-based messenger, with native WebSocket transport and NIP-42 auth), the Vercel AI Gateway provider and Vercel Sandbox terminal backend return modernized, desktop gains an SSH remote-backend connection mode, and the Relay shipped four phases of parity — media, interactive prompts, thread lifecycle, typing indicators — plus HSP personal + org skill sync. ([#73610](https://github.com/NousResearch/hermes-agent/pull/73610), [#73761](https://github.com/NousResearch/hermes-agent/pull/73761), [#74518](https://github.com/NousResearch/hermes-agent/pull/74518), [#68130](https://github.com/NousResearch/hermes-agent/pull/68130), [#71300](https://github.com/NousResearch/hermes-agent/pull/71300)–[#71624](https://github.com/NousResearch/hermes-agent/pull/71624), [#66730](https://github.com/NousResearch/hermes-agent/pull/66730) — @teknium1, @yoniebans, @benbarclay) --- ## 🎙️ Voice & Speech ### Conversational voice - Streaming, conversational TTS with barge-in across all surfaces; clause-by-clause synthesis for CLI voice mode + gateway adapters ([#69511](https://github.com/NousResearch/hermes-agent/pull/69511), [#73862](https://github.com/NousResearch/hermes-agent/pull/73862) — @OutThisLife, @teknium1) - Voice chat UX polish — busy-aware silence, stop hint, thinking sounds, barge-in fix; full-duplex turn listener (interrupt by voice during generation AND playback) ([#74000](https://github.com/NousResearch/hermes-agent/pull/74000), [#74223](https://github.com/NousResearch/hermes-agent/pull/74223) — @teknium1) - On-device wake words with open-vocabulary phrases + multi-profile voice routing; say "stop" to end voice chat hands-free on every surface ([#70509](https://github.com/NousResearch/hermes-agent/pull/70509), [#73106](https://github.com/NousResearch/hermes-agent/pull/73106), [#73933](https://github.com/NousResearch/hermes-agent/pull/73933) — @teknium1) - The model is told when the user interrupts its spoken reply; desktop speaks the whole turn and idle-flushes held narration ([#69602](https://github.com/NousResearch/hermes-agent/pull/69602), [#69936](https://github.com/NousResearch/hermes-agent/pull/69936) — @OutThisLife, @teknium1) - 15-item CLI/TUI voice-mode UX and environment fix wave ([#73520](https://github.com/NousResearch/hermes-agent/pull/73520) — @teknium1) ### TTS / STT infrastructure - Unified spoken-text preprocessing + speed/instructions/provider tool params; unified STT language resolution (fixes the wrong-language transcription class); global `stt.language` defaults to `en` ([#73513](https://github.com/NousResearch/hermes-agent/pull/73513), [#73067](https://github.com/NousResearch/hermes-agent/pull/73067), [#73100](https://github.com/NousResearch/hermes-agent/pull/73100) — @teknium1) - Fully configurable STT — `hermes tools` category, GUI toggle/matrix, dashboard dropdowns, setup status; OpenAI gpt-transcribe support ([#73910](https://github.com/NousResearch/hermes-agent/pull/73910), [#73853](https://github.com/NousResearch/hermes-agent/pull/73853) — @teknium1) - Platform-aware auto-TTS voice delivery (opus platforms, streamed/global gap, captions); inbound voice classification/routing for Feishu, DingTalk, LINE, QQ, Photon, WhatsApp, Weixin ([#73508](https://github.com/NousResearch/hermes-agent/pull/73508), [#73515](https://github.com/NousResearch/hermes-agent/pull/73515) — @teknium1) - Command TTS/STT provider hardening — idle timeouts, env scrubbing, no-shell, path guards ([#73514](https://github.com/NousResearch/hermes-agent/pull/73514) — @teknium1) - Sync per-sentence TTS synthesis pipelined with playback — the next sentence renders while the current one speaks ([#77355](https://github.com/NousResearch/hermes-agent/pull/77355) — @kshitijk4poor) - Discord voice PCM streams to ffmpeg stdin instead of a temp file ([#76970](https://github.com/NousResearch/hermes-agent/pull/76970) — @kshitijk4poor) ## 🏗️ Core Agent & Architecture ### Compression & context - Proactive tool-result pruning for large-window models; per-turn micro-compaction; N-user tail guarantee (`compression.min_tail_user_messages`); bounded summarizer input with head+tail retention ([#70254](https://github.com/NousResearch/hermes-agent/pull/70254), [#75345](https://github.com/NousResearch/hermes-agent/pull/75345), [#70250](https://github.com/NousResearch/hermes-agent/pull/70250), [#70249](https://github.com/NousResearch/hermes-agent/pull/70249) — @teknium1, @kshitijk4poor) - Ghost-skill defense — `[SKILL_PRUNED]` markers, protected prune, deterministic survival; progress-aware timeouts; lock-contended compression soft-defers instead of exhausting ([#70275](https://github.com/NousResearch/hermes-agent/pull/70275), [#71508](https://github.com/NousResearch/hermes-agent/pull/71508), [#70285](https://github.com/NousResearch/hermes-agent/pull/70285) — @teknium1) - Per-model threshold overrides; absolute token threshold (`compression.threshold_tokens`); opt-in idle-triggered compaction; opt-in progress notices; structured local logging for compression attempts ([#69339](https://github.com/NousResearch/hermes-agent/pull/69339), [#69335](https://github.com/NousResearch/hermes-agent/pull/69335), [#69360](https://github.com/NousResearch/hermes-agent/pull/69360), [#70457](https://github.com/NousResearch/hermes-agent/pull/70457), [#69338](https://github.com/NousResearch/hermes-agent/pull/69338) — @teknium1) - Context-engine ABC grows `select_context()` + `on_turn_complete()` verbs (salvage of @chaos-xxl's RFC work); engines can suppress or customize compaction status ([#70458](https://github.com/NousResearch/hermes-agent/pull/70458), [#69859](https://github.com/NousResearch/hermes-agent/pull/69859) — @teknium1) - Strict redaction applied at every compaction text boundary ([#69294](https://github.com/NousResearch/hermes-agent/pull/69294) — @teknium1) ### Prompt caching & hot-path performance - Tool schemas cached on native Anthropic without history loss + consolidated cache-plan internals ([#76032](https://github.com/NousResearch/hermes-agent/pull/76032), [#76067](https://github.com/NousResearch/hermes-agent/pull/76067) — @kshitijk4poor) - DeepSeek prompt caching on OpenCode gateways; per-API-call token accounting off the turn thread; OpenAI wire client reused across sequential LLM calls; send-path tool-call canonicalization memoized ([#75886](https://github.com/NousResearch/hermes-agent/pull/75886), [#73359](https://github.com/NousResearch/hermes-agent/pull/73359), [#73375](https://github.com/NousResearch/hermes-agent/pull/73375), [#76880](https://github.com/NousResearch/hermes-agent/pull/76880) — @teknium1, @kshitijk4poor) - Readonly config loader at 29 call sites (28× cheaper reads); per-turn config deepcopies killed (telemetry gate 54×); one raw config.yaml parse per process; inter-tool delay removed ([#74322](https://github.com/NousResearch/hermes-agent/pull/74322), [#74211](https://github.com/NousResearch/hermes-agent/pull/74211), [#74228](https://github.com/NousResearch/hermes-agent/pull/74228), [#64172](https://github.com/NousResearch/hermes-agent/pull/64172) — @teknium1, @Soju06) - Lazy heavy-SDK imports (−8-10% import cost on top of the mcp/tool-discovery diet); streaming hot loop drops per-chunk repr() (~3× cheaper accounting); cursor/memo optimizations for per-iteration history walks ([#74204](https://github.com/NousResearch/hermes-agent/pull/74204), [#74194](https://github.com/NousResearch/hermes-agent/pull/74194), [#74221](https://github.com/NousResearch/hermes-agent/pull/74221), [#74231](https://github.com/NousResearch/hermes-agent/pull/74231) — @teknium1) - Cold-start ~14s GIL stall during backend init mitigated; turn flush batched into one SQLite transaction; provider-capability-gated prompt cache keys (implied for api.openai.com) ([#77814](https://github.com/NousResearch/hermes-agent/pull/77814), [#77619](https://github.com/NousResearch/hermes-agent/pull/77619), [#77609](https://github.com/NousResearch/hermes-agent/pull/77609) — @kshitijk4poor) - AIAgent hot-path salvage — prompt-cache copy, reasoning-timeout precompute, lazy compressor init ([#57229](https://github.com/NousResearch/hermes-agent/pull/57229) — @kshitijk4poor) ### Approvals & the agent loop - `hermes approvals suggest` mines approval history into allowlist proposals; operator-customizable `approvals.smart_policy`; consecutive-denial circuit breaker; cross-surface approvals mode command ([#72259](https://github.com/NousResearch/hermes-agent/pull/72259), [#72186](https://github.com/NousResearch/hermes-agent/pull/72186), [#72203](https://github.com/NousResearch/hermes-agent/pull/72203), [#63517](https://github.com/NousResearch/hermes-agent/pull/63517) — @teknium1) - Docker/podman daemon-redirect commands require approval; session-wide runaway-loop caps for web_search + delegate_task (Claude Code-inspired) ([#71092](https://github.com/NousResearch/hermes-agent/pull/71092), [#66600](https://github.com/NousResearch/hermes-agent/pull/66600) — @teknium1) - Mid-turn redirects — user corrections steer the active turn, preserving in-flight work and the original prompt ([#63104](https://github.com/NousResearch/hermes-agent/pull/63104), [#72339](https://github.com/NousResearch/hermes-agent/pull/72339) — @OutThisLife) - Delegation: structured timeout/stall metadata + live per-child status in `/agents`; subagents can use `execute_code`; redacted child tool history exposed in `subagent_stop`; public subagent lifecycle API for plugins ([#72300](https://github.com/NousResearch/hermes-agent/pull/72300), [#69325](https://github.com/NousResearch/hermes-agent/pull/69325), [#72403](https://github.com/NousResearch/hermes-agent/pull/72403), [#72501](https://github.com/NousResearch/hermes-agent/pull/72501) — @teknium1) - Single-owner refactors for backend identity + failure-scoped skips, empty-content wire repair, call_id/reasoning sanitization, model-switch parsing ([#72505](https://github.com/NousResearch/hermes-agent/pull/72505), [#73071](https://github.com/NousResearch/hermes-agent/pull/73071), [#74319](https://github.com/NousResearch/hermes-agent/pull/74319), [#74229](https://github.com/NousResearch/hermes-agent/pull/74229) — @teknium1) - Labeled reasoning excerpt surfaced at the empty-response terminal; tool_search probe-validates blind tool_call args ([#65144](https://github.com/NousResearch/hermes-agent/pull/65144), [#59267](https://github.com/NousResearch/hermes-agent/pull/59267) — @teknium1) ### Tool self-recovery wave - Terminal: recoverable truncation (full output spilled + pre-truncation size), cwd echoed when a command changes directory, output-pattern failure hints ([#77041](https://github.com/NousResearch/hermes-agent/pull/77041), [#77004](https://github.com/NousResearch/hermes-agent/pull/77004), [#76992](https://github.com/NousResearch/hermes-agent/pull/76992) — @teknium1) - Patch: already-applied edits return success no-op, whitespace-visualized no-match diagnosis, ambiguous-match locations listed ([#76998](https://github.com/NousResearch/hermes-agent/pull/76998), [#77024](https://github.com/NousResearch/hermes-agent/pull/77024), [#77001](https://github.com/NousResearch/hermes-agent/pull/77001) — @teknium1) - Search: zero-match probes + multi-path recovery, auto-multiline for newline patterns; read_file default limit 500 → 2000 lines; negative-result cache for read/search misses; write_file verifies on-disk content ([#77011](https://github.com/NousResearch/hermes-agent/pull/77011), [#77102](https://github.com/NousResearch/hermes-agent/pull/77102), [#76996](https://github.com/NousResearch/hermes-agent/pull/76996), [#76945](https://github.com/NousResearch/hermes-agent/pull/76945), [#77055](https://github.com/NousResearch/hermes-agent/pull/77055) — @teknium1, @kshitijk4poor) - execute_code recovery hints; skill_view dedup stub for unchanged re-reads; terminal/execute_code schema prose trimmed ~40%; tiered tool disclosure scales with catalog size; default iteration limit 90 → 500 ([#77106](https://github.com/NousResearch/hermes-agent/pull/77106), [#77095](https://github.com/NousResearch/hermes-agent/pull/77095), [#77023](https://github.com/NousResearch/hermes-agent/pull/77023), [#67034](https://github.com/NousResearch/hermes-agent/pull/67034), [#72176](https://github.com/NousResearch/hermes-agent/pull/72176) — @teknium1) ### Providers & models - Vercel AI Gateway provider + Vercel Sandbox terminal backend return, modernized (SDK 0.7.2, telemetry off) ([#74518](https://github.com/NousResearch/hermes-agent/pull/74518) — @teknium1) - Gemini 3.1 Pro + 3.6 Flash in catalogs; Gemini salvage cluster (3.6-flash aux default, Vertex catalog, direct cost tracking); claude-opus-5 in OpenRouter + Nous Portal; deepseek-v4-flash-0731 ([#73479](https://github.com/NousResearch/hermes-agent/pull/73479), [#73516](https://github.com/NousResearch/hermes-agent/pull/73516), [#70946](https://github.com/NousResearch/hermes-agent/pull/70946), [#75501](https://github.com/NousResearch/hermes-agent/pull/75501) — @teknium1) - Bedrock Converse API prompt caching (cachePoint) ([#70231](https://github.com/NousResearch/hermes-agent/pull/70231) — @JoaoMarcos44) - OpenAI data-residency endpoints get declared transport + correct catalog; provider-aware API-server request routing; backend-acknowledged session model lock; Nous sticky routing via top-level session_id ([#74958](https://github.com/NousResearch/hermes-agent/pull/74958), [#70853](https://github.com/NousResearch/hermes-agent/pull/70853), [#70950](https://github.com/NousResearch/hermes-agent/pull/70950), [#69253](https://github.com/NousResearch/hermes-agent/pull/69253) — @victor-kyriazakos, @teknium1) - Model picker: curated defaults + collapsible providers + select-all; stale caches served instantly with background refresh; custom-endpoint probe capped at 1.5s; honcho OAuth device-code login ([#73172](https://github.com/NousResearch/hermes-agent/pull/73172), [#76430](https://github.com/NousResearch/hermes-agent/pull/76430), [#76922](https://github.com/NousResearch/hermes-agent/pull/76922), [#61608](https://github.com/NousResearch/hermes-agent/pull/61608) — @OutThisLife, @teknium1, @kshitijk4poor, @akattelu) - ACP: named custom providers in the model selector; authenticated cross-provider model choices; non-blocking startup via background MCP discovery ([#70082](https://github.com/NousResearch/hermes-agent/pull/70082), [#70404](https://github.com/NousResearch/hermes-agent/pull/70404), [#75985](https://github.com/NousResearch/hermes-agent/pull/75985) — @israellot, @amanning3390, @kshitijk4poor) ### Secrets & config - Command-helper secret source (composes with all vaults); one-command token rotation + actionable startup errors; opt-in encrypted break-glass cache for Bitwarden; vault-injected keys scoped per profile home; orchestrator preserve_existing + profile aliasing ([#69266](https://github.com/NousResearch/hermes-agent/pull/69266), [#68605](https://github.com/NousResearch/hermes-agent/pull/68605), [#69251](https://github.com/NousResearch/hermes-agent/pull/69251), [#69250](https://github.com/NousResearch/hermes-agent/pull/69250), [#69058](https://github.com/NousResearch/hermes-agent/pull/69058) — @teknium1) - `${env:VAR}` SecretRef parity between config.yaml and MCP config; secret-source env vars reach stdio MCP servers ([#69267](https://github.com/NousResearch/hermes-agent/pull/69267), [#69053](https://github.com/NousResearch/hermes-agent/pull/69053) — @teknium1) - Canonical config loaders for behavioral reads; table-driven config migration registry; DEFAULT_CONFIG extracted to config_defaults.py; auto-migration support floor at v12 ([#74237](https://github.com/NousResearch/hermes-agent/pull/74237), [#74200](https://github.com/NousResearch/hermes-agent/pull/74200), [#74182](https://github.com/NousResearch/hermes-agent/pull/74182), [#74433](https://github.com/NousResearch/hermes-agent/pull/74433) — @teknium1) ## 🌐 Gateway, Relay & Fleet - Session activity heartbeats, stall watchdog, and bounded compression waits — re-landed hardened after an in-window revert cycle (originally #72424 by @fangliquanflq) ([#76354](https://github.com/NousResearch/hermes-agent/pull/76354) — @teknium1) - SessionState consolidation (19 session-keyed dicts → one turn/conversation/persistent-scoped object); TurnContext/TurnRunner seam extraction; declarative busy_policy on CommandDef ([#74289](https://github.com/NousResearch/hermes-agent/pull/74289), [#74353](https://github.com/NousResearch/hermes-agent/pull/74353), [#74197](https://github.com/NousResearch/hermes-agent/pull/74197) — @teknium1) - Relay parity waves: Phase 1 (supported_ops discovery, identity fields, /handoff aliasing), Phase 2 media, Phase 3 interactive prompts, Phase 4 thread lifecycle; egress typing indicators ([#71300](https://github.com/NousResearch/hermes-agent/pull/71300), [#71363](https://github.com/NousResearch/hermes-agent/pull/71363), [#71404](https://github.com/NousResearch/hermes-agent/pull/71404), [#71624](https://github.com/NousResearch/hermes-agent/pull/71624), [#69721](https://github.com/NousResearch/hermes-agent/pull/69721) — @benbarclay) - HSP skill sync: personal client (M1) + org-skills client (M2) + org-skill namespace with token-gated discovery ([#66730](https://github.com/NousResearch/hermes-agent/pull/66730), [#70024](https://github.com/NousResearch/hermes-agent/pull/70024), [#70459](https://github.com/NousResearch/hermes-agent/pull/70459) — @benbarclay) - Buzz (Block/Nostr) platform adapter with native WebSocket inbound transport + NIP-42 auth ([#73610](https://github.com/NousResearch/hermes-agent/pull/73610), [#73761](https://github.com/NousResearch/hermes-agent/pull/73761) — @teknium1) - Photon: native polls, effects, clarify-as-poll, rich links (4-PR salvage) ([#73614](https://github.com/NousResearch/hermes-agent/pull/73614) — @teknium1) - Slack: native Block Kit clarify buttons; opt-in reaction triggers; outbound payload sanitization; thread-context lifecycle fixes ([#69318](https://github.com/NousResearch/hermes-agent/pull/69318), [#70195](https://github.com/NousResearch/hermes-agent/pull/70195), [#69317](https://github.com/NousResearch/hermes-agent/pull/69317), [#69320](https://github.com/NousResearch/hermes-agent/pull/69320) — @teknium1) - Discord auto-thread sessions keyed on prospective_thread_id; reply references built from ids (no fetch_message); WhatsApp configurable inbound read receipts ([#76513](https://github.com/NousResearch/hermes-agent/pull/76513), [#76875](https://github.com/NousResearch/hermes-agent/pull/76875), [#73322](https://github.com/NousResearch/hermes-agent/pull/73322) — @benbarclay, @kshitijk4poor) - Kanban wakes resume the creator's DM/thread session; kanban/delegate wake-ups reach api_server sessions; per-task model + thinking-depth from the board ([#72191](https://github.com/NousResearch/hermes-agent/pull/72191), [#70171](https://github.com/NousResearch/hermes-agent/pull/70171), [#69876](https://github.com/NousResearch/hermes-agent/pull/69876), [#76417](https://github.com/NousResearch/hermes-agent/pull/76417) — @teknium1, @OutThisLife) - Relay: Discord tool-progress routed into the auto-thread instead of the parent channel ([#77830](https://github.com/NousResearch/hermes-agent/pull/77830) — @benbarclay) - Outbound webhooks — push signed lifecycle events to external endpoints; simplex channel enumeration in `hermes send --list` ([#69406](https://github.com/NousResearch/hermes-agent/pull/69406), [#77110](https://github.com/NousResearch/hermes-agent/pull/77110) — @teknium1) ## 🖥️ Hermes Desktop App ### The platform wave - **Artifacts** — versioned cards, sandboxed live preview, right-rail viewer ([#72345](https://github.com/NousResearch/hermes-agent/pull/72345) — @teknium1) - **Plugin SDK** — Kanban as the founding desktop plugin; `ctx.download` hands the user a file; widget-app SDK (apps as state+reducer+render) with three reference apps; widget-grid layout engine + background-aware theme engine ([#61173](https://github.com/NousResearch/hermes-agent/pull/61173), [#74413](https://github.com/NousResearch/hermes-agent/pull/74413), [#68306](https://github.com/NousResearch/hermes-agent/pull/68306), [#20379](https://github.com/NousResearch/hermes-agent/pull/20379) — @OutThisLife) - Quick-entry window (global hotkey → any session); multiple GUI windows; floating pane placement; pane toggles anywhere + hidden header; ⌘O open-folder-as-project ([#72315](https://github.com/NousResearch/hermes-agent/pull/72315), [#68259](https://github.com/NousResearch/hermes-agent/pull/68259), [#73143](https://github.com/NousResearch/hermes-agent/pull/73143), [#75848](https://github.com/NousResearch/hermes-agent/pull/75848), [#74623](https://github.com/NousResearch/hermes-agent/pull/74623) — @teknium1, @OutThisLife) - SSH remote-backend connection mode; event-driven live sync replaces always-on polls; remote profile routing/sessions/pool lifecycle repaired ([#68130](https://github.com/NousResearch/hermes-agent/pull/68130), [#73673](https://github.com/NousResearch/hermes-agent/pull/73673), [#72835](https://github.com/NousResearch/hermes-agent/pull/72835) — @yoniebans, @OutThisLife) - Let the agent drive the shell (preview pane + pane focus) AND inspect the desktop app it's developing; find-in-page (Ctrl+F); GUI terminal copy/paste + font picker ([#69519](https://github.com/NousResearch/hermes-agent/pull/69519), [#73121](https://github.com/NousResearch/hermes-agent/pull/73121), [#72235](https://github.com/NousResearch/hermes-agent/pull/72235), [#73705](https://github.com/NousResearch/hermes-agent/pull/73705), [#76395](https://github.com/NousResearch/hermes-agent/pull/76395) — @OutThisLife, @teknium1) ### Composer & UX - Attach files/folders/links via picker; composer chips for @ paths and pasted links; composer undo stack; double-ESC discards draft; double-Enter sends the queued turn; type-to-focus ([#74668](https://github.com/NousResearch/hermes-agent/pull/74668), [#73110](https://github.com/NousResearch/hermes-agent/pull/73110), [#72201](https://github.com/NousResearch/hermes-agent/pull/72201), [#72288](https://github.com/NousResearch/hermes-agent/pull/72288), [#74736](https://github.com/NousResearch/hermes-agent/pull/74736), [#73101](https://github.com/NousResearch/hermes-agent/pull/73101), [#68918](https://github.com/NousResearch/hermes-agent/pull/68918) — @OutThisLife) - 2-keypress model switching (⌘⇧M); YOLO in ⌘K with live toggle state; keyboard-first pickers; keyboard navigation for clarify choices; server-owned pins that follow you between apps ([#74545](https://github.com/NousResearch/hermes-agent/pull/74545), [#74674](https://github.com/NousResearch/hermes-agent/pull/74674), [#74602](https://github.com/NousResearch/hermes-agent/pull/74602), [#69799](https://github.com/NousResearch/hermes-agent/pull/69799), [#74234](https://github.com/NousResearch/hermes-agent/pull/74234) — @OutThisLife) - Grouped, live-ticking tool-activity line; improved tool call detail views; @session links resolve to clickable titles; brand icons on known-domain links; iMessage-style emoji reactions (opt-in, two-way); double-click to heart ([#72893](https://github.com/NousResearch/hermes-agent/pull/72893), [#69868](https://github.com/NousResearch/hermes-agent/pull/69868), [#71162](https://github.com/NousResearch/hermes-agent/pull/71162), [#73047](https://github.com/NousResearch/hermes-agent/pull/73047), [#74533](https://github.com/NousResearch/hermes-agent/pull/74533), [#74644](https://github.com/NousResearch/hermes-agent/pull/74644) — @OutThisLife, @teknium1) - Sidebar date dividers + pinned section + opt-in stale-session auto-archive; sessions stop lying about running state; credit-usage toasts; configurable attachment size limit; Cron Blueprints + Webhooks pages; searchable timezone picker ([#70822](https://github.com/NousResearch/hermes-agent/pull/70822), [#72303](https://github.com/NousResearch/hermes-agent/pull/72303), [#69828](https://github.com/NousResearch/hermes-agent/pull/69828), [#73221](https://github.com/NousResearch/hermes-agent/pull/73221), [#70066](https://github.com/NousResearch/hermes-agent/pull/70066), [#69687](https://github.com/NousResearch/hermes-agent/pull/69687), [#73505](https://github.com/NousResearch/hermes-agent/pull/73505) — @OutThisLife, @austinpickett, @Adolanium, @teknium1) - RFC 8252 native desktop sign-in (system browser + PKCE, no webview cookies); "Connect to existing Hermes" in first-run onboarding; profile-correct pairing approvals with a desktop surface ([#67920](https://github.com/NousResearch/hermes-agent/pull/67920), [#70907](https://github.com/NousResearch/hermes-agent/pull/70907), [#74446](https://github.com/NousResearch/hermes-agent/pull/74446) — @benbarclay, @OutThisLife) - Keep-computer-awake toggle + notch wake indicator; /battery status-bar toggle; UI zoom 90% default preset; status bar hideable ([#68140](https://github.com/NousResearch/hermes-agent/pull/68140), [#76396](https://github.com/NousResearch/hermes-agent/pull/76396), [#68860](https://github.com/NousResearch/hermes-agent/pull/68860), [#73161](https://github.com/NousResearch/hermes-agent/pull/73161), [#72960](https://github.com/NousResearch/hermes-agent/pull/72960) — @OutThisLife, @teknium1) ### Desktop performance (60fps wave 2) - Streaming cost independent of transcript length; 60fps on real sessions (reflow-gated pins, adaptive flush); drag at 60fps with five streaming tabs; multitab streaming made fast ([#71835](https://github.com/NousResearch/hermes-agent/pull/71835), [#72504](https://github.com/NousResearch/hermes-agent/pull/72504), [#72346](https://github.com/NousResearch/hermes-agent/pull/72346), [#71780](https://github.com/NousResearch/hermes-agent/pull/71780) — @OutThisLife) - Hidden-pane timers paused (agents view, cron sidebar, floating pet), scroll/status loops stopped in busy sessions ([#77651](https://github.com/NousResearch/hermes-agent/pull/77651) — @kshitijk4poor); idle CPU near zero in the background; sidebar/overlay render churn killed; statusbar + transcript stop re-rendering per token/sash-drag/session-switch; ⌘K opens instantly; renderer cold start keeps shiki/mermaid off the boot path ([#75218](https://github.com/NousResearch/hermes-agent/pull/75218), [#73698](https://github.com/NousResearch/hermes-agent/pull/73698), [#72163](https://github.com/NousResearch/hermes-agent/pull/72163), [#72245](https://github.com/NousResearch/hermes-agent/pull/72245), [#72524](https://github.com/NousResearch/hermes-agent/pull/72524), [#74665](https://github.com/NousResearch/hermes-agent/pull/74665), [#73024](https://github.com/NousResearch/hermes-agent/pull/73024) — @OutThisLife) - State diagnostics (render + store churn counters) + a lint rule banning atom-mirrored refs so the stale-read bug class cannot return; Playwright E2E suite with visual regression diffs ([#71925](https://github.com/NousResearch/hermes-agent/pull/71925), [#71560](https://github.com/NousResearch/hermes-agent/pull/71560), [#65805](https://github.com/NousResearch/hermes-agent/pull/65805) — @OutThisLife, @teknium1, @ethernet8023) ## 🖥️ CLI, TUI & Dashboard - `!` shell mode; `/init` AGENTS.md generation; `/diff` (staged/all/session, cross-surface); `/context` breakdown; `/focus` reduced-output view; Ctrl+S prompt stash; persistent `/goal` indicator; multi-select clarify (checkboxes) across CLI/gateway/TUI ([#72257](https://github.com/NousResearch/hermes-agent/pull/72257), [#72178](https://github.com/NousResearch/hermes-agent/pull/72178), [#72240](https://github.com/NousResearch/hermes-agent/pull/72240), [#72242](https://github.com/NousResearch/hermes-agent/pull/72242), [#72302](https://github.com/NousResearch/hermes-agent/pull/72302), [#72262](https://github.com/NousResearch/hermes-agent/pull/72262), [#72244](https://github.com/NousResearch/hermes-agent/pull/72244), [#72188](https://github.com/NousResearch/hermes-agent/pull/72188) — @teknium1, salvaging @SHL0MS, @iRonin, @gigi206 + more) - `hermes import-agent` — one-command migration from Claude Code / Codex CLI setups ([#72190](https://github.com/NousResearch/hermes-agent/pull/72190) — @teknium1) - Per-turn summary line + live token flow in the spinner; cross-surface theme SDK (one skin themes CLI, TUI, and desktop, live) ([#72246](https://github.com/NousResearch/hermes-agent/pull/72246), [#68857](https://github.com/NousResearch/hermes-agent/pull/68857) — @teknium1, @OutThisLife) - TUI: reach the model picker without wrecking your draft + mid-turn switching; slash menu leads with your most-used skills; attachments live in the composer; Arabic (ar) locale with RTL across desktop/dashboard/agent ([#74756](https://github.com/NousResearch/hermes-agent/pull/74756), [#75931](https://github.com/NousResearch/hermes-agent/pull/75931), [#75210](https://github.com/NousResearch/hermes-agent/pull/75210), [#70870](https://github.com/NousResearch/hermes-agent/pull/70870) — @OutThisLife) - `hermes -w` startup ~14s → ~1.8s; global `--version` fast path; banner update-check 6× faster; dashboard lazy-loads routes + GROUP BY session stats; session filtering tabs (Chats/Automation/All) ([#71637](https://github.com/NousResearch/hermes-agent/pull/71637), [#62096](https://github.com/NousResearch/hermes-agent/pull/62096), [#74188](https://github.com/NousResearch/hermes-agent/pull/74188), [#72294](https://github.com/NousResearch/hermes-agent/pull/72294), [#73362](https://github.com/NousResearch/hermes-agent/pull/73362), [#73865](https://github.com/NousResearch/hermes-agent/pull/73865) — @teknium1, @kshitijk4poor) - Runtime: Node 26 required across installers/heal/upgrade, managed Node/uv resolve before bare PATH, outdated managed trees heal to target major; brew + pip/PyPI wheel channels retired (shell installer / Docker / Nix are the supported channels) ([#76459](https://github.com/NousResearch/hermes-agent/pull/76459), [#68217](https://github.com/NousResearch/hermes-agent/pull/68217) — @ethernet8023) ## 🧩 Skills, Plugins & MCP - **A2A v1.0** — Agent-to-Agent protocol plugin (closes #514) ([#77109](https://github.com/NousResearch/hermes-agent/pull/77109) — @teknium1) - Curator: surface unmanaged skills + `curator adopt`; skill-description truncation surfaced to authors; grounded-citations skill (+ fact-checking mode); simplify-code v1.1; tldraw-offline scripting skill ([#71648](https://github.com/NousResearch/hermes-agent/pull/71648), [#70519](https://github.com/NousResearch/hermes-agent/pull/70519), [#71698](https://github.com/NousResearch/hermes-agent/pull/71698), [#77104](https://github.com/NousResearch/hermes-agent/pull/77104), [#70440](https://github.com/NousResearch/hermes-agent/pull/70440), [#66896](https://github.com/NousResearch/hermes-agent/pull/66896) — @teknium1) - Office skills bundled: docx, xlsx, pdf + refreshed powerpoint; skills-tree debloat continues (yuanbao, segment-anything, jupyter, heartmula, audiocraft → optional-skills; claude-marketplace source removed; hub restructure absorbing themes/desktop-plugins/tui-widgets) ([#68595](https://github.com/NousResearch/hermes-agent/pull/68595), [#70452](https://github.com/NousResearch/hermes-agent/pull/70452)–[#70456](https://github.com/NousResearch/hermes-agent/pull/70456), [#73903](https://github.com/NousResearch/hermes-agent/pull/73903) — @teknium1) - MCP: Comfy Cloud catalog entry with curated 20-tool default; hidden-whitespace warnings in MCP config; pinecone-research optional skill ([#66112](https://github.com/NousResearch/hermes-agent/pull/66112), [#75736](https://github.com/NousResearch/hermes-agent/pull/75736), [#70512](https://github.com/NousResearch/hermes-agent/pull/70512) — @teknium1) - MCP lazy server startup from a fingerprint-keyed on-disk tool-schema cache — configured servers no longer all boot at session start (design from #56832) ([#77511](https://github.com/NousResearch/hermes-agent/pull/77511) — @kshitijk4poor) - NeMo Relay observability integration — re-landed after an in-window revert, on stable NeMo Relay 0.6 ([#67607](https://github.com/NousResearch/hermes-agent/pull/67607) — @afourniernv) - Gateway health & diagnostics OTLP export ([#64536](https://github.com/NousResearch/hermes-agent/pull/64536) — @victor-kyriazakos) ## 🔒 Security & Reliability - Iron-proxy credential-injection egress firewall re-landed ([#70848](https://github.com/NousResearch/hermes-agent/pull/70848) — @teknium1) - DNS-pinned SSRF-safe fetches + Slack CDN allowlist; strict redaction at compaction boundaries; ReDoS eliminated in config-key redaction patterns; prose words embedding a secret keyword no longer masked ([#70193](https://github.com/NousResearch/hermes-agent/pull/70193), [#69294](https://github.com/NousResearch/hermes-agent/pull/69294), [#76083](https://github.com/NousResearch/hermes-agent/pull/76083), [#67776](https://github.com/NousResearch/hermes-agent/pull/67776) — @teknium1) - Tier-3 credential reads scoped (FAL/XAI/VERCEL/DAYTONA/GITHUB presence checks etc.); CVE dependency pins refreshed (cryptography, starlette, python-multipart); hindsight env file 0600; /model moved off the gateway event loop ([#75888](https://github.com/NousResearch/hermes-agent/pull/75888), [#72362](https://github.com/NousResearch/hermes-agent/pull/72362) — @teknium1) - Windows hardening wave: text-mode subprocess decode bug class closed repo-wide, console flashes hidden across daemons/env probes/LSP/installer paths, residual encoding gaps (MCP stdio, gateway update I/O, STT/TTS, desktop spawn) ([#70875](https://github.com/NousResearch/hermes-agent/pull/70875), [#70205](https://github.com/NousResearch/hermes-agent/pull/70205), [#70264](https://github.com/NousResearch/hermes-agent/pull/70264), [#71014](https://github.com/NousResearch/hermes-agent/pull/71014) — @teknium1, salvaging several community PRs) - State/session integrity: four session-state fixes (safe close tracking, flush-cursor class fix, row-retry, usage-PK healer); compact v23 FTS layout + `hermes sessions optimize` + CJK-bigram FTS; read-path split with per-thread read-only connections ([#75883](https://github.com/NousResearch/hermes-agent/pull/75883), [#65798](https://github.com/NousResearch/hermes-agent/pull/65798), [#69423](https://github.com/NousResearch/hermes-agent/pull/69423), [#73344](https://github.com/NousResearch/hermes-agent/pull/73344) — @teknium1, @kshitijk4poor) - OpenViking memory-provider hardening — fail closed on blocked endpoints, server verification before credentials are sent, config.yaml-first settings ([#77747](https://github.com/NousResearch/hermes-agent/pull/77747) — @kshitijk4poor) - Credential pool: reset-aware primary restore (stay on fallback until the rate-limit window resets) + deferred-refresh locking fixes; FTS UPDATE triggers narrowed with fail-closed CJK migration ([#77631](https://github.com/NousResearch/hermes-agent/pull/77631), [#77628](https://github.com/NousResearch/hermes-agent/pull/77628) — @kshitijk4poor) - Config-driven memory allocator trim with telemetry; holographic memory vectors stored float32; loop-invariant HRR encodes hoisted ([#76905](https://github.com/NousResearch/hermes-agent/pull/76905), [#76917](https://github.com/NousResearch/hermes-agent/pull/76917), [#76881](https://github.com/NousResearch/hermes-agent/pull/76881) — @kshitijk4poor) ## 🐛 Notable Bug Fixes - Voice: full-duplex interruption during generation AND playback; whole-turn desktop speech; auto-TTS delivery gaps ([#74223](https://github.com/NousResearch/hermes-agent/pull/74223), [#69936](https://github.com/NousResearch/hermes-agent/pull/69936), [#73508](https://github.com/NousResearch/hermes-agent/pull/73508) — @teknium1) - Desktop: Stop parks the queue instead of firing the next queued prompt; branch-in-new-chat restart loss; false remote-gateway reauthentication; cross-session composer leaks ([#68725](https://github.com/NousResearch/hermes-agent/pull/68725), [#71960](https://github.com/NousResearch/hermes-agent/pull/71960), [#68250](https://github.com/NousResearch/hermes-agent/pull/68250), [#70986](https://github.com/NousResearch/hermes-agent/pull/70986) — @SHL0MS, @alelpoan, @helix4u, @OutThisLife) - Gateway: session lists scoped before limiting; relay-backed home delivery after restart; timeline display events persisted ([#65509](https://github.com/NousResearch/hermes-agent/pull/65509), [#70102](https://github.com/NousResearch/hermes-agent/pull/70102), [#69771](https://github.com/NousResearch/hermes-agent/pull/69771) — @GodsBoy, @victor-kyriazakos, @ethernet8023) - Agent: context-length fallback logging + batch trajectory durability; Codex OAuth context windows revalidated against the live catalog ([#76027](https://github.com/NousResearch/hermes-agent/pull/76027), [#68554](https://github.com/NousResearch/hermes-agent/pull/68554) — @kshitijk4poor, @teknium1) - ...plus roughly 770 more `fix:` PRs across every subsystem this window. ## 👥 Contributors **647 contributors** shipped this release (commit authors, co-authors, and salvaged-PR credits). ### Core @teknium1, @OutThisLife (desktop, voice, perf), @kshitijk4poor (perf, caching, salvage), @ethernet8023 (runtime, E2E, desktop), @benbarclay (relay, HSP, auth) ### All Contributors (alphabetical) @02356abc, @0301chris, @0xAlcibiades, @0xDevNinja, @0xLeathery, @0xprincess, @0xr00tf3rr3t, @100yenadmin, @2001Y, @3ssiri, @55nx954gn6-debug, @686f6c61, @87degrees, @aaronlab, @abundantbeing, @Adolanium, @adriansotomora, @adurham, @afourniernv, @afurm, @AgenticSpark, @ahmadashfq, @AhmetArif0, @ai-ag2026, @AIalliAI, @aider4ryder, @airclear, @ajzrva-sys, @akattelu, @AKAZIK-py, @akb4q, @akshan-main, @AlanBurningsuit, @alelpoan, @AlexFucuson9, @AlexxRussell, @AllardQuek, @alt-glitch, @aman-merchant, @amanning3390, @amathxbt, @aml1973, @amoreno16003, @AndrewMoryakov, @andrexibiza, @andynguyendk, @andyylin, @aneym, @angelos, @aniruddhaadak80, @AnnasMazhar, @annguyenNous, @anoopmehendale-cue, @AnthonyFrancis, @arcabotai, @ArcherQAQ, @Ares4Tech, @arimu1, @arnoldfrancisca, @asimons81, @asorry75, @AtakanGs, @ATran28, @austinpickett, @Automata-intelligentsia, @awain7, @aweiker, @aydnOktay, @ayushere, @b, @baau, @baauzi, @baenregod, @bakhtiersizhaev, @Baophan00, @baoyu0, @Bartok9, @basilalshukaili, @BB-light, @bbopen, @Beandon13, @beardedeagle, @bedirhancode, @benbarclay, @benegessarit, @benjamin2026-dot, @bennybuoy, @BenSheridanEdwards, @BKStock, @BlackishGreen33, @bnikanjam, @bounce12340, @Bounty13, @bpross, @briandevans, @bricelb, @brunopirz, @bryanneva, @byshubham, @camaleonidas, @canorionen, @carbongotfound, @carljborg, @carlotestor, @carrion256, @caseyanthony, @cat-thats-fat, @Cdddo, @ceverson70, @chancelu, @chaos-xxl, @CharlesMcquade, @chazmaniandinkle, @chefboyrdave21, @chelsealong, @Christopher-Schulze, @chuenchen309, @ciabata-git, @cifangyiquan, @cipry0200, @ckaznocha, @ckorhonen, @CleanDev-Fix, @CocaKova, @coffee-the-dev, @colingreig, @Commander, @connorblack, @CoreyNoDream, @Cossackx, @crayfish-ai, @criptogus, @ctaylor86, @cucurigoo, @cypres0099, @d31tcjg, @Da7-Tech, @damiankluk, @danielblankhh, @DanielMaly, @Dannou, @davesecops, @davidgut1982, @DavidMetcalfe, @davidrobertson, @ddifa86, @ddy4633, @deacon-botdoctor, @deaneeth, @deepjia, @deltaahead, @DESXIE, @devsart95, @dhruvkej9, @dhruvraajeev, @DI404N, @diegomarino, @diffen77, @dirtyren, @dnth, @DocAwk, @dolphin-creator, @Dolverin, @dombejar, @doncazper, @dongjiang1989, @DonutsDelivery, @dorukardahan, @Doud-FR, @drafish, @Drexuxux, @drleadflow, @dsitmilis, @dskwe, @dso2ng, @dstkwll, @Dusk1e, @dyreckt, @eagle-nyp, @Eapwrk, @eason2026, @eazye19, @egilewski, @ehz0ah, @elcocoel, @eliemada, @eloklam, @elphamale, @embwl0x, @emozilla, @Enough1122, @enzo2, @erick713006, @ErnestHysa, @Esther-Zhu023, @ethernet8023, @evgyur, @f-trycua, @faikwo, @falkoro, @fangliquanflq, @fazerluga-creator, @fcavalcantirj, @ferminquant, @fesalfayed, @FixItFoundry, @flag0x369, @floatingrain, @FlorianVal, @flyingdoubleG, @FraserHum, @frizikk, @frohsinnllc, @Frowtek, @FvanW, @fyzanshaik, @ganzziani, @gercamjr, @giggling-ginger, @gigi206, @giladbau, @glesperance, @gnanam1990, @GodsBoy, @golldyck, @gonzalofrancoceballos, @gshall, @gumclaw, @Guoen0, @Gurud25, @gvago, @HaisamAbbas, @hansai-art, @hanyu1212, @happy5318, @haran2001, @hariNEzuMI928, @harjothkhara, @harrisonmedmedmetrics, @Harshkamdar67, @hdd69, @heathley, @helix4u, @HeLLGURD, @hellofrommorgan, @hereicq, @hermz580, @HexLab98, @hinablue, @HOYALIM, @hrnbld, @huntsyea, @iamwongeeeee, @ianks, @ibaldr89, @Icather, @ijevin, @ildunari, @Imgaojp, @imgyf, @immuhammadfurqan, @iniak, @iRonin, @isheng-eqi, @iso2kx, @israellot, @itsflownium, @IvanMiao, @iveywest, @izumi0uu, @Jaaneek, @JabberELF, @jackjin1997, @jakelongvu-bot, @Janig88, @jasoisjaso, @jbbottoms, @jeeaay, @jeeves-assistant, @jeff-mettel, @JeffStone69, @JeliTron, @jethac, @jfmusa2024-cyber, @Jiahui-Gu, @jinglun010-cpu, @JoaoMarcos44, @joelbrilliant, @John-Lussier, @johnkattenhorn, @Johnny-xuan, @johnnykor82, @joncaldwell90, @JonthanaHanh, @jordanhubbard, @JorkeyLiu, @jquesnelle, @jrfbch, @juanmartitegui, @Julientalbot, @juniperbevensee, @justemu, @kael-odin, @kaishi00, @kaiyisg, @kamonspecial, @kandotrun, @KCAYAAI, @keepConcentration, @kelsia14, @Kenmege, @kerpopule, @Kev-fs, @Kewe63, @kharitonov-ivan, @Kingdomwarrior23, @kingrubic, @Kinkoolino-Hermes, @kjames2001, @knoal, @kohoj, @Kolektori, @konsisumer, @koshaji, @kronexoi, @kshitijk4poor, @kuangmi-bit, @kudi88, @kylezh, @kyssta-exe, @Kyzcreig, @lanyusea, @LauraGPT, @LavyaTandel, @LeonSGP43, @leoprodz, @LevSky22, @lEWFkRAD, @lewis4x4, @lexgenius, @LFDMcore, @LiangYang666, @lidises, @light-merlin-dark, @lihengming, @Linux2010, @LionGateOS, @liuhao1024, @liusencomic-cyber, @ljsdut, @lkevincc0, @LLQWQ, @locker95, @logical-and, @LordNikon1983, @lost9999, @Love-JourneY, @LunarNexus, @luxiaolu4827, @lxman, @m4r13y, @MaartenDMT, @MacroAnarchy, @maff-t2b, @MahdiHedhli, @mahdiwafy, @malaiwah, @mannnrachman, @mapu-og, @markoub, @matarbot, @materemias, @matt-strawbridge, @mattezell, @MattMaximo, @mattmillerai, @mattshapsss, @MaxFreedomPollard, @maxmilian, @McHermes, @mehmetkr-31, @menhguin, @metamon-p, @mijanx, @MLcogTech, @moeadham, @mollusk, @monerostar, @MorAlekss, @morolab, @motoblurr, @MrAbsaroka, @mrzlab630, @ms-alan, @muctobi, @MustafaK99, @mwbrooks, @myk0la-b, @mzkarami, @namredips, @nanami7777777, @nanckh, @natebransc, @nateEc, @navahc09, @Ne0teric, @necoweb3, @nftpoetrist, @nickkarhan, @Ninso112, @nkreadly07, @nnnet, @NPFernando, @nrmjeremy, @nu476, @null-runner, @nullptr0807, @NYTEMODEONLY, @obelisk-complex, @OfficialDelta, @okalentiev, @oliviaaaa7788, @OmarB97, @omid3098, @ooiuuii, @oppenheimor, @oreoluwa, @ousiaresearch, @OutThisLife, @panDing19, @paralegalia, @patp, @PavelTajdus, @peacockesq, @Pebrd, @peterw, @phantom-instruction-set, @pierrenode, @PINKIIILQWQ, @piyushbag, @plainOldCode, @pnascimento9596, @pooyan6, @pprism13, @praneshnikhar, @PRATHAMESH75, @Prontsevich, @quantumbyte1617, @QuarkAssistant, @Que0x, @Qwinty, @rayjerrywoo, @rayjun, @Reaper-Forge, @RedClaus, @redsol-llc, @reinbeumer, @RelaxJonh, @RemyFevry, @replygirl, @rerdi92, @rhylryan21, @RichardHojunJang, @richkapp, @rkfshakti, @rlaope, @rob-coco, @rob-maron, @robbyczgw-cla, @robgfl45, @robzolkos, @rod-nxtlevel, @rodboev, @Roger--Han, @rsayar, @rudironsoni, @ruizanthony, @rungmc357, @s00rz, @s905060, @Sahil-SS9, @sakhnenkoff, @salimhamed, @samrusani, @sbe27, @ScaleLeanChris, @schattenan, @sealca, @seamusmore, @sebaorrego-koronet, @seppegadeyne, @sergioperezcheco, @sethmills21, @sg-shag, @sgtworkman, @shady2k, @shannonsands, @shellybotmoyer, @sherman-yang, @shivasymbl, @Shizoqua, @SHL0MS, @simonmmafs, @skyer-flyyy, @Skywind5487, @sl4m3, @Slopez2023, @SmallNew2003, @smfworks, @Soju06, @Solitud1nem, @solyanviktor-star, @somewheresy, @Sora-bluesky, @sowork-skills, @soynchux, @sparkeros, @spfcraze, @spiky02plateau, @spro-work, @SquabbyZ, @srojk34, @StanleyStetson, @StartupBros-com, @StellarisW, @stephenschoettler, @Stoltemberg, @stremtec, @Studio729, @stwith, @subhoya, @sunwz1115, @suparious, @supplefrog, @sycamoregroupltd, @szzhoujiarui, @tachyon-r, @Tamaz-sujashvili, @tandixit95, @tank321, @tavva, @tcconnally, @temalo, @th3wingman, @the3asic, @TheAngryPit, @TheEpTic, @theone139344, @TheSmokeDev, @thirstycrow, @tianma-if, @Tianworld, @tinetwork, @to-na, @tom-channel, @tomqiaozc, @toomij99, @trac3r00, @Tranquil-Flow, @Trantor-develops, @trevorgordon981, @trevornk, @trippyogi, @trymhaak, @tsuk1nose, @tusharui, @TutkuEroglu, @tw0316, @twe-cloud, @tymrtn, @UltraInstinct0x, @umi008, @unixwzrd, @upicat, @vaibhavjnf, @valda, @Vansh5632, @Variable85, @vb3, @VerbalChainsaw, @vexclawx31, @victor-kyriazakos, @vigilancetech-com, @virtuadex, @Vissirexa, @VittoriaLanzo, @VIVAAN-DHAWAN, @wangyunyou, @waroffchange, @wayne1992127, @web3blind, @webtecnica, @WeiYusc, @wen0531, @wernerhp, @wesleysimplicio, @westkite1201, @wgd753, @wgu9, @wjj1872744570-source, @wjq990112, @WojtekMR3, @WOLIKIMCHENG, @Wpnx330, @wreed4, @wuli666, @WXBR, @wz-heng, @x7peeps, @xcompass, @xd-Neji, @xenodmc, @Xipong, @xrazai, @Xue-1997, @xxxigm, @y0shua1ee, @yaleman, @yemi-lagosinternationalmarket, @ygd58, @yingliang-zhang, @yinkev, @yitang, @YLChen-007, @yoniebans, @youzi-1122, @ypwcharles, @yuexiongHNU, @yungchentang, @yuzilongleif-collab, @yyzquwu, @z23, @ZachariahChu, @zakhounet, @zapabob, @Zavianx, @zehuaw1, @zengzheqing, @Zeraphim, @zgzczzw, @zhangyang-crazy-one, @Zhekinmaksim, @Zioywishing, @zmlgit, @zombopanda, @ZundamonnoVRChatkaisetu Also: @kyssta-exe 25470058+kyssta-exe. Thank you to every one of the 647 people who contributed code, co-authored fixes, filed the ~1,200 issues this release closes, and had their PRs salvaged into main. Hermes ships this fast because of you. --- **Full Changelog**: [v2026.7.20...v2026.8.3](https://github.com/NousResearch/hermes-agent/compare/v2026.7.20...v2026.8.3)
▸ 主项目介绍 · NousResearch/hermes-agent
▸ README 原文(同步于 2026-07-19 13:26)
<p align="center"> <img src="assets/banner.png" alt="Hermes Agent" width="100%"> </p> # Hermes Agent ☤ <p align="center"> <a href="https://hermes-agent.nousresearch.com/docs/"><img src="https://img.shields.io/badge/Docs-hermes--agent.nousresearch.com-FFD700?style=for-the-badge" alt="Documentation"></a> <a href="https://discord.gg/NousResearch"><img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a> <a href="https://github.com/NousResearch/hermes-agent/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License: MIT"></a> <a href="https://nousresearch.com"><img src="https://img.shields.io/badge/Built%20by-Nous%20Research-blueviolet?style=for-the-badge" alt="Built by Nous Research"></a> <a href="README.md"><img src="https://img.shields.io/badge/Lang-English-lightgrey?style=for-the-badge" alt="English"></a> <a href="README.ur-pk.md"><img src="https://img.shields.io/badge/Lang-اردو-green?style=for-the-badge" alt="اردو"></a> </p> **由 [Nous Research](https://nousresearch.com) 构建的自进化 AI 代理。** 它是唯一内置学习闭环的智能代理——从经验中创建技能,在使用中改进技能,主动持久化知识,搜索过往对话,并在跨会话中逐步构建对你的深度理解。可以在 $5 的 VPS 上运行,也可以在 GPU 集群上运行,或者使用几乎零成本的 Serverless 基础设施。它不绑定你的笔记本——你可以在 Telegram 上与它对话,而它在云端 VM 上工作。 支持任意模型——[Nous Portal](https://portal.nousresearch.com)、[OpenRouter](https://openrouter.ai)(200+ 模型)、[NVIDIA NIM](https://build.nvidia.com)(Nemotron)、[小米 MiMo](https://platform.xiaomimimo.com)、[z.ai/GLM](https://z.ai)、[Kimi/Moonshot](https://platform.moonshot.ai)、[MiniMax](https://www.minimax.io)、[Hugging Face](https://huggingface.co)、OpenAI,或自定义端点。使用 `hermes model` 即可切换——无需改代码,无锁定。 <table> <tr><td><b>真正的终端界面</b></td><td>完整的 TUI,支持多行编辑、斜杠命令自动补全、对话历史、中断重定向和流式工具输出。</td></tr> <tr><td><b>随你所在</b></td><td>Telegram、Discord、Slack、WhatsApp、Signal 和 CLI——全部从单个网关进程运行。语音备忘录转写、跨平台对话连续性。</td></tr> <tr><td><b>闭环学习</b></td><td>代理管理记忆并定期自我提醒。复杂任务后自动创建技能。技能在使用中自我改进。FTS5 会话搜索配合 LLM 摘要实现跨会话回溯。<a href="https://github.com/plastic-labs/honcho">Honcho</a> 辩证式用户建模。兼容 <a href="https://agentskills.io">agentskills.io</a> 开放标准。</td></tr> <tr><td><b>定时自动化</b></td><td>内置 cron 调度器,支持向任何平台投递。日报、夜间备份、周审计——全部用自然语言描述,无人值守运行。</td></tr> <tr><td><b>委派与并行</b></td><td>生成隔离子代理处理并行工作流。编写 Python 脚本通过 RPC 调用工具,将多步管道压缩为零上下文开销的轮次。</td></tr> <tr><td><b>随处运行</b></td><td>六种终端后端——本地、Docker、SSH、Daytona、Singularity 和 Modal。Daytona 和 Modal 提供 Serverless 持久化——代理环境空闲时休眠、按需唤醒,空闲期间几乎零成本。$5 VPS 或 GPU 集群都能跑。</td></tr> <tr><td><b>研究就绪</b></td><td>批量轨迹生成、轨迹压缩——用于训练下一代工具调用模型。</td></tr> </table> --- ## 快速安装 ```bash curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash ``` 支持 Linux、macOS、WSL2 和 Android (Termux)。安装程序会自动处理平台特定的配置。 > **Android / Termux:** 已测试的手动安装路径请参考 [Termux 指南](https://hermes-agent.nousresearch.com/docs/getting-started/termux)。在 Termux 上,Hermes 会安装精选的 `.[termux]` 扩展,因为完整的 `.[all]` 扩展会拉取 Android 不兼容的语音依赖。 > > **Windows:** 在 PowerShell 中运行: > ```powershell > iex (irm https://hermes-agent.nousresearch.com/install.ps1) > ``` > 安装完成后,可能需要重启终端,然后运行 `hermes` 开始对话。 安装后: ```bash source ~/.bashrc # 重新加载 shell(或: source ~/.zshrc) hermes # 开始对话! ``` --- ## 快速入门 ```bash hermes # 交互式 CLI — 开始对话 hermes model # 选择 LLM 提供商和模型 hermes tools # 配置启用的工具 hermes config set # 设置单个配置项 hermes gateway # 启动消息网关(Telegram、Discord 等) hermes setup # 运行完整设置向导(一次性配置所有内容) hermes claw migrate # 从 OpenClaw 迁移(如果来自 OpenClaw) hermes update # 更新到最新版本 hermes doctor # 诊断问题 ``` 📖 **[完整文档 →](https://hermes-agent.nousresearch.com/docs/)** --- ## 省去到处收集 API Key — Nous Portal Hermes 始终允许你使用任意服务商,这点不会改变。但如果你不想为模型、网页搜索、图像生成、TTS、云浏览器分别去申请五个不同的 API Key,**[Nous Portal](https://portal.nousresearch.com)** 用一个订阅就能覆盖全部: - **300+ 模型** — 用 `/model <name>` 随时切换 - **Tool Gateway** — 网页搜索(Firecrawl)、图像生成(FAL)、文本转语音(OpenAI)、云浏览器(Browser Use),全部通过订阅托管。无需额外注册任何账户。 全新安装时一条命令即可: ```bash hermes setup --portal ``` 它会通过 OAuth 登录、把 Nous 设为推理服务商,并启用 Tool Gateway。随时用 `hermes portal info` 查看路由状态。完整说明见 [Tool Gateway 文档](https://hermes-agent.nousresearch.com/docs/user-guide/features/tool-gateway)。 你随时可以按工具单独切回自己的 API Key — Gateway 是按工具粒度生效的,不是一刀切。 --- ## CLI 与消息平台 快速对照 Hermes 有两种入口:用 `hermes` 启动终端 UI,或运行网关从 Telegram、Discord、Slack、WhatsApp、Signal 或 Email 与之对话。进入对话后,许多斜杠命令在两种界面中通用。 | 操作 | CLI | 消息平台 | |------|-----|----------| | 开始对话 | `hermes` | 运行 `hermes gateway setup` + `hermes gateway start`,然后给机器人发消息 | | 开始新对话 | `/new` 或 `/reset` | `/new` 或 `/reset` | | 更换模型 | `/model [provider:model]` | `/model [provider:model]` | | 设置人格 | `/personality [name]` | `/personality [name]` | | 重试或撤销上一轮 | `/retry`、`/undo` | `/retry`、`/undo` | | 压缩上下文 / 查看用量 | `/compress`、`/usage`、`/insights [--days N]` | `/compress`、`/usage`、`/insights [days]` | | 浏览技能 | `/skills` 或 `/<skill-name>` | `/skills` 或 `/<skill-name>` | | 中断当前工作 | `Ctrl+C` 或发送新消息 | `/stop` 或发送新消息 | | 平台特定状态 | `/platforms` | `/status`、`/sethome` | 完整命令列表请参阅 [CLI 指南](https://hermes-agent.nousresearch.com/docs/user-guide/cli) 和 [消息网关指南](https://hermes-agent.nousresearch.com/docs/user-guide/messaging)。 --- ## 文档 所有文档位于 **[hermes-agent.nousresearch.com/docs](https://hermes-agent.nousresearch.com/docs/)**: | 章节 | 内容 | |------|------| | [快速开始](https://hermes-agent.nousresearch.com/docs/getting-started/quickstart) | 安装 → 设置 → 2 分钟内开始首次对话 | | [CLI 使用](https://hermes-agent.nousresearch.com/docs/user-guide/cli) | 命令、快捷键、人格、会话 | | [配置](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) | 配置文件、提供商、模型、所有选项 | | [消息网关](https://hermes-agent.nousresearch.com/docs/user-guide/messaging) | Telegram、Discord、Slack、WhatsApp、Signal、Home Assistant | | [安全](https://hermes-agent.nousresearch.com/docs/user-guide/security) | 命令审批、DM 配对、容器隔离 | | [工具与工具集](https://hermes-agent.nousresearch.com/docs/user-guide/features/tools) | 40+ 工具、工具集系统、终端后端 | | [技能系统](https://hermes-agent.nousresearch.com/docs/user-guide/features/skills) | 过程记忆、技能中心、创建技能 | | [记忆](https://hermes-agent.nousresearch.com/docs/user-guide/features/memory) | 持久记忆、用户画像、最佳实践 | | [MCP 集成](https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp) | 连接任意 MCP 服务器扩展能力 | | [定时调度](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron) | 定时任务与平台投递 | | [上下文文件](https://hermes-agent.nousresearch.com/docs/user-guide/features/context-files) | 影响每次对话的项目上下文 | | [架构](https://hermes-agent.nousresearch.com/docs/developer-guide/architecture) | 项目结构、代理循环、关键类 | | [贡献](https://hermes-agent.nousresearch.com/docs/developer-guide/contributing) | 开发设置、PR 流程、代码风格 | | [CLI 参考](https://hermes-agent.nousresearch.com/docs/reference/cli-commands) | 所有命令和标志 | | [环境变量](https://hermes-agent.nousresearch.com/docs/reference/environment-variables) | 完整环境变量参考 | --- ## 从 OpenClaw 迁移 如果你来自 OpenClaw,Hermes 可以自动导入你的设置、记忆、技能和 API 密钥。 **首次安装时:** 安装向导(`hermes setup`)会自动检测 `~/.openclaw` 并在配置开始前提供迁移选项。 **安装后任意时间:** ```bash hermes claw migrate # 交互式迁移(完整预设) hermes claw migrate --dry-run # 预览将要迁移的内容 hermes claw migrate --preset user-data # 仅迁移用户数据,不含密钥 hermes claw migrate --overwrite # 覆盖已有冲突 ``` 导入内容: - **SOUL.md** — 人格文件 - **记忆** — MEMORY.md 和 USER.md 条目 - **技能** — 用户创建的技能 → `~/.hermes/skills/openclaw-imports/` - **命令白名单** — 审批模式 - **消息设置** — 平台配置、允许用户、工作目录 - **API 密钥** — 白名单中的密钥(Telegram、OpenRouter、OpenAI、Anthropic、ElevenLabs) - **TTS 资产** — 工作区音频文件 - **工作区指令** — AGENTS.md(使用 `--workspace-target`) 使用 `hermes claw migrate --help` 查看所有选项,或使用 `openclaw-migration` 技能进行交互式代理引导迁移(含干运行预览)。 --- ## 贡献 欢迎贡献!请参阅 [贡献指南](https://hermes-agent.nousresearch.com/docs/developer-guide/contributing) 了解开发设置、代码风格和 PR 流程。 贡献者快速开始——使用标准安装器,然后在它创建的完整 git checkout 中开发: `$HERMES_HOME/hermes-agent`(通常是 `~/.hermes/hermes-agent`)。这会匹配 `hermes update`、托管 venv、lazy dependencies、gateway 和 docs tooling 使用的布局。 ```bash curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash cd "${HERMES_HOME:-$HOME/.hermes}/hermes-agent" uv pip install -e ".[all,dev]" scripts/run_tests.sh ``` 手动克隆备用路径(用于一次性 clone / CI,或你明确不想使用 managed install layout 时): ```bash curl -LsSf https://astral.sh/uv/install.sh | sh uv venv venv --python 3.11 source venv/bin/activate uv pip install -e ".[all,dev]" python -m pytest tests/ -q ``` --- ## 社区 - 💬 [Discord](https://discord.gg/NousResearch) - 📚 [技能中心](https://agentskills.io) - 🐛 [问题反馈](https://github.com/NousResearch/hermes-agent/issues) - 💡 [讨论区](https://github.com/NousResearch/hermes-agent/discussions) - 🔌 [HermesClaw](https://github.com/AaronWong1999/hermesclaw) — 社区微信桥接:在同一微信账号上运行 Hermes Agent 和 OpenClaw。 --- ## 许可证 MIT — 详见 [LICENSE](LICENSE)。 由 [Nous Research](https://nousresearch.com) 构建。