🐒 大家好,我是阿衡。自由职业、独立开发者,日常关注 AI 编程方向的内容。
花了半天时间在 Mac 上部署好了爱马仕,踩了不少坑,今天分享一个上手全指南。
其实很多东西官方文档都有说,但是我知道大部分人不爱看官方文档。
以及,确实有一些文档并没有提到的坑、快速搭建方式,官方文档适合用来做遇到问题时候的翻阅指南。
从 0 开始,我先把本地的卸载掉,你本地没有,或者已经安装过,可以跳过这一步
0、卸载
hermes uninstall
根据情况选择 1) 保留数据 2) 完全删除
我这里选择 2) 完全删除
删除后,会提示你重新 source 来重刷一下,然后再使用 hermes 可以看到命令就彻底不认识了。
1、安装
一行命令安装:
# Linux / macOS / WSL2 / Android (Termux)curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash但是,目前 windows 并没有原生支持,需要在 WSL2 里使用。
安心等待,很慢很慢。
不出意外的话,你可能会卡在这一步 ➡️PS:之前在腾讯云的海外服安装很快的。在 MacOS 上即使配置了梯子还是会卡在这里。
1.1 解决 MacOS 安装卡死问题(可选)
如果前面一步,你顺利安装完成了,就无视这一步。
1、强制停止后清理重装
# 停止当前安装(如果在跑)pkill -f "npm install" || truepkill -f playwright || true# 进入 Hermes 目录(通常是 ~/.hermes 或你 clone 的目录)cd ~/hermes-agent # 或你安装的位置# 清理 npmrm -rf node_modules package-lock.jsonnpm cache clean --force# 重新跑一遍安装脚本curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash2、手动建立软链
此时在终端输入 hermes --help 如果不报错,可以跳过这一步。
我在这里,软链还是没有自动建立,那么就接着自己手动建立
# 找到 hermes 的可执行文件位置ls -l ~/.hermes/hermes-agent/venv/bin/hermes #应该在这里# 创建 symlinkmkdir -p ~/.local/binln -sf ~/.hermes/hermes-agent/venv/bin/hermes ~/.local/bin/hermes# 添加 PATH,这里如果你用的不是 zsh 的话,后面把 .zshrc 改成 .bashrcecho 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc# 刷新生效一下source ~/.zshrc# 看看成功没hermes --help# 再跑一遍更新,防止遗漏hermes update1.2 配置
如果前面你正常安装完成了,也是会自动走到这里。
如果你经历了1.1的坑,那么这里需要敲一下命令 hermes setup。
我们使用 Quick setup
第一步,配置模型
根据自己已有的模型来选择,我使用的是 Minimax 国内版
要注意一点,所有的密文,拷贝到这里,都是不显示任何字符的。粘贴完自信回车,别看到空的,以为没粘贴上。
Minimax 这些内置的 provider,URL 保持默认的就好,直接回车。
第二部,配置 IM (飞书)
我使用飞书,国内对于 markdown 渲染支持最好的了。
选择 Feishu/Lark。⚠️ 注意,这里是使用空格选中后,再回车来确认。
官方也给出了一些基本的配置说明,但是有点太宽泛了,包括要给哪些权限、FEISHU_ALLOWED_USERS 怎么配置都没说。
这里我们就先放着,先去配一下需要的飞书 App。
1、打开飞书开放后台
https://open.feishu.cn/

点击 开发者后台 → 创建企业自建应用,按你自己的想法输入名字和描述吧,创建!
2、配置能力、权限
添加应用能力 → 机器人
事件与回调 → 订阅方式 → 长连接 → 保存PS:这里暂时不需要点验证,等我们配置完后,把 AppID 和 AppSecret 配给 Hermes 即可。
添加事件,添加一个"接收消息"事件
仍然是这个页面,选择 回调配置 → 订阅方式 → 长连接。然后 添加回调 → 卡片回传交互。Hermes 有时候会以卡片形式申请权限,所以需要开通这个卡片的回调。
权限管理 → 批量导入/导出权限,可以直接 json 一键导入:
{"scopes":{"tenant":["im:message:send_as_bot","docx:document:readonly","im:message","im:message:send_as_bot","im:message:readonly","im:message.group_msg","im:message.p2p_msg:readonly","im:resource","contact:user.id:readonly","admin:app.info:readonly","im:chat:read","im:chat.members:read","cardkit:card:write","cardkit:card:read"],"user":["docx:document:readonly"]}}3、发布应用
创建版本
随便填填,保存,确认发布
4、给 Hermes 设置飞书 App
凭证与基础信息 → 拷贝这里的 AppID → 回填到一开始我们停下来的位置
仍然要注意,这里的 App Secret 粘贴是没有显示的,不要重复粘贴
后面的几个都是默认回车,直到这一步
Enable open access: 就是完全放开,任何你飞书组织内的都可以使用这个 botUse DM pairing: 需要配对才可以
为了走完整流程,我这里使用 Use DM pairing 好了。
后面继续是默认回车,然后 Y 重启 gateway 来重刷配置。
5、配对
在飞书 App 里搜索找到你刚才创建的机器人 App,随便发一句话,触发 pairing
拷贝这个配对码,在部署 hermes 的机器发送这行命令
然后回聊天框,对话,成功🎉
3、踩坑
Mac 环境,如上操作,并没有触发 pairing,对话框毫无反应?
这是 macOS launchd 环境变量继承问题 的典型表现。后台服务启动时没有完整加载你的 shell 环境(尤其是 PATH、VIRTUAL_ENV 和 ~/.hermes/.env 中的变量)
解决方案如下:
1、重新生成 launchd 配置
hermes gateway install --force这会重新捕获你当前的完整 PATH 和环境,更新 ~/Library/LaunchAgents/ai.hermes.gateway.plist 文件。
2、重启服务
hermes gateway restart再次尝试对话,就 OK 了~
仍然不行?
再来一次这个命令:
hermes update至此,天才 Agent 上线。

夜雨聆风