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_tools和web_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
全新安装请参考安装指南。
← Hermes Agent Changelog