HermesAgent更聪明更好用的AI Agent部署实践分享
Hermes Agent 是 Nous Research 推出的自我改进型 AI Agent,支持跨平台运行、跨会话学习与技能积累,本文整理了推荐安装环境、服务器建议和 Feishu 机器人配置流程。
HermesAgent更聪明更好用的AI Agent部署实践分享
Hermes Agent 官方简介
以下内容整理自官方仓库 README:Hermes Agent 是 Nous Research 推出的自我改进型 AI Agent,内置学习闭环,能够从经验中创建和改进 skills、搜索历史会话、跨会话积累用户画像,并支持在 CLI 与 Telegram、Discord、Slack、WhatsApp、Signal 等多平台运行。它支持多种模型提供方与自定义端点,不绑定单一模型或单一运行环境。
官方仓库:https://github.com/nousresearch/hermes-agent
官方文档:https://hermes-agent.nousresearch.com/docs/
推荐安装环境(优先顺序)
推荐顺序:macOS > Linux 服务器 > WSL2。
首选 macOS:本地 CLI 使用最直接,终端体验最好,安装和调试成本最低,适合作为首次部署与日常使用环境。
其次 Linux 服务器:适合长期在线运行 Hermes,尤其适合需要消息网关、自动化任务、远程调用和 24x7 常驻运行的场景;同时服务器网络环境通常更稳定,对国外安装源、依赖下载和更新更友好。
最后 WSL2:只建议 Windows 用户在没有 macOS 或 Linux 环境时使用;可用,但排错链路和环境兼容性通常更复杂。
补充说明:Windows 原生不作为推荐环境,官方也建议优先使用 WSL2 而不是原生 Windows。
环境
推荐级别
适用场景
主要优点
排位原因
macOS
首选
个人开发、首次安装、日常 CLI 使用、本地调试
终端与开发工具链成熟,安装路径最短,交互体验稳定
对大多数研发同学来说上手最快、维护成本最低,所以作为首选
Linux 服务器
次选
消息网关部署、定时任务、远程常驻运行、多端接入
适合长期在线、便于远程管理,适合把 Hermes 当作持续运行服务;服务器网络通常也更利于访问国外安装源和依赖仓库
运行能力强,但前期运维、权限、网络和守护进程配置比本地安装更重
WSL2
最后考虑
Windows 用户需要兼容 Linux 安装方式时
能复用 Linux 安装思路,优于 Windows 原生方案
属于兼容层方案,目录映射、网络、权限和终端细节更容易增加排错成本
Linux 服务器购买建议
购买地址(按当前提供链接):https://hy.yun/recommend/SSOF6DfXbhYw
推荐配置:香港 4核4G(Linux版)
可用入门配置:香港 2核2G(Linux版)
说明:2核2G 可以跑起来,但如果希望安装、更新、依赖下载和日常使用更丝滑,仍然更推荐 4核4G。
补充说明:截图里同时还有“全系统”版本,但部署 Hermes 更建议优先选择 Linux 版。
根据你提供的截图,当前可参考的 香港精品 Linux 版 规格如下:
套餐
CPU / 内存
带宽
磁盘
IPv4
线路
价格
Linux 2核2G
2核 / 2G DDR4
10Mbps / 不限流量
30G SSD企业级
1个独立公网 IPv4
CN2+BGP
¥15/月
Linux 4核4G
4核 / 4G DDR4
20Mbps / 不限流量
40G SSD企业级
1个独立公网 IPv4
CN2+BGP
¥30/月
Linux 8核8G
8核 / 8G DDR4
30Mbps / 不限流量
50G SSD企业级
1个独立公网 IPv4
CN2+BGP
¥60/月
Linux 16核16G
16核 / 16G DDR4
40Mbps / 不限流量
60G SSD企业级
1个独立公网 IPv4
CN2+BGP
¥120/月
WSL2 的主要弊端
本质上是 Windows 上的一层 Linux VM / 兼容层,长期运行会额外占用宿主机资源。
路径、权限、网络和终端行为都更容易出现兼容性问题,尤其是 Windows 路径与 Linux 路径混用时更容易报错。
因此只建议作为 Windows 用户的备选方案,不作为首选部署环境。
官方安装代码
先执行官方安装命令开始安装:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc # 或:source ~/.zshrc
hermes
安装等待期间先准备飞书配置
安装命令跑起来之后,我们可以先把飞书侧的应用准备好。这样等 Hermes 安装结束后,就能直接开始接入和配置。
第一步:创建新的机器人应用
平台地址:https://open.feishu.cn/?lang=zh-CN
进入后选择 创建企业自建应用
按页面提示填写:应用名称、应用描述、应用图标
建议先完成应用创建,再继续后面的权限配置与发布流程
安装完成后继续配置飞书应用
第二步:进入权限管理并批量导入权限
左侧进入 开发设置 > 权限管理
点击 批量导入/导出权限
将下面这段权限代码直接复制进去,覆盖原来的权限代码完成导入
飞书机器人权限一键导入代码
以下为机器人权限 scopes 配置:
{
"scopes": {
"tenant": [
"contact:contact.base:readonly",
"docx:document:readonly",
"im:chat:read",
"im:chat:update",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message.pins:read",
"im:message.pins:write_only",
"im:message.reactions:read",
"im:message.reactions:write_only",
"im:message:readonly",
"im:message:recall",
"im:message:send_as_bot",
"im:message:send_multi_users",
"im:message:send_sys_msg",
"im:message:update",
"im:resource",
"application:application:self_manage",
"cardkit:card:write",
"cardkit:card:read"
],
"user": [
"base:app:copy",
"base:app:create",
"base:app:read",
"base:app:update",
"base:field:create",
"base:field:delete",
"base:field:read",
"base:field:update",
"base:record:create",
"base:record:delete",
"base:record:retrieve",
"base:record:update",
"base:table:create",
"base:table:read",
"base:table:update",
"base:view:read",
"base:view:write_only",
"board:whiteboard:node:create",
"board:whiteboard:node:read",
"calendar:calendar.event:create",
"calendar:calendar.event:read",
"calendar:calendar.event:reply",
"calendar:calendar.event:update",
"calendar:calendar.free_busy:read",
"calendar:calendar:read",
"contact:user.base:readonly",
"contact:user.basic_profile:readonly",
"contact:user:search",
"docs:document.comment:create",
"docs:document.comment:read",
"docs:document.comment:update",
"docs:document.media:download",
"docs:document.media:upload",
"docs:document:copy",
"docs:document:export",
"docx:document:create",
"docx:document:write_only",
"drive:drive.metadata:readonly",
"drive:file:download",
"drive:file:upload",
"im:chat.members:read",
"im:message",
"im:message.group_msg:get_as_user",
"im:message.p2p_msg:get_as_user",
"search:docs:read",
"search:message",
"sheets:spreadsheet.meta:read",
"sheets:spreadsheet:create",
"sheets:spreadsheet:read",
"sheets:spreadsheet:write_only",
"space:document:move",
"space:document:retrieve",
"task:comment:read",
"task:comment:write",
"task:task:read",
"task:task:write",
"task:task:writeonly",
"task:tasklist:read",
"task:tasklist:write",
"wiki:node:copy",
"wiki:node:create",
"wiki:node:move",
"wiki:node:read",
"wiki:node:retrieve",
"wiki:space:read",
"wiki:space:retrieve",
"wiki:space:write_only"
]
}
}