前言
最近在研究AI Agent框架,发现了一个叫Hermes Agent的开源项目,由Nous Research开发。它支持接入各种大模型、终端交互、多平台消息推送,还能通过技能系统不断学习进化。作为一个安全从业者,我决定在腾讯云服务器上部署一套,顺便接入微信,随时随地能跟AI对话。
本文记录了完整的安装部署过程和踩坑经验。
环境信息
- 服务器:腾讯云 CentOS 7.9
- 配置:2核4G
- Python:3.11(通过uv安装)
- 模型:Kimi K2.6(通过OpenCode Go API接入)
- 消息平台:微信(WeChat)
一、安装Hermes Agent
1.1 一键安装
官方提供了安装脚本,理论上一行命令搞定:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
1.2 踩坑:GitHub访问慢
在国内服务器上,访问GitHub的速度感人。安装脚本需要从GitHub克隆仓库(10万+对象),直连速度只有几十KB/s,而且经常断连:
error: RPC failed; curl 56 Recv failure: Connection timed out
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
解决方案:给服务器配代理。我用的是ShellCrash,配置好之后设置环境变量:
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
配好代理后,安装脚本顺利跑完。但如果你没有代理,也可以用jsdelivr CDN加速:
curl -fsSL https://cdn.jsdelivr.net/gh/NousResearch/hermes-agent@main/scripts/install.sh | bash
1.3 踩坑:Python版本和pip限制
安装过程中遇到了Python版本问题。新版Ubuntu/Debian对pip有限制(PEP 668),报错:
error: externally-managed-environment
解决方法有两种:
- 使用
pip install --break-system-packages强制安装 - 或者使用
uv pip install --system(安装脚本会自动安装uv)
1.4 踩坑:PATH环境变量
安装完成后,hermes命令找不到:
Command 'hermes' not found
原因是~/.local/bin不在PATH中。解决方法:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
二、配置模型
2.1 选择模型
Hermes Agent支持20+种模型提供商,包括OpenRouter、Anthropic、OpenAI、DeepSeek、Kimi等。我选择的是Kimi K2.6,通过OpenCode Go API接入,性价比高,中文能力强。
2.2 配置步骤
创建环境变量文件:
echo 'OPENCODE_GO_API_KEY=你的API Key' > ~/.hermes/.env
创建配置文件:
cat > ~/.hermes/config.yaml << 'EOF'
model:
default: kimi-k2.6
provider: opencode-go
terminal:
timeout: 180
compression:
enabled: true
EOF
2.3 测试对话
hermes chat -q "你好" -Q
如果正常返回,说明模型配置成功。
三、接入微信
3.1 为什么接入微信?
终端对话虽然方便,但不够随时随地。接入微信后,可以直接在微信里跟Hermes对话,就像聊天一样。对于安全从业者来说,这意味着:
- 在外面也能随时问AI安全问题
- 可以设置定时任务,自动推送信息(如每日漏洞情报)
- 可以在群聊中@Hermes进行协作
3.2 配置微信接入
Hermes Agent支持通过微信公众号或企业微信接入。配置步骤:
- 在微信公众平台注册公众号(服务号)
- 获取AppID和AppSecret
- 在Hermes配置文件中添加微信相关配置
- 启动Gateway服务
3.3 启动Gateway
# 前台运行(测试用)
hermes gateway run
# 后台服务(生产用)
hermes gateway install
hermes gateway start
3.4 踩坑:微信消息限制
微信公众号有消息回复限制,每次最多回复10条消息。如果Hermes的回复超过10条,后面的消息会丢失。解决方法是在系统提示中限制回复条数,或者合并长内容为单条消息。
四、模型选择对比
Hermes Agent支持20+种模型提供商,我在实际使用中测试了几种,各有优劣:
| 模型 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|
| DeepSeek V3 | 价格便宜,中文能力强,响应速度快 | 工具调用能力一般,复杂任务容易出错 | 日常对话、简单问答、成本敏感场景 |
| Kimi K2.6 | 上下文窗口大(262K),长文本理解能力强,工具调用稳定 | 价格中等,响应速度稍慢 | 长文档分析、复杂任务、需要大上下文的场景 |
| OpenCode Go(kimi-k2.6) | 支持图片识别(识图能力),API稳定,工具调用兼容性好 | 识图功能仅限对话中内联图片,不支持独立vision工具 | 需要识图的场景、安全分析、渗透测试 |
| OpenRouter | 聚合多个模型,可以随时切换,支持Claude/GPT等 | 需要海外支付,延迟较高 | 需要对比不同模型、海外用户 |
| 本地模型(Ollama) | 完全免费,数据不出服务器,隐私安全 | 需要GPU,性能有限,工具调用能力弱 | 隐私要求高、有GPU资源的场景 |
我的选择:Kimi K2.6
综合考虑,我最终选择了Kimi K2.6作为主力模型。原因:
- 上下文窗口大:262K tokens,可以一次处理很长的对话历史和文档
- 工具调用稳定:Hermes Agent的工具系统(终端、文件、搜索等)需要模型有较强的工具调用能力,Kimi在这方面表现不错
- 中文能力强:作为中文用户,Kimi的中文理解和生成质量很好
- 价格合理:通过OpenCode Go API接入,性价比高
如果你预算有限,DeepSeek是很好的选择;如果需要识图能力,可以用OpenCode Go;如果追求最强性能,可以试试Claude或GPT-4o(通过OpenRouter接入)。
五、实际使用体验
4.1 终端交互
直接在终端输入问题,Hermes会调用工具(终端命令、文件读写、网页搜索等)来回答。对于安全从业者来说,可以:
- 让AI帮你写渗透测试报告
- 分析日志、排查安全事件
- 生成SQLMap命令、Payload等
- 查询CVE漏洞信息
4.2 微信对话
在微信里直接发消息给Hermes,响应速度跟终端差不多。特别适合:
- 路上问安全问题
- 快速查询漏洞信息
- 让AI帮忙写技术文档
4.3 技能系统
Hermes最强大的功能之一是技能系统。当它完成一个复杂任务后,可以把经验保存为技能文件,下次遇到类似任务直接复用。比如:
- 第一次帮你在WordPress上发博客 → 保存为”WordPress发布”技能
- 第一次帮你分析日志 → 保存为”日志分析”技能
- 第一次帮你做渗透测试 → 保存为”渗透测试”技能
越用越聪明,越用越顺手。
4.4 持久记忆
Hermes能跨会话记住你的偏好、环境信息、常用命令等。比如它记住了:
- 我使用什么操作系统
- 我的服务器配置
- 我常用的工具和命令
- 我的技术栈偏好
每次新对话都不需要重新解释背景,直接上手。
六、踩坑总结
| 问题 | 原因 | 解决方案 |
|---|---|---|
| GitHub克隆超时 | 国内网络不稳定 | 配代理或用CDN加速 |
| pip安装报错 | PEP 668限制 | pip –break-system-packages |
| hermes命令找不到 | PATH未配置 | 添加~/.local/bin到PATH |
| 模型未配置 | .env文件缺失 | 手动创建.env和config.yaml |
| 微信消息丢失 | 微信回复限制 | 限制回复条数或合并内容 |
七、总结
Hermes Agent是一个功能强大的AI Agent框架,特别适合安全从业者使用。虽然在国内部署有一些网络上的坑,但解决之后体验非常好。它不仅能当一个智能助手,还能通过技能系统不断学习进化,越用越好用。
如果你也想试试,建议先准备好代理环境,然后按照本文的步骤操作。有问题欢迎在评论区交流。
