最近在折腾一个叫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。为什么要汉化第一次打开 Hermeshermes 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 2Rust 后端 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{letoutputCommand::new(wsl).args([-d,Ubuntu-24.04.4,hostname,-I]).output().ok();// 解析第一个 IP 地址...}这个坑卡了我一段时间连接状态一直显示未连接加了诊断日志才发现请求发到了http:///healthURL 里 IP 是空字符串。现在的状态Phase 1 已经可用✅ 系统托盘常驻右键菜单启动/停止 Gateway✅ 聊天界面流式响应✅ 自动检测 WSL2 IP无需手动配置✅ 所有数据本地不经过任何云服务Phase 2 计划中本地模型运行时下载Whisper 语音转写、小参数量 LLM 离线备用。顺带一提MemPalaceHermes 支持接入 MCPModel 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/.mempalacehermes mcp test mempalace验证连接29 个工具全部可用。psgraphify 是另一个比较有意思的工具集成方法我放到 hermes-agent-cn 项目文档中了有兴趣的可以看下小结这两件事加起来让 Hermes 在国内的使用体验好了不少汉化解决了语言门槛命令和配置不再靠猜桌面端解决了使用门槛不用每次开终端代码都在 GitHub 上欢迎 star 和 PR主仓库地址github.com/xyshanren/hermes-agent-cn备份地址gitee.com/XiaoYRecluse/hermes-agent-cn如果你也在用 Hermes或者对本地 AI Agent 感兴趣欢迎交流。Hermes Tray 目前基础功能可用下一步准备集成本地模型降低使用成本最终让它成为你随时可用的AI助手敬请期待 求索实验室