TL;DR: 4月23日,Nous Research发布Hermes v0.11.0,含1556个提交、761个PR,带来React/Ink TUI、Transport架构、AWS Bedrock、GPT-5.5及插件系统大升级。
一、项目现状:11.4 万 Star 的社区怪物
在深入技术细节之前,有必要先了解 Hermes Agent 当前的规模和影响力。
从 2025 年 7 月创建到今天不到一年时间,Hermes 已经成为开源 AI Agent 领域最受关注的项目之一。其增长曲线与同期的 OpenAI Agents SDK、LangGraph 等项目相比毫不逊色——而它的差异化在于:一个项目同时做基础设施(Agent 框架)、用户界面(CLI/Messenger)、记忆系统(Memory)、技能系统(Skills)和消息网关(Gateway),且全部开源。
二、版本演进脉络:从 v0.5.0 到 v0.11.0
在分析 v0.11.0 之前,有必要回顾近一个月来的版本节奏,理解每个版本的定位:
可以看出,团队采用了一种「积木式」开发策略:每个版本解决一个层面的问题,然后在上层版本中将所有能力整合到一起。v0.11.0 正是这个策略的集大成者——它整合了前几个版本中分散交付的功能,并通过架构重构为下一阶段的增长奠定了基础。
三、核心亮点深度解析
3.1 新 Ink TUI:命令行界面的 React 革命
以前的 TUI 有什么问题?
传统的 Hermes CLI 交互界面基于标准的终端输出,存在几个长期痛点:
交互延迟高:每次响应都是一个完整文本块,无法看到流式输出过程
难以处理复杂布局:代码高亮、Markdown 渲染、多选菜单在纯终端中体验差
无法保留输入状态:输入长命令时界面会「跳变」
跨会话可复制性差:SSH 环境下无法方便地复制输出内容
新 TUI 的技术架构
v0.11.0 用 React + Ink 完全重写了交互界面,架构如下:
┌─────────────────────────────────┐
│ ui-tui (React/Ink) │ 前端:React + Ink 组件库
│ ┌─────────────────────────────┐ │
│ │ src/entry.tsx (TTY gate) │ │ 检测是否为 TTY,决定走新 TUI 还是旧模式
│ │ src/app.tsx (state machine) │ │ 应用主状态机
│ │ src/app/event-handler/ │ │ 事件处理
│ │ src/app/slash-handler/ │ │ 斜杠命令处理
│ │ src/app/stores/ │ │ 状态存储(zustand 风格)
│ │ src/app/hooks/ │ │ 自定义 hooks
│ │ src/branding.tsx │ │ 品牌/标题组件
│ │ src/markdown.tsx │ │ Markdown 渲染
│ │ src/thinking.tsx │ │ 思考过程显示
│ └─────────────────────────────┘ │
└─────────────────────────────────┘
│ JSON-RPC
▼
┌─────────────────────────────────┐
│ tui_gateway (Python RPC) │ 后端:Python JSON-RPC 服务
│ - _SlashWorker (subprocess) │ 斜杠命令在独立子进程中执行
│ - complete.slash RPC │ 斜杠命令自动补全
│ - complete.path RPC │ 路径自动补全
└─────────────────────────────────┘关键技术选型说明:
Ink:Ink 是一个用 React 开发 CLI 程序的框架,由 Vercel 团队维护。它让 React 开发者可以用熟悉的范式构建 TUI,产出的二进制文件没有 Node.js 依赖
JSON-RPC:前后端通过 JSON-RPC 协议通信,后端是 Python,这样既利用了 React 的 UI 能力,又保持了 Hermes 原生 Python 代码的复用
OSC-52 剪贴板支持:这是实现 SSH 环境下复制粘贴的关键协议,让 TUI 的内容可以通过终端的 OSC-52 序列复制到系统剪贴板
新 TUI 功能一览:
这些改进中,流式输出和每轮耗时秒表对开发者体验提升最为显著——可以直观看到模型「在想什么」,也能发现性能瓶颈。
架构解耦的价值
更重要的是,这次重构将 app.tsx 分解为 event-handler、slash-handler、stores、hooks 等模块,组件也按职责分离为 branding.tsx、markdown.tsx、thinking.tsx 等。这种拆分意味着社区可以更容易地为 TUI 添加自定义组件,而不必理解整个庞然大物。
3.2 Transport ABC:基础设施层面的范式转换
这是本版本最底层、也最具长期价值的架构变更。
问题:Provider 代码的耦合之痛
此前,每个推理提供者(OpenAI、Anthropic、OpenRouter 等)的代码都直接内嵌在 run_agent.py 中,格式转换和 HTTP 请求逻辑混在一起。这导致:
添加新的推理提供者需要修改核心代码
同一个提供者的不同 API 路径(如 Anthropic 的 Messages API 和 Responses API)难以共存
AWS Bedrock 这样的企业级需求一直没有原生支持
Transport 抽象层的设计
v0.11.0 将格式转换和 HTTP 传输抽象为四层:
┌─────────────────────────────┐
│ Agent Loop │ Agent 主循环(不变)
└──────────────┬──────────────┘
│ calls Transport
▼
┌─────────────────────────────┐
│ Transport ABC │ 抽象基类
│ - format_request() │ 格式转换:Agent → Provider API
│ - format_response() │ 格式转换:Provider API → Agent
│ - send() / stream() │ HTTP 请求逻辑
└──────┬──────────────────────┘
│
┌────┴────┬─────────────┬──────────────┬──────────┐
▼ ▼ ▼ ▼ ▼
Anthropic ChatComp ResponsesAPI Bedrock ...其他
Transport Transport Transport Transport四个具体实现:
AnthropicTransport:将 Agent 的通用请求格式转换为 Anthropic Messages API 的格式,处理
thinking块、betas头等 Anthropic 特有字段ChatCompletionsTransport:面向 OpenAI 兼容接口,是 OpenAI、OpenRouter、Kimi 等大多数提供者的通用路径
ResponsesApiTransport:面向 OpenAI Responses API(Codex 等使用的较新 API 路径),处理
build_kwargs注入BedrockTransport:通过 AWS Bedrock Converse API 原生调用 Claude/Gemini 等模型,支持 IAM 认证和跨区域路由
对开发者的实际意义
如果你想为 Hermes 添加一个新的推理提供者,现在只需要:
class MyProviderTransport(Transport):
def format_request(self, messages, tools, config):
# 将通用消息格式转换为 MyProvider 的 API 格式
return {"messages": ..., "api_key": ...}
def format_response(self, raw_response):
# 将 MyProvider 的响应转换为标准格式
return StandardResponse(...)这比之前在 run_agent.py 中寻找插入点要优雅得多。这也是为什么在 Transport 层重构之后,五条新的推理路径能够在同一个版本中顺利交付。
3.3 五条新推理路径:生态全面扩展
v0.11.0 新增了五个推理提供者,每一个都具有明确的场景针对性:
NVIDIA NIM(原生)
意义:NIM(NVIDIA Inference Microservices)是 NVIDIA 官方提供的推理容器化方案,包含了 Llama、Mistral、Nemotron 等主流开源模型的优化版本。通过原生 NIM 支持,Hermes 用户可以直接连接自托管的 NVIDIA 推理节点,无需通过 OpenRouter 等中间层。
# 配置示例(伪代码)
hermes model set nim:nemotron-70b
# 自动路由到本地的 NVIDIA NIM 端点Arcee AI
Arcee 是一个专注于模型压缩和领域适配的 AI 平台,新增支持意味着 Hermes 可以利用 Arcee 的优化模型。
Step Plan
一个面向规划(Planning)场景的推理提供者,新增对复杂任务拆解场景的支持。
Google Gemini CLI OAuth
重要更新:Gemini 的调用路径从之前的第三方兼容模式升级为原生 Google AI Studio API。官方 API 的好处是更稳定、更及时地获得 Gemini 的最新能力(如 Gemini 2.5 的长上下文和工具调用支持)。
Vercel ai-gateway
Vercel 的 ai-gateway 是一个聚合层,可以将多个推理提供者的 API 统一管理,支持动态发现、价格路由和回退策略。Hermes 的集成意味着用户可以在 Vercel 生态中使用 Hermes 作为前端 Agent。
3.4 GPT-5.5 通过 Codex OAuth
这是本版本中最「炫酷」的功能之一:用户现在可以通过 ChatGPT Codex OAuth 直接使用 OpenAI 最新发布的 GPT-5.5 推理模型,而无需配置任何 API Key。
工作原理:
用户配置 Codex OAuth
│
▼
Hermes 获取 OAuth Token
│
▼
模型选择器中动态发现可用模型(GPT-5.5 自动出现)
│
▼
通过 Responses API 路由到 OpenAI 的 Codex 后端这背后的技术细节很有意思:Hermes 使用 Responses API Transport 与 Codex 后端通信,同时实时探测可用模型列表(live model discovery),确保 OpenAI 发布新模型后用户无需等待 Hermes 更新就能使用。
3.5 QQBot:第 17 个消息平台
Hermes 的消息网关生态在 v0.11.0 迎来了第 17 个平台——QQBot,基于 QQ 官方 API v2。
QQBot 的加入对中文用户意义重大。中国用户此前主要依赖企业微信和飞书,这次新增 QQ 支持意味着可以在更广泛的社交场景中部署 AI Agent。
3.6 插件系统大扩张
v0.11.0 之前,Hermes 插件系统只能做「添加工具」这一件事。v0.11.0 之后,插件获得了前所未有的能力:
这些能力加在一起,实际上是把 Hermes 从一个「有插件的工具」变成了一个「可扩展的平台」。任何人都可以在不 fork 主仓库的情况下,将 Hermes 定制成完全符合自己需求的形态。
四、中间版本亮点回顾
v0.11.0 合并了 v0.10.0 延迟交付的内容,因此有必要特别提及其中的关键功能:
Nous Tool Gateway(v0.10.0)
这是本系列中我认为对普通用户影响最大的功能。对于订阅了 Nous Portal 的用户,Tool Gateway 提供了免 API Key 的工具访问:
Web 搜索:Firecrawl 驱动
图像生成:FAL / FLUX 2 Pro
语音合成:OpenAI TTS
浏览器自动化:Browser Use
这意味着用户只需要一个 Nous Portal 订阅,就能获得完整的工具生态,而不必在各个平台分别注册 API Key 并管理账单。
Local Web Dashboard(v0.9.0)
v0.9.0 引入的 Web Dashboard 在 v0.11.0 中得到了进一步扩展:
i18n 支持(英文 + 中文)
实时主题切换
可扩展插件系统
移动端响应式布局
Vercel 部署支持
每次会话的 API 调用计数
对于不熟悉命令行的用户,Dashboard 提供了一个友好的图形化入口来管理 Hermes Agent 的配置、查看技能和管理会话。
五、技术债务清理与可靠性提升
大型版本发布往往伴随着大量 bug 修复,v0.11.0 也不例外。482 个修复 PR 分散在各个子系统中,以下是最值得关注的几类:
会话与压缩稳定性
# 修复前:压缩耗尽后进入死循环
# 修复后:自动重置会话状态
if compression_exhausted:
reset_session() # v0.11.0 新增
# 修复前:重试计数器污染会话历史
# 修复后:压缩后重置重试计数器
compress()
reset_retry_counters() # v0.11.0 新增流式输出净化
流式输出过程中的一些中间字符(如 <think> 思考块、流式游标 ▉)此前会泄露到用户可见的输出中,v0.11.0 对这些内容进行了全面过滤:
<think>/<thought>块 → 仅在内部可见流式游标
▉→ 过滤掉独立出现的游标Markdown 表格中的特殊字符 → 统一转义
安全加固
防止 Agent 自我销毁 Gateway:Agent 无法通过终端工具终止自己运行的 Gateway 进程
Telegram 更新授权:更新提示需要显式确认,防止社工攻击
私有 URL 解析开关:新增全局开关控制是否允许解析内部/私有 URL
六、开发者生态:贡献者图谱与社区健康
贡献者数据
v0.11.0 的贡献者图谱非常有趣:
核心贡献者亮点
@kshitijk4poor(49 PRs):
Transport 层重构的主力开发者
AnthropicTransport 和 ResponsesApiTransport 的实现者
Step Plan、NVIDIA NIM、Arcee AI 等多个新提供者的接入
小米 MiMo 模型升级
@OutThisLife / Brooklyn(31 PRs):
TUI 的主要贡献者
Git 分支状态栏、每轮耗时秒表、稳定选择器快捷键
/clear确认提示、浅色主题
@austinpickett(8 PRs):
Web Dashboard 的 react-router 重构
侧边栏、粘性头部、下拉组件
Vercel 部署支持
这种「核心维护者 + 社区高产贡献者 + 大量一次性贡献者」的结构,是健康开源项目的典型特征。
七、对 AI Agent 生态的深远影响
Hermes 的战略定位
从 v0.3.0 到 v0.11.0,Hermes 走出了一条独特的道路:它不只是一个 Agent 框架,而是一个以用户为中心的 AI 交互平台。与 LangChain/LangGraph 侧重于开发者构建应用不同,Hermes 侧重于让终端用户直接使用 AI。
这种定位带来的结果是:Hermes 的用户不需要写代码。配置好模型和消息平台之后,任何人都可以通过 Telegram、Discord 或飞书与自己的 AI Agent 对话,而这个 Agent 还自带记忆、技能和自动化能力。
Transport ABC 的长期价值
Transport 抽象层的引入是本版本最重要的技术投资。这意味着:
新模型接入成本大幅降低:未来任何新模型或推理平台都可以通过实现 Transport 接口接入 Hermes,无需修改核心代码
企业级部署更容易:AWS Bedrock 的原生支持让大型组织可以在不暴露 API Key 的情况下,通过 IAM 角色和 VPC 部署 Hermes
多模型路由成为可能:有了 Transport 层,未来的版本可以在同一个对话中动态切换不同的推理提供者
插件生态的潜力
当插件可以注册命令、拦截工具、转换输出、添加界面标签时,Hermes 的插件系统实际上已经变成了一个应用平台。想象一下:
一个 Notion 插件:自动将对话摘要写入 Notion 数据库
一个 Linear 插件:将决策转化为 Linear Issue
一个 Figma 插件:直接在对话中生成设计稿
这不是遥远的愿景——Skills 生态系统中已经有了类似的插件(如 linear 技能包、obsidian 技能包),而插件系统的扩张让这些能力可以更深入地集成。
八、安装与上手
快速安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash体验新 TUI
# 启动新的 Ink TUI
hermes --tui
# 或设置环境变量
export HERMES_TUI=1
hermes配置模型
hermes model
# 在交互式选择器中选择 Nous Portal 或其他提供者配置消息平台
hermes gateway setup
# 选择 Telegram / Discord / Slack / 飞书 / QQBot 等
hermes gateway start结语
Hermes Agent v0.11.0 是一个具有里程碑意义的版本。它不仅在功能层面带来了令人眼花缭乱的新特性——新的 TUI、Transport 架构、AWS Bedrock、QQBot、GPT-5.5——更重要的是,它通过架构层面的重构为未来一年甚至更长时间的增长奠定了基础。
从一个开源项目的角度看,113,763 个 Star 和 290 位贡献者的规模已经证明了社区对它的认可。而从技术角度看,Transport ABC 的抽象、插件系统的全面开放、Web Dashboard 的插件化——这些设计决策表明项目团队对「平台化」有着清晰的认识和坚定的执行。
对于 AI Agent 的爱好者来说,Hermes 正在成为那个「一站式解决方案」:无论是想在服务器上运行一个永久在线的个人 AI 助手,还是想构建复杂的多智能体工作流,Hermes 都能提供开箱即用的路径。
技术没有捷径,但有方向