送你一匹马——我来试试hermes agent
送你一匹马————我来试试hermes agent
缘起
hermes刚火的时候,我并不在意,因为我觉得他不会对龙虾openclaw产生碾压性优势,与其朝三暮四,不如好好调教我的龙虾,让他学会更多的技能。
但是现在hermes越来越好,不应该再坐井观天了,应该试试,学习一下。
安装
对于学习和测试的环境,还是偏好于使用docker,好在hermes也天生官方支持docker安装的,看看项目源码:
GitHub仓库:github.com/NousResearch/hermes-agent
hermes架构
这里拉出来说明,是因为当你熟悉了龙虾之后,再遇到hermes,他有一些不一样的地方:
龙虾openclaw是一次安装具备了三样东西:
-
gateway service
-
web dashboard(指控制配置查看部分)
-
webui(指直接web交互)
然而hermes并没有,hermes在官方推荐的docker部署方式中,可以选择单个实例同时运行gateway和dashboard,也可以分开2个实例分别运行,我选择了单个实例同时运行gateway和dashboard,另外hermes默认的dashboard并不具备webui的功能,只能选择其他的项目,这里是推荐的:
docker部署
先上编排文件:
services:
hermesagent:
image: nousresearch/hermes-agent:latest
container_name: hermesagent
command: gateway run
ports:
- "127.0.0.1:8642:8642"
volumes:
- hermes-home:/home/hermes/.hermes
- hermes-agent-src:/opt/hermes
environment:
- TZ=Asia/Shanghai
- HERMES_HOME=/home/hermes/.hermes
- HERMES_UID=${UID:-10000}
- HERMES_GID=${GID:-10000}
- HERMES_DASHBOARD=1 #1
- HERMES_HOST_LOCK=local
restart: unless-stopped
hermeswebui:
image: ghcr.io/nesquena/hermes-webui:latest # 2
container_name: hermeswebui
depends_on:
- hermesagent
ports:
- "127.0.0.1:8787:8787"
volumes:
- hermes-home:/home/hermeswebui/.hermes
- hermes-agent-src:/home/hermeswebui/.hermes/hermes-agent
- ./workspace:/workspace
environment:
- TZ=Asia/Shanghai
- HERMES_WEBUI_HOST=0.0.0.0
- HERMES_WEBUI_PORT=8787
- HERMES_WEBUI_STATE_DIR=/home/hermeswebui/.hermes/webui
- WANTED_UID=${UID:-10000}
- WANTED_GID=${GID:-10000}
- HERMES_WEBUI_PASSWORD=CRoJ48aS7kPPI # 3
restart: unless-stopped
volumes:
hermes-home:
hermes-agent-src:
networks:
default:
external: true
enable_ipv6: true
name: netproxy
简单注释:
-
这个配置参数,是让单个实例同时启动dashboard,否则默认只有gateway
-
这个是webui
-
默认webui的密码
注意
这里有个特别注意的地方,就是hermes的dashboard 没有提供任何安全措施,也就是你无法给他加上鉴权,不能放于公网之上,只能通过网关加上简单的安全鉴权,例如我使用的是caddy,先上配置Caddyfile:
xxxx.bot.cd {
header {
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options "nosniff"
X-Frame-Options "DENY"
Referrer-Policy "strict-origin-when-cross-origin"
}
basicauth /* {
yiqiu $2a$14$flsV0muvD0Lrdy5kS3cDdOK.kP6.CRoJ37aS9kPPIrTMI95qe7G4m
}
reverse_proxy hermesagent:9119
log {
output file /var/log/caddy/he_main_access.log {
roll_size 10MiB
roll_keep 100
}
format filter {
fields {
http>request>header>Referer rename referer
resp_headers delete
}
wrap json {
time_format "2006/01/02 15:04:05.000"
}
}
level info
}
}
这里是使用了caddy的简单鉴权,caddy的密码生成:
caddy hash-password -p "your_password"
这不,昨天申请的域名就用上了,还没申请的抓紧:
配置
hermes的dashiboard并不具备界面配置大模型的功能,只能在命令行配置:
#1、进入容器
docker exec -it hermesagent bash
#2、启动配置
uv run hermes setup
然后就会看到配置页面:

选择quick setup,然后选择免费的openrouter先试试.

如果你还是缺少token,建议先薅这俩羊毛:
至此就可以打开hermes的dashboard了,还需要在界面修改一下当前使用的模型:

体验
想要在不使用任何接入的情况下(飞书、微信等等)使用,就得上webui了,好在前面的docker编排文件已经安排了,记得在caddy配置里面加上他的配置:
xxxx.bot.cd {
reverse_proxy hermeswebui:8787
log {
output file /var/log/caddy/hermes_main_access.log {
roll_size 10MiB
roll_keep 100
}
format filter {
fields {
http>request>header>Referer rename referer
resp_headers delete
}
wrap json {
time_format "2006/01/02 15:04:05.000"
}
}
level info
}
}
打开webui,打个招呼:

好了,至此,一个使用docker部署的完整hermes agent就部署完了!
小结
这只是完成了hermes的部署,怎么养好这匹马,有待后续!
欢迎关注:
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)