当前位置: 首页 > news >正文

我把这个 AI Agent 汉化了,顺手做了个 Windows 桌面端

最近在折腾一个叫Hermes Agent的开源项目,做了两件事:把它汉化了,然后给它配了个 Windows 托盘应用。

写这篇文章,记录一下过程,也分享给同样在用 AI Agent 的朋友。

Hermes 是什么

Hermes 是 Nous Research 出品的自进化 AI Agent。

和市面上大多数 Agent 框架不同,它有一个核心设计:内置学习循环。用过的对话、执行过的任务,会被它自动整理成"技能"持久化下来,下次遇到类似问题直接复用,越用越聪明。

它的另一个特点是模型无关。OpenAI、Anthropic、OpenRouter 上的 200+ 模型,国内的通义千问、Kimi、智谱 GLM、MiniMax、小米 MiMo、DeepSeek——全都支持,hermes model一条命令切换,不改代码,不锁定。

可以跑在 $5 的 VPS 上,通过 Telegram 远程对话。也可以本地跑,接 WSL2。

为什么要汉化

第一次打开 Hermes,hermes help出来一屏英文,hermes setup的安装向导也全是英文。

对于英文不太顺手的用户来说,这个门槛不低。而且 Hermes 的命令体系比较复杂,36 条命令,24 个模型 Provider,光靠猜很容易用错。

所以我 fork 了一份,把核心界面全部汉化:

  • CLI 命令描述(36 条):hermes help现在显示中文
  • 模型 Provider 标签(24 个):hermes model列表里的提供商名称
  • 安装向导hermes setup的交互式配置流程
  • 启动横幅:每次启动时的 Banner
  • 诊断工具hermes doctor的输出信息

汉化之后,hermes help大概长这样:

hermes chat 开始新的对话 hermes model 切换 AI 模型 hermes memory 管理记忆与知识库 hermes skill 管理技能 hermes setup 配置向导 hermes doctor 诊断工具 ...

同时在 README 里补充了国内用户推荐的模型配置表,以及 MemPalace 知识库和 graphify 知识图谱的集成文档。

仓库地址:github.com/xyshanren/hermes-agent-cncn分支是汉化主分支,会持续跟进上游更新。

然后做了个桌面端

汉化完之后,用了一段时间,发现一个问题:

Hermes 是 CLI 工具,每次用都要打开终端,进 WSL2,手动启动 Gateway,再开始对话。步骤多,而且 WSL2 的终端窗口一直挂在那里,有点碍眼。

我想要的是:开机自启,托盘常驻,点一下就能聊

于是做了Hermes Tray

技术选型

最开始想用 Python + tkinter 做个简单托盘,但 Hermes 没有内置 Web UI,只有 OpenAI 兼容的 API 端点。tkinter 做聊天界面太费劲,而且打包成 exe 体积也不小。

后来选了Tauri 2:Rust 后端 + WebView 前端,打包出来的 exe 只有 83MB,原生托盘支持,WebView 渲染聊天界面。

架构

Windows 桌面 (Tauri 2 WebView) │ ├─ 系统托盘 ── 启动/停止 Gateway,状态指示 ├─ 聊天界面 ── 内嵌 WebView,流式对话 │ └─ Rust 代理层 ──→ Hermes Gateway (WSL2) http://<wsl-ip>:8642

前端通过invoke调用 Rust 命令,Rust 用reqwest代理请求到 WSL2 里的 Hermes Gateway。流式响应(SSE)通过window.emit推送回前端,实现打字机效果。

一个有意思的坑

WSL2 的网络是隔离的,Windows 侧和 WSL2 实例不共享 127.0.0.1。

最开始我用 PowerShell 的Get-NetAdapter检测 WSL2 IP,拿到的是172.31.96.1——这是 Windows 侧的 vEthernet 虚拟网卡地址,不是 WSL2 实例的地址。

实际的 WSL2 实例 IP 是172.31.98.230,需要在 WSL2 内部执行hostname -I才能拿到。

修复方法:Rust 端调用wsl -d Ubuntu-24.04.4 hostname -I,解析出实例 IP,再拼接请求地址。

