Hermes Agent 在 6 月 5 日发布了 v0.16.0(tag 写作 v2026.6.5),这次被官方命名为 "The Surface Release"——意思是 Hermes 终于"长出表面"了,有了一款真正的桌面应用,可以跟用户日常用的其他桌面 App 并列摆放。
其中最值得中文用户关注的是 PR #38241——@JimLiu 提交了完整的简体中文(zh-Hans)翻译,让桌面端的所有界面都换成了中文。这件事对国内用户尤其有意义,本文重点讲清楚。
Hermes 从一个只能跑在终端里的 agent 框架,变成了一个真正能"装在你电脑上"的桌面应用,并配套上线了完整的简体中文翻译。
| 维度 | 数字 |
|---|---|
| 版本号 | v0.16.0 / v2026.6.5(Surface Release) |
| 上一版到这版 | v0.15.2 → v0.16.0 |
| 提交 | 874 commits / 542 merged PRs |
| 文件改动 | 1,962 文件,+205,216 / -46,217 行 |
| 关闭 issue | 399 个(2 P0 + 62 P1 + 16 安全相关) |
| 贡献者 | 170 人(含 co-author) |
| 桌面应用投入 | 100 PRs / 159 commits 一周内完成 |
| 发布时间 | 2026 年 6 月 6 日 00:55 UTC |
这是这次发布最重要的变化——Hermes 现在有了原生桌面客户端(macOS / Linux / Windows),不再是只能装在终端里的 CLI 工具。
桌面应用的关键能力:
100 个 PR、159 个 commits,一周内完成——这是一个非常激进的开发节奏。
这是这次发布里对中文用户最有意义的一个 PR:
feat(desktop): add i18n with Simplified Chinese (zh-Hans) support
by @JimLiu
关联 Release: v2026.6.5 (Hermes Agent v0.16.0)
不是一个简单的"翻译几句话"的 PR,而是一个完整的 i18n 基础设施:
1. 建立了 i18n 模块(apps/desktop/src/i18n)
| 文件 | 作用 |
|---|---|
types.ts |
类型化 Translations 接口,所有 UI 字符串的"单一事实源" |
en.ts |
英文 locale 表 |
zh.ts |
简体中文 locale 表(这次新增) |
catalog.ts |
共享的 locale 目录 |
languages.ts |
语言元数据 |
runtime.ts |
非 React 的翻译辅助函数 |
context.tsx |
I18nProvider + useI18n() hook,从 desktop config 读 / 写语言 |
*.test.tsx |
单元测试(provider 行为、语言元数据、fallback 翻译查询) |
2. 在 main.tsx 接入 I18nProvider——把 Provider 接到 App 根节点。
3. 重构所有桌面 UI 组件——从硬编码英文改成读 translateNow():
包括 chat、sidebar、settings、command center、cron、messaging、profiles、skills、agents、artifacts、titlebar、boot、notifications、update status text。
换句话说,桌面应用里你看到的每一条英文都换成了翻译调用。
1. 英文仍然是默认语言
display.language: en # 默认值
切换到中文后选择会持久化到 Hermes config 的 display.language 字段,关掉应用再开还是中文。
2. 没有用国旗图标
PR 描述里特意强调:
languages.ts — language endonyms for the picker (no flags — languages aren't countries)
语言选择器里显示该语言的本名("简体中文"),不显示国旗——这个细节很加分,体现了"语言不等于国家"的工程理念。
3. 对英文用户零影响
Purely additive for English users: with the default locale unchanged, the UI renders the same strings as before.
升级到 v0.16.0 后英文用户根本感觉不到变化,UI 还是原来的样子。
4. 添加新语言成本极低
Translations interface makes adding further languages a matter of supplying one more locale table.
有了这个 Translations 类型化接口,下次有人想加日语/韩语/法语,只需要再写一个 ja.ts 就够了。这个 PR 给后续的多语言扩展铺好了路。
5. 非 React 的 store 消息也用同一份 catalog
Non-React store messages now use the same catalog so boot, notification, and update text stay aligned with the selected language.
包括启动通知、应用内更新提示这些非 React 部分也用同一套翻译,UI 不会有"中文界面里突然蹦出一行英文"的割裂感。
PR 描述里 @JimLiu 提供了两张截图,展示用 display.language: zh 启动桌面端后的效果:
截图 1:主界面(聊天窗口 / 侧边栏 / 设置)的中文显示
截图 2:Appearance 设置里的语言选择器
【这里建议插入原始截图】
官方截图原文链接:
- https://github.com/user-attachments/assets/11499972-57f3-4ce1-9ac2-9c56dae83d12
- https://github.com/user-attachments/assets/9776d332-9884-4a76-b9c8-ee17db70446d(如果浏览器打开是 404,是 GitHub 的 user-attachments 鉴权机制导致——这两张图是 PR 上传时附的、需要 GitHub 登录态才能看。读者要查看请直接到 PR 页:https://github.com/NousResearch/hermes-agent/pull/38241)
截图位置说明:
- 截图 1 应放在此处,配文"中文模式下的 Hermes Desktop 主界面(来自 PR #38241)"
- 截图 2 应放在此处,配文"中文模式下的 Appearance 设置页面(来自 PR #38241)"
从"只能看会话"升级为"在浏览器里管理一切":
以前改 config.yaml 才能接入一个新消息通道,现在浏览器里点几下就行。
首次安装体验优化:
- 两种路径:Quick Setup(登录 Nous Portal → 选模型 → 立即开聊)和 Full Setup(给老手的详细向导)
- hermes portal 是 Quick Setup 的可读 alias
- 目标:新用户不需要读文档就能发第一条消息
Model picker 现在支持模糊搜索,在桌面 / Web / TUI / CLI 四个地方都支持:
deepseek-v4-flash默认只装你真正会用到的 skill:
spotify 被原生 Spotify plugin 的 7 个工具取代)baoyu、dspy、subagent-driven-development 等)environments: relevance gate——按环境过滤 skill index,减少噪音NVIDIA/skills 现在跟 OpenAI / Anthropic / HuggingFace 一样是 Skills Hub 的默认可信 tap:
说了错话 / 把 agent 带偏了?/undo N 直接回退 N 轮:
关闭了一个长期 issue(#21910)。
hermes chat 现在可以选默认是进经典 CLI还是Ink TUI:
--cli 参数可以一次调用覆盖/model 命令和 Sessions overlay这次一并修复了一个 CVE 和一批安全加固:
| 项目 | 内容 |
|---|---|
| CVE-2026-48710 | Starlette BadHost——pin patched Starlette ≥1.0.1 |
| SSRF | URL SSRF 检查移到 async 路径的 event loop 外 |
| 子进程凭据 | Bedrock inference bearer token 不再进入子进程 env |
| 文件安全 | bws_cache.json 加入 file-safety read guard |
| 工具安全 | 恢复 execute_code 的 approval/sudo 上下文 |
| 危险模式 | docker restart/stop/kill 加入 DANGEROUS_PATTERNS |
| Skill 安全 | 净化 skill content 里的不可见 unicode |
| 工具拷贝 | xAI mutation 前 deepcopy tools(避免 in-place 改坏) |
16 个 security-tagged issue 在这次 release 里关闭。
这次 release 里有 170 个贡献者(含 co-author),其中最活跃的几位:
| 贡献者 | 合并 PR 数 | 贡献方向 |
|---|---|---|
| @OutThisLife | 52 | 桌面应用——安装/自更新/远程连接/多 Profile/聊天 UX/状态栏 model picker |
| @benbarclay | 44 | Docker 加固、Dashboard 鉴权(OIDC、用户名密码、refresh token 轮换)、Desktop OAuth 远程连接 |
| @kshitijk4poor | 29 | 模糊 model picker、Setup/Portal onboarding、桌面 completion menu & Stop 按钮修复、honcho 加固 |
| @ethernet8023 | 18 | 桌面 build pipeline(content-hash stamp、build flags)、Linux/arm64 桌面支持、managed-uv 整合 |
| @austinpickett | 8 | Dashboard nous-blue 主题 + bulk sessions、Desktop Providers settings、GUI QoL 分类 |
| @alt-glitch | 7 | Nous tool-pool entitlement surfacing、FAL 视频生成 managed gateway、supermemory session ingest |
| @helix4u | 6 | gateway service-restart flow、update destructive-clean guard、config prefill alignment |
| @jquesnelle | 4 | installer commit-pinning opt-in、桌面 skills/tools + model-management 整合 |
| @JimLiu | — | 完整简体中文桌面翻译 + 类型化 i18n 基础设施 |
hermes update 即可display.language: zh)这次发布是个不错的入门时机——有了桌面应用,门槛比纯 CLI 低很多。
快速开始:
# macOS
brew install hermes
# Linux / WSL
curl -fsSL https://gethermes.dev/install | sh
# 然后启动桌面
hermes desktop
或者直接去 GitHub Releases 下载对应平台的安装包。
门槛已经很低了:
1. 参考 apps/desktop/src/i18n/zh.ts 写一份你目标语言的 locale 文件
2. 在 languages.ts 注册新语言
3. 跑 npm run test:ui -- i18n 验证
4. 提 PR
Q:升级到 v0.16.0 后会破坏我现有的配置吗?
A:不会。display.language 字段是新增的,默认值是 en,对原有配置零影响。
Q:中文翻译完整吗?
A:PR 描述里说"full Simplified Chinese translation",覆盖了 chat / sidebar / settings / command center / cron / messaging / profiles / skills / agents / artifacts / titlebar / boot / notifications / update status 全部 14 个 UI 模块。但实际使用中可能还会发现少量未翻译字符串(这是 i18n 项目的常态),遇到可以提 issue 或 PR 补。
Q:能不能在 PR 阶段就看到效果?
A:可以。PR #38241 的描述里明确写了:
Launch desktop with
display.language: zh; capture the main interface and language settings screenshots above.
PR 里附了截图(链接见前文【截图位置】),可以看到实际效果。
Q:和 OpenCode / Claude Code 的中文支持比怎么样?
A:这次 PR 给 Hermes 的桌面端专门建了一套完整的 i18n 基础设施(带类型化 Translations 接口、可测试的 Provider、与 config 持久化集成),不是"临时翻译了一下字符串"。从这个角度看,Hermes 的多语言架构更工程化,对后续扩展友好。
Q:作者 @JimLiu 是谁?
A:从贡献者列表看,是这次桌面端 i18n 模块的独立贡献者——单人完成了完整翻译 + 基础设施搭建 + 测试 + 截图的 PR,质量相当高。
这次 v0.16.0 标志着 Hermes 从"命令行玩具"正式成为"桌面应用"——一个普通用户能装、能用、能看懂的 AI 工具。
而 PR #38241 给这件事加了一个对中文用户特别重要的细节:你装好之后,第一眼看到的是中文界面,而不是被英文劝退。
@JimLiu 这一个 PR 的实际意义:
- 让中国用户对 Hermes 的第一印象变成了"哦,这是个中国用户也能用的产品"
- 留下了可扩展的 i18n 基础设施——下一个想加日语/法语的人不用从零开始
- 给所有做"AI Agent 国际化"的人提供了一份样板代码
你平时用 Hermes / Claude Code / OpenCode / pi 多?这次 v0.16.0 装了吗?中文翻译质量感觉怎么样?评论区聊聊。
💬 评论区