📦 版本状态
- 当前版本: v0.14.0 (2026.5.16)
- 开发进度: 核心仓库 517 commits behind main,过去 30 天 20+ commit,本周 0 commit(静默期 — 可能内部大 PR 合入前整合)
近 30 天关键提交摘要
perf(compression): defer feasibility check to first compression attempt— 压缩器性能优化:将可行性检查推迟到首次压缩时执行,减少启动开销fix(discord): transcribe native voice notes— Discord 原生语音消息自动转写fix(dingtalk): transcribe native voice notes— 钉钉原生语音消息自动转写(两条并行修复)fix(kanban): worker-initiated block must not be auto-promoted— Kanban worker 发起的 block 不会被自动推进状态fix(xai-oauth): pin inference base_url to x.ai origin— xAI OAuth 推理 base_url 固定修复perf(agent-loop): cut 47% of per-conversation function calls— 3 处定点优化使每轮对话函数调用减少 47%feat: add BrowseShSource adapter for browse.sh skills catalog— 新增 browse.sh 技能源适配器(336 个技能入口)fix(agent): set tool_name on tool-result messages at construction time— 修复 agent 消息构造时 tool_name 丢失问题fix(update): quarantine hermes.exe vs concurrent Windows instance— Windows 更新时隔离冲突进程
🔥 热门 Issues
P1 — 紧急
- [#32895] Cron ticker 线程静默停摆,job 永不触发
- 标签:
type/bug,comp/cron,P1| 2 条讨论 - Gateway 的 cron ticker 后台线程可能因未捕获异常而静默停止,不输出任何错误日志。依赖 cron 任务自动运行的用户可能长时间不知情,直到手动检查
hermes cron list才发现任务从未触发。 - 临时 workaround:配置外部进程监控(如 systemd/launchd)周期性重启 gateway,或添加 cron 健康检查 job 向自己发信号。
- 链接:https://github.com/NousResearch/hermes-agent/issues/32895
- 标签:
P2 — 中等严重度
-
[#32883] Fix Codex stream None output recovery
- 标签:
type/bug,comp/agent,provider/openai,P2| 5 条讨论 - Codex Responses 后端在流式输出完成时可能发送
response.output为 null 的response.completed事件,导致 SDK 流式解析器抛出TypeError: 'NoneType' object is not iterable。关联 issue #32892 (17 条讨论) 和 #32894 也报告了同一类别的问题,影响所有 OpenAI Codex 流式交互。 - 链接:https://github.com/NousResearch/hermes-agent/issues/32883
- 标签:
-
[#11179] Responses stream crashes when terminal response.output is null
- 标签:
type/bug,comp/agent,P2| 40 条讨论(持续 3 个月的长线 issue) - OpenAI 兼容的 provider 正常发送
response.output_item.done事件后,在终止response.completed中下发 null output,触发崩溃。影响面广,涉及 OpenAI、Codex、Anthropic 等多个 provider。 - 链接:https://github.com/NousResearch/hermes-agent/issues/11179
- 标签:
-
[#32896] hermes cron list crashes when job has null deliver field
- 标签:
type/bug,comp/cli,comp/cron,P2| 新增 - 当 cron job 的
deliver字段为 null 时,hermes cron list命令抛出 TypeError 崩溃。如果某个 job 配置不完整,用户连列表都看不了。 - 链接:https://github.com/NousResearch/hermes-agent/issues/32896
- 标签:
-
[#32887] gateway_state.json heartbeat tick missing — WebUI cross-container liveness check fails
- 标签:
type/bug,comp/gateway,P2| 1 条讨论 gateway_state.json仅在状态转换时写入,空闲超过 2 分钟后就无心跳写入。依赖此文件做容器存活检查的 WebUI 会误判网关为不可用状态。- 链接:https://github.com/NousResearch/hermes-agent/issues/32887
- 标签:
-
[#7484] [Security] Session fixation via predictable session ID derivation
- 标签:
type/security,comp/gateway,P2| 1 条讨论 - API server 的 session ID 通过第一条用户消息和 system prompt 的 SHA256 hash 确定性推导(
gateway/platforms/api_server.py第 287-302 行)。攻击者可预测并劫持特定组合的用户会话。 - 链接:https://github.com/NousResearch/hermes-agent/issues/7484
- 标签:
-
[#31977] v0.5.1 Desktop App: 多问题 — session 续接失败、api_key 丢失、重复回复
- 标签:
type/bug,comp/cli,comp/tui,provider/minimax,P2| 3 条讨论 - 老版本桌面应用(Electron)的遗留问题:session 断线后无法续接,api_key 配置丢失,消息重复发送。虽然版本较旧,但在特定部署形态下仍有影响。
- 链接:https://github.com/NousResearch/hermes-agent/issues/31977
- 标签:
值得关注的新提案
-
[#32906] Proposal: per-board approval policy override
- 标签:新增 | 0 条讨论
- 当前 approval mode(manual/smart/off)是全局限定,提案将其按 Kanban board 独立配置,适应不同 board 的审核严格度需求。
- 链接:https://github.com/NousResearch/hermes-agent/issues/32906
-
[#32905] Proposal: record which SOUL version each kanban run executed under
- 标签:新增 | 0 条讨论
- Kanban 任务运行后没有记录使用了哪个
SOUL.md版本,导致复现和审计困难。提案在 run 记录中保存 SOUL 版本号。 - 链接:https://github.com/NousResearch/hermes-agent/issues/32905
-
[#32899] Per-subscription toolset override for hermes webhook subscribe
- 标签:
type/feature,P3| 新增 - 近日 PR #30745 将 webhook 默认 toolset 限制为安全子集(
web_search,web_extract,vision_analyze等),但对需要更多工具的 webhook 用户缺乏白名单扩展机制。 - 链接:https://github.com/NousResearch/hermes-agent/issues/32899
- 标签:
🆕 生态新增
Skills Hub — 新增技能源
- browse.sh — 新增 336 个外部技能源适配器。核心仓库新加入
BrowseShSource组件(commit57145ca14),允许直接从 browse.sh 技能目录加载技能。大幅扩展了可用的社区技能库。- 来源:Hermes 核心仓库内置
- 使用方式:通过
hermes skill install <browse.sh-url>加载
生态活跃项目(本周更新)
| 项目 | 描述 | 最后更新 |
|---|---|---|
| gbrain (garrytan) | Garry’s Opinionated OpenClaw/Hermes Agent Brain — 自定义 SOUL 配置 | 5/27 (今天) |
| hermes-desktop (fathah) | Hermes Agent 桌面伴侣应用,hermes desktop | 5/26 |
| hermes-webui (nesquena) | Hermes WebUI — 从浏览器/手机使用 Hermes Agent | 5/27 (今天) |
| hermes-workspace (outsourc-e) | 原生 Web 工作台:聊天、终端、Memory、Skills、Inspector | 5/24 |
| cc-switch (farion1231) | 跨平台 AI 助手统一桌面端:Claude Code + Codex + OpenCode + Hermes Agent | 5/26 |
| hermes-web-ui (EKKOLearnAI) | Web 仪表盘:多平台聊天、会话管理、定时任务、用量分析 | 5/26 |
💬 Reddit 热议
Reddit 本次采集超时(TLS 连接失败),下周自动重试。
🔧 玩机技巧
压缩延迟检查:减少 Agent 启动时延
最近的 commit 6cb9917c7 优化了内容压缩器的启动流程:原先在 agent 初始化阶段就会检查压缩器可行性(检查所有支持格式的依赖是否安装),现在推迟到首次实际尝试压缩时才执行检查。
这个优化对日常使用的直接影响不大,但在以下场景有明显改善:
- 高频短会话场景(如 gateway 多次短连接):启动路径少了 30-50ms 的依赖探测时间
- 低温启动(如 cron job 触发的新会话):不在启动时探测可选依赖
要确认当前的压缩器状态,可以运行:
# 查看 agent 启动日志中的压缩器相关信息
hermes logs --level DEBUG --tail 100 | grep -i "compress"
# 如果看到类似 "Compression: deferring feasibility check"
# 说明你的版本已包含此优化(v0.14.0 更新后 517+ commits)
如果遇到压缩相关的报错(如 ModuleNotFoundError: No module named 'zstandard'),压缩器会在首次使用时自动回退到无压缩模式——不再会在启动时崩溃,只有首次尝试压缩时才会有错误提示。
查看本地是否是最新代码
cd ~/.hermes/hermes-agent
git log --oneline -3
# 应该包含 e2fd462eb / 6cb9917c7 等最近的 commit
# 如果没有,运行 hermes update