fndetect_wsl_ip()->String{letoutput=Command::new("wsl").args(["-d","Ubuntu-24.04.4","hostname","-I"]).output().ok();// 解析第一个 IP 地址...}

这个坑卡了我一段时间,连接状态一直显示"未连接",加了诊断日志才发现请求发到了http:///health(URL 里 IP 是空字符串)。

现在的状态

Phase 1 已经可用:

  • ✅ 系统托盘常驻,右键菜单启动/停止 Gateway
  • ✅ 聊天界面,流式响应
  • ✅ 自动检测 WSL2 IP,无需手动配置
  • ✅ 所有数据本地,不经过任何云服务

Phase 2 计划中:本地模型运行时下载(Whisper 语音转写、小参数量 LLM 离线备用)。

顺带一提:MemPalace

Hermes 支持接入 MCP(Model Context Protocol)工具。我接了一个叫MemPalace的本地记忆系统。

它完全本地运行,不依赖任何外部 API,用 ChromaDB 做向量存储,SQLite 做知识图谱。把代码库、文档、对话历史 mine 进去之后,Hermes 可以在对话中直接检索这些内容。

在 LongMemEval 基准测试上,raw 模式得分 96.6%,而且零 API 调用。

配置方式:

# ~/.hermes/config.yamlmcp_servers:mempalace:command:pythonargs:["-m","mempalace.mcp_server"]env:MEMPALACE_DIR:"/root/.mempalace"

hermes mcp test mempalace验证连接,29 个工具全部可用。
ps:graphify 是另一个比较有意思的工具,集成方法我放到 hermes-agent-cn 项目文档中了,有兴趣的可以看下

小结

这两件事加起来,让 Hermes 在国内的使用体验好了不少:

  1. 汉化解决了语言门槛,命令和配置不再靠猜
  2. 桌面端解决了使用门槛,不用每次开终端

代码都在 GitHub 上,欢迎 star 和 PR:

主仓库地址:github.com/xyshanren/hermes-agent-cn
备份地址:gitee.com/XiaoYRecluse/hermes-agent-cn

如果你也在用 Hermes,或者对本地 AI Agent 感兴趣,欢迎交流。


Hermes Tray 目前基础功能可用,下一步准备集成本地模型降低使用成本,最终让它成为你随时可用的AI助手,敬请期待

🧪 求索实验室

http://www.jsqmd.com/news/688633/

相关文章:

  • 从ESP32到HIFI5:一文搞懂Cadence Xtensa处理器家族那些事儿(含DSP指令集差异)
  • 保姆级教程:用Jellyfish 2.3.0给你的基因组测序数据做个‘体检’(k-mer分析实战)
  • 【OCR】实战调优 - 从预处理到参数调整,打造高精度文字识别流水线
  • 告别NoteExpress!Mac上EndNote从零到文献综述实战全记录
  • Keil5快捷键设置
  • 5步构建高效开源数据协作流程:Administrative-divisions-of-China维护指南
  • 【AutoSar_诊断协议栈】FiM功能抑制实战:从Event到FID的降级决策流
  • 苏州GEO厂家深度解析 解锁AI搜索核心价值 - 品牌排行榜
  • CentOS 7上5分钟搞定Apache WebDAV:一个脚本全自动配置(含防火墙设置)
  • 数据结构在工程中的应用
  • 2026年3月国内评价好的推拉蓬公司有哪些,景观棚/伸缩棚/充电桩棚/膜结构停车棚/大型膜结构/膜结构,推拉蓬公司推荐 - 品牌推荐师
  • TegraRcmGUI:3步掌握Switch注入神器,开启你的游戏主机定制之旅
  • dvsz
  • 别再手动存数据了!用Vue的keep-alive搞定Ruoyi页面切换时查询条件保留
  • 新手避坑指南:用STM32F103C8T6画板子,从原理图到PCB的完整实战复盘
  • WSL2 unbutu 调用CUDA机制
  • 告别高斯模糊:用Python+NumPy手把手实现各向异性扩散,让边缘检测更精准
  • Fluent自然对流模拟避坑指南:操作温度与密度到底怎么设?从Boussinesq到VOF模型
  • 如何让经典DirectX游戏在现代Windows上完美运行:DDrawCompat完整指南
  • 终极指南:如何快速掌握Nuxt 2官方文档网站开发
  • GSE智能宏编译器:重新定义《魔兽世界》自动化操作的技术革新
  • Thorium浏览器:深度优化的Chromium分支,释放你的CPU全部性能
  • 从《新概念英语》Lesson 11看海关申报:程序员出差带“开发板”会被税吗?
  • 从过拟合到泛化能力
  • 2026年4月|AI智能体平台TOP8榜单 - 资讯焦点
  • 免费开源的WPS AI插件 察元AI助手:evaluationStore:追加记录与上限裁剪
  • 2026外科主任医师考试选对老师很重要!5位名师真实授课体验 - 医考机构品牌测评专家
  • 用MATLAB复现诺奖技术:手把手教你仿真Zernike相衬显微镜(附完整代码)
  • 专业GEO优化公司推荐 - 资讯焦点
  • 告别抓包失败:手把手教你用r0Capture脚本通杀iOS/Android的SSL Pinning