v0.4.0

Hermes Agent v0.4.0 — 平台扩张版本(The Platform Expansion Release)


概览

v0.4.0 — The Platform Expansion Release(平台扩张版本),2026 年 3 月 23 日发布。继 v0.2.0(首次公开发布)和 v0.3.0(流式输出 + 插件架构)仅 11 天之后,这个版本将 Hermes Agent 从一个优秀的 CLI Agent 推向了真正的平台级产品——它有 API、有多消息平台覆盖、有 MCP 生态管理能力、有企业级安全加固。

如果说 v0.2.0 让大家看到了 Hermes 能做什么,v0.3.0 让体验跟上了,那么 v0.4.0 让 Hermes 可以嵌入到任何系统中。从此,Hermes 不只是终端里的 Agent,它可以是你的 API 后端、你的聊天机器人、你的自动化中枢。

版本亮点一句话: 把 Hermes 变成一个别人可以通过 /v1/chat/completions 调用的 API 服务器,同时接入市面上几乎所有主流消息平台。


重磅功能

1. OpenAI 兼容 API 服务器 —— Hermes 成为后端服务

这是 v0.4.0 最具战略意义的功能:Hermes 现在可以作为一个标准的 /v1/chat/completions 端点暴露出来。任何兼容 OpenAI API 的客户端(包括其他 Agent、自动化脚本、Web 应用)都可以直接调用 Hermes。

启动 API 服务器:

# 启动 Hermes API 服务器
hermes serve

# 外部系统即可通过标准 OpenAI SDK 调用 Hermes
# 任何使用 OpenAI SDK 的代码都可以对接 Hermes
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1")

response = client.chat.completions.create(
    model="hermes",
    messages=[{"role": "user", "content": "帮我审查这段代码的安全性"}]
)

配套的 /api/jobs REST API 让你可以通过 HTTP 管理 cron 定时任务——创建、查看、删除,全部用标准 REST 接口。

安全加固不是事后补丁,是设计的一部分:

  • 输入限制 + 字段白名单:防止恶意请求攻击
  • SQLite 持久化响应存储:跨重启不丢失
  • CORS 来源保护:阻止未授权的浏览器端访问
  • 这些安全措施在 API 上线时就已经内建,而非后期修补

2. 六大消息平台适配器 —— 聊天无处不在

v0.4.0 一口气接入 6 个新消息平台,加上已有的 Telegram、Discord、WhatsApp,Hermes Gateway 实现了跨 9 大平台的统一消息覆盖:

平台 特性
Signal 完整适配器,支持附件处理、群聊过滤、“Note to Self” 防回声保护
钉钉(DingTalk) Gateway 集成 + 安装文档,中国企业办公场景原生支持
SMS(Twilio) 短信通道,覆盖无网络环境
Mattermost @-提及频道过滤,适合自托管团队
Matrix 去中心化通信协议,支持视觉识别和图片缓存
Webhook 通用 Webhook 适配器,可对接任意外部事件触发系统

Gateway 核心能力升级:

  • 自动重连 + 指数退避:平台连接断开时自动恢复,不会静默挂掉
  • 回复上下文感知:跨会话回复时自动带上原消息上下文
  • 未授权 DM 过滤:可配置忽略不在白名单中的私信
# hermes.config.yaml — 多平台配置示例
gateway:
  platforms:
    - signal
    - dingtalk
    - telegram
    - discord
  auto_reconnect: true
  ignore_unauthorized_dms: true

3. @ 上下文引用 —— Claude Code 风格的交互体验

在 CLI 中输入 @,Tab 键即可自动补全文件路径或 URL。Hermes 自动将引用内容注入当前对话上下文。

# @file 引用 —— 把文件内容注入对话
> @src/auth/handler.ts 审查一下这段认证逻辑

# @url 引用 —— 把网页内容注入对话  
> @https://docs.example.com/api 根据这个 API 文档写一个客户端

这借鉴了 Claude Code 的交互模式,但 Hermes 将它做成了 Tab 补全 + 原生 CLI 集成的方式——不需要额外的编辑器插件。在没有任何 IDE 的纯终端环境(比如 SSH 到远程服务器)中尤其有用。

