从安装目录、安全软件、GitHub 代理,到 402 额度、模型列表和只会说英文的真相。这不是一份照着官网抄的教程,而是一份真实的排错复盘。 我原本以为,这件事最多十分钟:下载一个 Windo
|
从安装目录、安全软件、GitHub 代理,到 402 额度、模型列表和“只会说英文”的真相。这不是一份照着官网抄的教程,而是一份真实的排错复盘。
我原本以为,这件事最多十分钟:下载一个 Windows 安装包,填入 API Key,然后开始聊天。 结果整整绕了一大圈。 安装器默认往 C 盘写,界面又没有选择目录;GitHub 在浏览器里明明能打开,安装脚本却一直超时;腾讯电脑管家已经加了信任区,uv 生成的临时程序还是运行失败;好不容易装完,Hermes 的模型列表里只有一个 Hy3;手动切到一个仍有额度的模型后,它倒是不报错了,却无论我说什么都只回一句英文:
最后真正跑通时,Hermes 被完整安装在 E:\Hermes,模型接入腾讯 TokenHub,并且可以在 qwen3.5-plus 和 qwen3.5-flash 之间切换。 回头看,最浪费时间的并不是报错本身,而是几个很容易混在一起的概念:安装包的位置不等于安装目录;浏览器能访问 GitHub 不等于 Git 能访问;账号有额度不等于当前服务有额度;配置文件改了不等于当前会话已经切换。 这篇文章就把这几个坑一次讲清楚。 一、Windows 安装包和 PowerShell 安装,到底有什么区别?Hermes 官网同时提供 Windows 安装包和 PowerShell 安装方式。
表面上看,它们像是两套完全不同的安装方案。实际跑过日志后会发现,Windows 安装包更像一个图形化的 bootstrapper(引导安装器):
所以,两者安装出来的核心 Hermes 并没有本质区别。差异主要在体验:安装包有进度界面,PowerShell 更透明,也更容易传入环境变量和观察报错。 我的建议是:
二、第一个坑:安装包放在 E 盘,不代表 Hermes 会装在 E 盘我的安装包位于:E:\浏览器下载\Hermes-Setup.exe 但直接双击,Hermes 仍会使用默认目录。真正决定数据、配置、运行时和仓库位置的,是环境变量 HERMES_HOME。 我最后成功安装到 E 盘时,实际执行的是下面这组完整命令。它不只指定了 Hermes 的安装目录,还把安装过程中用到的临时文件放到了 E 盘,并让 Git/Python、npm 和 Electron 下载器都走同一个代理:
这段命令可以整段复制到 PowerShell 运行,不要求管理员权限。7897 是我当时本机代理软件监听的端口,其他人照着操作时,要换成自己代理软件显示的端口;如果网络可以直接访问 GitHub,也可以删掉所有代理相关的环境变量,只保留安装目录、临时目录和最后一行启动命令。 安装成功后,目录大致会变成:
日志也证明,便携版 Node.js、uv、Python 虚拟环境和 Hermes 仓库都被放进了这个根目录。 可以用下面的命令检查用户级环境变量是否已经保存:
这里最容易产生的误解是:安装包在哪个盘,和软件最终安装在哪个盘,没有必然关系。 三、第二个坑:浏览器能打开 GitHub,安装器照样可能连不上安装日志里先后出现了三种情况:
Hermes 安装器会先尝试 SSH,再尝试 HTTPS,失败后还可能退回 ZIP 下载。因此,你可能看到浏览器能打开仓库,但安装器仍然卡在“Cloning Hermes repository”。 原因很简单:浏览器、Git、PowerShell、Node/Electron 不一定共用同一套代理设置。 如果本机代理监听在 127.0.0.1:7897,可以在启动安装器前设置:
一个很反直觉的细节:HTTPS_PROXY 的值仍然可以是 http://127.0.0.1:7897。前面的 http:// 描述的是“如何连接本地代理”,不是目标网站只能使用 HTTP。 如果以后不再需要 Git 全局代理,可以清理:
这次安装过程中,Git 仓库最终能拉取,Electron 依赖也能继续下载,才算真正解决了网络问题。 四、第三个坑:信任了安装目录,安全软件仍可能拦截临时 EXE真正让我反复重装的是这段错误:
它先发生在创建虚拟环境阶段,后来又发生在安装 Python 包阶段。共同点是:失败对象都是 uv 临时生成的 uv-trampoline-*.exe。 一开始我把 E:\Hermes 和 E:\HermesTemp 加进腾讯电脑管家的信任区,以为这样就够了。 但信任区并不一定覆盖所有临时目录、进程行为和实时防护策略。更麻烦的是,电脑管家的实时防护服务并不好直接停止。
最终,在完全退出乃至卸载电脑管家后,同一阶段顺利通过。后续日志显示:
这并不意味着所有人都必须卸载安全软件。更稳妥的排查顺序是:
还有一点:失败后不必立刻手工删除整个目录。Hermes 安装器会把不完整的仓库移动为类似:
保留这些目录,反而有助于回看失败现场。盲目清空目录,会把日志和证据一起删掉。 五、别猜,先看这四份日志这次排错最有价值的经验,是把问题按层次拆开,而不是盯着弹窗猜。
Windows 版 Hermes 的关键日志位于:
它们分别回答不同问题:
常用查看方式:
只要抓住四个字段,很多问题会立刻变简单:
六、第四个坑:腾讯账号“有额度”,不等于当前模型服务有额度安装完成后,我在 Hermes 中配置了腾讯 TokenHub:
API Key 应保存在 Hermes 设置或本地 .env 中,不要贴进聊天记录,也不要写进截图。 当时 Hermes 默认只显示 Hy3,发送消息后返回 HTTP 402:
我第一反应是:腾讯 TokenHub 的免费额度是不是全部用完了? 打开控制台才发现并不是。hy3 服务已经停止且额度为 0,但其他服务仍在运行,并且各自拥有独立额度。
所以,HTTP 402 不能只看“账号”两个字,必须结合日志里的具体模型:
这次耗尽的是 hy3-preview 对应的服务,不是整个 TokenHub 账户。 七、第五个坑:腾讯控制台有模型,Hermes 下拉列表里却没有腾讯控制台里明明有:
但 Hermes 模型列表最初只有一个 Hy3。
点击“刷新模型”也没有用。原因是 Hermes 的下拉列表依赖自己的 provider 模型目录和缓存,并不会完整枚举腾讯控制台里所有自定义在线推理服务。 这时不要被下拉列表卡住,可以直接在 Hermes 消息框输入:
切换到 Plus:
这里有两个细节特别重要。 第一,正确语法是“模型名”和“提供方”分开写:
不要写成:
Hermes 可能会把整段 tencent-tokenhub:qwen3.5-flash 当成模型名,结果提示模型不存在。 第二,--global 会更新全局默认配置,但已经打开的会话可能仍固定在旧模型。判断是否真的切换成功,不要只看 config.yaml,还要看右下角当前会话的模型标签。 如果右下角仍是旧模型,就在这个会话里再执行一次 /model 命令。 直接编辑配置文件当然也可以:
但要记住:改配置文件解决的是“以后默认用什么”,/model 命令解决的是“当前会话现在用什么”。 八、第六个坑:接口返回 200,不代表这个模型适合 Hermes Agent在 hy-mt2-pro 还有大量额度时,我成功把 Hermes 切了过去。接口不再报 402,也没有鉴权错误。 可聊天结果非常奇怪:
无论输入“你好”“说中文”还是“中文回答我的问题”,它都只返回几乎相同的英文欢迎语。 这不是语言设置,也不是前端缓存。 日志显示,三次请求都成功发给了:
但每次输入都恰好记为 4096 tokens,输出只有 15~18 tokens。也就是说,Hermes 没有偷偷替换回复,腾讯接口确实正常结束了请求,只是模型没有正确理解 Hermes 的长系统提示和 Agent 上下文。 MT 很容易让人联想到 machine translation。无论它的内部实现如何,这次实际表现已经足以说明:它不适合作为 Hermes 的通用 Agent 主模型。 换成面向通用对话的 qwen3.5-plus 后,中文对话和任务执行恢复正常;Plus 额度用完后,再用同样的方法切到 qwen3.5-flash 即可。 所以,选模型不能只看“额度还剩多少”,还要看它是否适合:
九、第七个坑:当前会话、全局默认和模型列表,是三套状态这是最后一个、也是最容易反复踩的坑。 Hermes 里至少存在三种“模型状态”:
它们可能不一致。 例如:
这不是配置失效,而是会话仍保留旧的固定模型。 最省事的处理方式,还是在目标会话中执行:
看到下面这类提示才算完成:
十、最终可复用的检查清单如果让我重新装一次,我会严格按下面的顺序来。 安装前
安装失败时
模型接入时
写在最后这次经历最有意思的地方,是每一个报错都很像另一个问题。 安装目录不对,看起来像安装器设计问题;GitHub 超时,看起来像代理没开;uv 失败,看起来像 Python 环境坏了;HTTP 402,看起来像账号没钱;固定英文回复,看起来像中文设置没生效;模型列表为空,看起来像服务没创建成功。 但真正解决问题的方式始终只有一个:确认请求走到了哪一层,再用日志里的路径、阶段、服务 ID、模型名和状态码说话。 如果你也准备在 Windows 上部署 Hermes Agent,希望这篇复盘能帮你少走几小时弯路。 |
2026-07-02
2026-06-24
2026-06-01
2026-06-27
2026-06-02