我把 Hermes AI 助手做成了 Windows 一键安装包,双击就能用
把一个需要 15 步手动操作的 AI 工具,压缩成一次双击。这是我做这件事的过程和思考。 详细图文介绍:https://qinghuanandejiangshi.github.io/
起因:朋友说"我不会装"
前段时间,Hermes Agent 在 GitHub 上热度不断攀升。作为一款完全开源的 AI 编程助手,它不依赖任何订阅服务,只需要你提供一个 API Key,就能在本地运行一个功能完整的 AI 对话和代码助手。
我自己试用之后觉得很好用,就想推荐给身边的朋友。结果对方问了我一个问题:
"我要先装 WSL2,再装 Ubuntu,再装 uv,再配 Python 环境……这也太麻烦了吧?"
确实。官方的安装文档对开发者来说清晰明了,但对于没有接触过命令行的人,即使是最简单的几行指令,也可能因为一个换行符、一个权限提示而彻底卡住。
于是我决定自己做一个一键安装程序。
参照:U 盘安装方案的思路
在动手之前,我注意到 GitHub 上有人做过类似的事情——把 OpenClaw(另一款 AI 工具)打包成 U 盘安装形式,只需插入 U 盘就能运行,项目叫 u-claw。
这个思路很对:把所有依赖、所有配置、所有步骤都提前处理好,用户只需要做最后一步。
我的目标是把 Hermes Agent + Hermes WebUI 做成同样的体验,但专门针对 Windows 系统,并且支持离线安装(把安装包放进 U 盘随身携带)。
难点:Windows 上的 Linux 程序
Hermes Agent 官方不支持原生 Windows,必须通过 WSL2(Windows Subsystem for Linux)运行。这意味着安装程序需要:
- 检查并启用 WSL2 功能
- 安装 Ubuntu 发行版
- 在 Ubuntu 里安装 Python 包管理工具 uv
- 用 uv 安装 hermes-agent
- 解压并配置 hermes-webui
- 在后台持续运行 Web 服务
每一步听起来简单,实际上都有坑。
坑一:WSL 进程被杀死
最难搞的问题是服务器持久化。用 wsl -d Ubuntu -- bash script.sh 启动后台进程时,脚本退出后,WSL 会向进程组发送 SIGKILL,把刚启动的 Python 服务直接杀掉。用户打开浏览器,页面加载了一下,然后就断连了。
解决方法:用 PowerShell 的 Start-Process 启动一个独立的隐藏 WSL 窗口,配合 bash 的 exec 命令把 shell 替换成 Python 进程。这样这个 WSL 进程的生命周期就和 Python 服务完全绑定,关掉安装窗口不会影响它。
坑二:浏览器 Origin 头省略了端口
WebUI 有一套 CSRF 安全保护机制,会比较请求的 Origin 头和服务器的 Host 头。理论上两者都是 127.0.0.1:8787,应该完全匹配。
但实际测试中,浏览器发出的 Origin 头是 http://127.0.0.1(没有端口),而服务器收到的 Host 是 127.0.0.1:8787。两者不匹配,所有 POST 请求直接 403。
原因是浏览器缓存了之前某次访问的 session,那次访问的 origin 没有端口。解决方法是在启动命令里设置 HERMES_WEBUI_ALLOWED_ORIGINS 环境变量,显式允许这两种写法的 origin。
坑三:PowerShell 5.1 的各种兼容性问题
Windows 10 默认带的是 PowerShell 5.1,这个版本比较老。里面有几个细节会踩坑:
.NET Framework 4.x的TextBox控件不支持PlaceholderText属性- Here-string(多行字符串)使用 CRLF 换行,但 bash 脚本需要 LF
$()子表达式在 WSL 命令字符串里会被 PowerShell 提前展开
这些都需要逐一处理,写临时文件、手动转换编码、单独转义。
最终的效果
做完之后,安装流程变成了这样:
- 右键
一键启动.bat→ 以管理员身份运行 - 等待自动安装(10–30 分钟)
- 弹出 GUI 窗口,填入 API Key(推荐 DeepSeek,免费额度足够日常使用)
- 浏览器自动打开
http://127.0.0.1:8787,进入 Hermes Web 界面
以后每次使用,只需双击 后续启动.bat,几秒钟浏览器自动打开。
安装程序还支持:
- 离线模式:提前下载好 ZIP 包放进
resources/文件夹,断网也能安装 - 断点续装:中途断网或出错,重新运行自动跳过已完成步骤
- 国内镜像加速:自动使用阿里云 PyPI 镜像,解决国内下载慢的问题
关于 AI 工具的可及性
这个小项目让我思考了一个更大的问题:工具的价值,很大程度上取决于能被多少人用上。
Hermes Agent 本身很强大,但如果使用门槛让 90% 的潜在用户在第一步就放弃了,那这个工具的实际影响力就大打折扣。把安装步骤从 15 步压缩到 1 步,不是在偷懒,而是在真正降低门槛。
对于想把 AI 工具推广给非技术同事或家人的开发者,希望这个思路和代码能有所参考。
项目地址:github.com/qinghuanandejiangshi/Hermes-one-clink
如果觉得有用,欢迎 Star ⭐ 或提交 Issue。

