从零搭建 Hermes Agent 全流程:一行命令装好,十分钟跑通多平台
从零搭建 Hermes Agent 是 Nous Research 开源的 AI Agent 框架 —— 能在终端自主写代码、调 API、操作文件、搜网页。ch 开源的 AI Agent 框架。跟 Claude Code、Codex、OpenClaw 同级别的工具——能在终端里自主写代码、调 API、操作文件、搜网页。
摘要
Hermes Agent 是 Nous Research 开源的 AI Agent 框架,支持终端命令行、Web UI 和多平台 Gateway(Telegram、Discord 等)交互。它内置工具系统、技能系统和跨会话记忆,支持 20+ 模型厂商,可通过自定义 Provider 接入中转站解锁 133 个模型。本文从零开始,介绍安装、模型配置、核心功能、Web UI 自建、Gateway 接入、Docker 部署、多 Agent 部署及常见故障排障,帮助个人和团队十分钟内将 Agent 融入日常开发与运维工作流。
跟传统 ChatBot 不一样的是:
- 有技能系统。Agent 每次解决一个复杂问题,能把工作流存成 Skill,下次自动加载。用久了越用越强。
- **跨平## 1. Hermes Agent 是什么 —— 背景与定位egram、Discord、微信、飞书、Slack 上。你手机上发消息,Agent 在服务器上干活,干完回你。
- 不绑模型。你可以用 DeepSeek、OpenAI、Anthropic、Claude Pro OAuth、代码助手 Token,甚至本地的 Ollama 模型。
- 有记忆。它记得你上次说过什么、偏好什么、踩过什么坑。跨会话也不会忘。
典型的应用场景:写代码、改 Bug、搞运维、写文章——全部交给它,每天能省不少重复劳动。
安装
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
一行搞定。脚本自动装好 Python、uv、依赖。安装完直接能用。
或者用 pip:
pip install hermes-agent
装完先跑 hermes doctor 检查一下环境,没问题就 hermes 进对话。
配置模型
Hermes 的配置文件在 ~/.hermes/config.yaml,API Key 放 ~/.hermes/.env。也可以直接 hermes setup 走交互式向导。
最简配置——用 DeepSeek:
config.yaml:
model:
provider: deepseek
default: deepseek-chat
providers:
deepseek:
- label: DEEPSEEK_API_KEY
auth_type: api_key
source: env:DEEPSEEK_API_KEY
base_url: https://api.deepseek.com/v1
.env:
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxx
然后 hermes 直接启动。
换模型也简单。 比如要用 Anthropic 的 Claude:
model:
provider: anthropic
default: claude-sonnet-4-20250514
providers:
anthropic:
- label: ANTHROPIC_API_KEY
auth_type: api_key
source: env:ANTHROPIC_API_KEY
Hermes 支持 20+ 个 Provider:DeepSeek、OpenAI、Anthropic、Google Gemini、xAI Grok、通义千问、智谱 GLM、月之暗面 Kimi、MiniMax、OpenRouter 等等。
OAuth 登录不用填 Key。 像 Claude Pro、ChatGPT Pro 这种,直接用 hermes auth add 走浏览器授权,不用找 API Key。
核心功能
1. 命令行对话
# 交互式
hermes
# 一句话任务
hermes chat -q "帮我写一个 Flask API"
# 指定模型
hermes -m deepseek/deepseek-v4-pro chat
# 恢复上次会话
hermes --continue
2. 工具系统
Hermes 内置几十个工具——终端命令、文件读写、浏览器自动化、代码执行、图片生成。默认开启,按需关闭:
hermes tools # 交互式开关
hermes tools list # 查看全部工具
hermes tools disable browser # 关掉浏览器
3. 技能系统
这是 Hermes 最特别的地方。每次解决一个复杂问题,它能把流程存成 Skill。下次遇到类似任务自动加载。
hermes skills list # 查看已安装
hermes skills search MCP # 搜索技能市场
hermes skills install xxx # 安装
自己写的 Skill 放 ~/.hermes/skills/,格式是 Markdown + YAML 头。Agent 在干活时会自动匹配并加载相关技能。
4. 记忆系统
默认开启。Hermes 会记住用户偏好、环境信息、踩过的坑。跨会话共享。
hermes memory status # 查看记忆状态
hermes memory setup # 配置记忆后端(支持 Mem0、Honcho)
浏览器直接用:Web UI 自建控制台
不依赖 Telegram、Discord 等第三方平台——直接在自己服务器上搭一个浏览器就能访问的 Hermes 控制台。
Docker 启动
最简配置,一个 docker-compose.yml:
services:
hermes:
image: hermes-agent:latest
restart: unless-stopped
ports:
- "8648:8648"
volumes:
- ./data:/home/agent/.hermes
- ./workspace:/home/agent/workspace
- ./.env:/home/agent/.hermes/.env:ro
environment:
AGENT_NAME: my-agent
DEEPSEEK_API_KEY: sk-xxx
ZHITI_API_KEY: sk-xxx
TZ: Asia/Shanghai
docker compose up -d
容器跑起来后,浏览器打开 http://你的服务器IP:8648 就是完整控制台。
Web UI 能干什么
- 聊天面板:跟 Agent 对话,选模型、换 Provider
- 文件管理:上传下载、浏览服务器文件
- 会话管理:查看历史、恢复、导出
- Skills 管理:安装、启用、禁用自己的技能
- 一键切换模型:DeepSeek → Claude → Gemini,不用改配置
本质上就是一个不依赖任何外部平台的 Web 版 Hermes。你在手机浏览器也能用。
公网访问
内网玩够了想从外面访问?两种方式:
Nginx 反代(最稳):
server {
listen 443 ssl;
server_name hermes.yourdomain.com;
ssl_certificate /etc/ssl/certs/yourdomain.pem;
ssl_certificate_key /etc/ssl/private/yourdomain.key;
location / {
proxy_pass http://127.0.0.1:8648;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 86400;
}
}
Cloudflare Tunnel(不用买域名和证书):
docker run -d --name cloudflared \
--network host \
cloudflare/cloudflared:latest tunnel \
--url http://127.0.0.1:8648
一行命令,Cloudflare 给你一个 https://xxx.trycloudflare.com 的临时域名。
配上中转站的 API Key,你就有了一个完全独立的 AI Agent 系统——自己的服务器、自己的模型调度、自己的数据,不经过任何第三方。
Gateway:让 Agent 跑到手机上的 Telegram、Discord
这才是 Hermes 最有用的地方。你手机上发消息,服务器上的 Agent 就动起来。
配置 Telegram
hermes gateway setup # 交互式配置
本质是在 .env 里加:
TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234gh
TELEGRAM_CHAT_ID=123456789
然后:
hermes gateway install # 安装为 systemd 后台服务
hermes gateway start # 启动
Agent 就会开始在 Telegram 上回你消息了。
其他平台
Discord、Slack、WhatsApp、微信企业号、飞书、钉钉、iMessage、Signal、Email……20+ 个平台都支持。配置方式类似,都在 hermes gateway setup 里。
Docker 部署
生产环境推荐 Docker。一个 docker-compose.yml 搞定:
services:
hermes:
image: hermes-agent:latest
restart: unless-stopped
ports:
- "8648:8648"
volumes:
- ./data:/home/agent/.hermes
- ./workspace:/home/agent/workspace
- ./.env:/home/agent/.hermes/.env:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
AGENT_NAME: my-agent
DEEPSEEK_API_KEY: sk-xxx
TZ: Asia/Shanghai
docker compose up -d
容器跑起来后,Gateway 和 CLI 都在里面。暴露 8648 端口就能用 Web 控制台。
自定义 Provider 接入中转站,解锁 133 个模型
Hermes 支持任何 OpenAI 兼容 API。这就是它的杀手级应用——你不用买每家厂商的 API Key,一个中转站就能调用 133 个模型。
以「智体工坊中转站」为例(https://myagentlab.top/v1,133 个模型,17 家厂商,所有对话模型共用一个 API Key):
配置
config.yaml:
providers:
zhiti:
- label: ZHITI_API_KEY
auth_type: api_key
source: env:ZHITI_API_KEY
base_url: https://myagentlab.top/v1
custom_providers:
# DeepSeek 系列
- name: DeepSeek V4 Pro(中转)
model: deepseek-v4-pro
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
- name: DeepSeek V4 Flash(中转)
model: deepseek-v4-flash
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
# Claude 系列
- name: Claude Sonnet 4(中转)
model: claude-sonnet-4-20250514
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
# Gemini 系列
- name: Gemini 2.5 Pro(中转)
model: gemini-2.5-pro
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
# Kimi 系列
- name: Kimi K3(中转)
model: kimi-k3
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
# GLM 系列
- name: GLM-4-Flash(中转)
model: glm-4-flash
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
# 通义千问
- name: Qwen3-Max(中转)
model: qwen3-max
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
# MiniMax
- name: MiniMax M1(中转)
model: minimax-m1
base_url: https://myagentlab.top/v1
api_key_env: ZHITI_API_KEY
# 继续加你需要的模型...
.env:
ZHITI_API_KEY=sk-你的中转站APIKey
重启 Hermes(或 Docker 重启容器)后就生效了。一个 API Key,换来 133 个模型的调度自由。
怎么找到模型名
curl https://myagentlab.top/v1/models \
-H "Authorization: Bearer sk-你的Key"
返回完整的模型列表。然后把 id 字段填进 model: 就行。
实际用法
配置好了之后,随时切换模型:
# 写代码用 Claude
hermes -m zhiti/claude-sonnet-4-20250514 chat
# 快速对话用 DeepSeek Flash
hermes -m zhiti/deepseek-v4-flash chat
# 长文分析用 Gemini
hermes -m zhiti/gemini-2.5-pro chat
# 对话中临时换模型
/model zhiti/qwen3-max
也可以设置模型组,让 Hermes 在多个模型间自动切换:
model_groups:
coding:
- zhiti/claude-sonnet-4-20250514
- zhiti/deepseek-v4-pro
- zhiti/gemini-2.5-pro
fast:
- zhiti/deepseek-v4-flash
- zhiti/glm-4-flash
- zhiti/kimi-k3
hermes chat --model-group coding
如果首选模型挂了,Hermes 自动切到组里下一个。
成本
中转站的模型按量计费,比直接买各家 API Key 便宜。Claude Sonnet 4 官价 $3/1M tokens,中转站能做到 $0.68/1M tokens(约 ¥4.9)。写代码、写文章、日常聊天,一个月几十块钱就够了。
多 Agent 部署
一台机器能跑多个 Hermes 实例。每人的数据和配置完全隔离。
hermes profile create content-writer # 创建新 Profile
hermes profile use content-writer # 切换
不同 Profile 有独立的 skills、memory、sessions。在 ~/.hermes/profiles/<name>/ 下。
如果用 Docker,每实例一个 compose 文件就行:
~/agents/writer/docker-compose.yml
~/agents/coder/docker-compose.yml
~/agents/ops/docker-compose.yml
常见坑
1. 工具突然不可用了
hermes tools 看看是不是被你关了。改完要 /reset 重启会话才生效。
2. 模型调不了
先 hermes doctor 检查。多半是 API Key 没设对,或者 .env 里拼错了变量名。
3. Gateway 在 SSH 退出后就挂了
sudo loginctl enable-linger $USER
WSL2 用户需要在 /etc/wsl.conf 加 systemd=true。
4. Skills 没加载
hermes skills list 检查安装状态。有些 Skill 只在特定场景自动触发,手动加载用 /skill 名字。
5. 内存满了
Hermes 会话数据在 ~/.hermes/state.db(SQLite)。太久可以 hermes sessions prune 清理。
跟 Claude Code / Codex 的区别
| Hermes | Claude Code | Codex | |
|---|---|---|---|
| 开源 | ✅ | ❌ | ❌ |
| 多平台 Gateway | ✅ 20+ | ❌ | ❌ |
| 跨 Provider | ✅ 不限 | ❌ 只 Anthropic | ❌ 只 OpenAI |
| 技能系统 | ✅ | ❌ | ❌ |
| Docker 部署 | ✅ | ❌ | ❌ |
| OAuth 登录 | ✅ | ❌ | ✅ |
| 适合谁 | 团队/个人全能 | Anthropic 用户 | OpenAI 用户 |
Hermes 最大的优势是「不绑死任何厂商」。你能混着用——对话用 DeepSeek、写代码用 Claude、出图用 Gemini。
总结
Hermes Agent 的定位很清楚:不是又一个聊天机器人,而是能帮你干活的生产力工具。
它在开源社区已经有不错的积累——GitHub 持续更新、20+ 平台 Gateway、不绑模型、有技能记忆系统。对于需要自动化开发、运维、内容的个人或小团队,值得花十分钟装起来跑一下。
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
更多推荐


所有评论(0)