4. 四个新推理 Provider —— 模型选择的自由度

Hermes 的 Provider 体系在 v0.4.0 进一步扩展:

GitHub Copilot(OAuth + Token 验证)

  • 完整的 OAuth 认证流程,不是 hardcode API key
  • 400K context window,适合超长代码分析
  • 自动 Token 验证和过期处理 由 @mchzimm 贡献

阿里云 DashScope

  • 完整集成 DashScope v1 runtime
  • 支持多种通义系列模型(qwen-*)
  • 模型名称中的点号正确保留(如 qwen-plus-v2

Kilo Code

  • 专为编码场景优化的推理 Provider

OpenCode Zen / Go

  • 轻量级 Provider 后端 由 @0xbyt4 贡献 Zen 相关修复

Provider 系统增强:

  • Rate-limit 自动降级:主模型触发限流时自动切换到备用模型,不会让对话中断
  • 上下文长度智能检测:集成 models.dev 数据,Provider 感知解析,模糊匹配自定义端点,支持 llama.cpp 的 /v1/props
  • 模型目录大更新:新增 gpt-5.4-mini、gpt-5.4-nano、haiku-4.5、claude 4.6(1M context)、minimax-m2.7 等
  • 自定义端点完善model.base_url 配置支持,无需 API key 的本地端点,缺失 key 时快速报错而非静默失败

5. MCP 服务器管理 CLI —— OAuth 2.1 PKCE 全流程

MCP(Model Context Protocol)生态在 v0.4.0 迎来了质变:从手动配置文件到完整的 CLI 管理体验

# 安装 MCP 服务器
hermes mcp install <server-name>

# 配置 MCP 服务器
hermes mcp configure <server-name>

# OAuth 2.1 PKCE 认证流程(自动引导)
hermes mcp auth <server-name>
  • OAuth 2.1 PKCE 全流程:包括浏览器跳转、回调处理、Token 刷新——全程由 CLI 引导完成
  • MCP 服务器作为独立工具集暴露:每个 MCP server 可以作为一个 toolset,灵活启停
  • 交互式 MCP 工具配置:在 hermes tools 中直接配置 MCP 工具,不需要手写 YAML

6. Gateway 提示缓存 —— 长对话成本断崖式下降

Gateway 模式下,AIAgent 实例现在按会话缓存,保留 Anthropic prompt cache 跨轮次有效

这意味着什么?

  • 对于长对话,Anthropic 的 prompt caching 不再每一轮都失效重建
  • 成本大幅降低(Anthropic prompt cache 写入和读取价格差异巨大)
  • Session 恢复时缓存也一起恢复
# Gateway 模式下自动生效,无需额外配置
# 每个 session 的 AIAgent 实例缓存在内存中
# prompt cache 跨轮次保留

7. 上下文压缩全面重写 —— 再长的对话也不怕

上下文压缩机制在 v0.4.0 彻底重写:

  • 结构化摘要:不再是简单的截断,而是迭代更新的结构化摘要
  • Token 预算尾部保护:在压缩时保留最近的对话内容不被误删
  • 可配置摘要端点summary_base_url 允许你用自部署的模型做摘要,省去 API 费用
  • 备用模型回退:主摘要模型不可用时自动切换到备选

8. 流式输出默认开启 —— 所见即所得

CLI 流式输出从 v0.4.0 开始默认开启,并做了大量打磨:

  • 流式模式下正确显示 spinner 和工具执行进度
  • 修复了流式块拼接时丢失空格的问题
  • 修复了迭代边界换行导致的流式拼接错误
  • 非 TTY 环境下自动抑制 spinner 动画
  • 支持显示推理/思考过程块(show_reasoning

新增 CLI 命令

命令 功能 用法
/statusbar 切换底部状态栏(显示模型 + Provider 信息) /statusbar
/queue 排队发送 prompt,不中断当前 Agent 运行 /queue <消息>
/permission 会话中动态切换审批模式 /permission
/browser 从 CLI 启动交互式浏览器会话 /browser
/cost Gateway 模式下实时查看费用和用量 /cost
/approve / /deny Gateway 中显式审批/拒绝命令 /approve/deny

配置管理升级

# 实时配置重载 —— 修改 config.yaml 无需重启
# 自动生效,无需手动操作

# 环境变量替换 —— config.yaml 中可用 ${ENV_VAR}
# 示例:
# api_key: ${OPENAI_API_KEY}

# 自定义模型 —— custom_models.yaml
# 用户自行添加模型,不受官方目录限制
  • ${ENV_VAR} 替换:config.yaml 中直接引用环境变量
  • 实时配置重载:修改 config.yaml 后无需重启
  • custom_models.yaml:用户自定义模型添加
  • 嵌套 YAML 合并:配置更新时深度合并而非粗暴替换
  • 优先级上下文文件选择 + CLAUDE.md 支持

新增工具

工具 描述 用法
IMAP 邮件 通过 IMAP 协议读写邮件 Agent 可直接收发邮件
STT(语音转文字) 基于 Whisper API 的语音识别工具 转录音频文件
Tavily Web 搜索/提取/爬取后端 hermes tools enable tavily
Parallel 备选 Web 搜索/提取后端 hermes tools enable parallel
可配置 Web 后端 Firecrawl / BeautifulSoup / Playwright 可选择 按需配置
路由感知定价 针对不同 Provider 路由提供精确的费用预估 自动计算

TTS 改进

  • NeuTTS:本地 TTS Provider,内置安装流程,替换旧的 optional skill
  • OpenAI TTS 支持自定义 base_url

视觉工具改进

  • 可配置超时
  • 文件路径波浪线扩展
  • Gateway DM 多图片 + base64 回退

安全与可靠性

安全加固

  • SSRF 防护vision_toolsweb_tools 全面防 SSRF
  • Shell 注入防护~user 路径后缀不再被 shell 解析
  • 浏览器来源保护:阻止未授权的 browser-origin 访问 API 服务器
  • 沙箱凭据隔离:沙箱后端的凭据不会泄露到子进程环境变量
  • @ 引用路径限制:阻止读取工作区外的敏感文件(由 @Gutslabs 贡献)
  • 恶意代码预执行扫描terminal_tool 执行前先扫描恶意模式
  • SQL 注入消除:所有 execute() 调用改用参数化查询(由 @dusterbloom 贡献)
  • Jobs API 加固:输入限制 + 字段白名单 + 启动检查

可靠性提升

  • SessionDB 4 个关键方法加线程锁
  • 并发内存写入加文件锁
  • OpenRouter 错误优雅处理
  • Agent 循环健壮性大幅提升:自动恢复 provider 拒绝的 tool_choice、空 tool 结果正确处理、JSON 解析错误反馈给模型而非用空参数执行、防止静默丢失 tool 结果

Cron 系统增强

  • [SILENT] 响应:cron agent 可静默执行,不推送结果
  • 错过任务的宽限期按调度频率自适应缩放
  • 恢复最近的一次性任务
  • ISO 时间戳规范化修复(之前的无时区时间戳导致任务在错误时间触发)

Skills 生态

新 Skills

Skill 描述
OCR-and-documents PDF/DOCX/XLS/PPTX/图片 OCR,可选 GPU 加速
Huggingface-hub 内置 HuggingFace Hub 交互
Sherlock OSINT 跨平台用户名搜索
Meme-generation 基于 Pillow 的图片生成
Bioinformatics 400+ 生物信息学 skills 索引
3D-model-viewer 3D 模型查看器
FastMCP MCP 快速开发 skill
Base blockchain 区块链交互

Skills 系统改进

  • Agent 自创 skill:Caution 级别的 skill 允许创建,危险 skill 改为询问而非阻断
  • --yes 标志:跳过 skill 安装/卸载确认
  • 已禁用 skill 全局生效:在 banner、system prompt、slash command 中都不会出现

插件系统增强

  • TUI 扩展钩子:可在 Hermes 之上构建自定义 CLI
  • hermes plugins install/remove/list:插件全生命周期管理
  • Slash command 注册:插件可以注册自己的 slash command
  • session:end 生命周期事件:session 结束时可触发插件钩子

升级

hermes update

全新安装请参考安装指南


GitHub 完整 Changelog

← Hermes Agent Changelog