从零搭建 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、搞运维、写文章——全部交给它,每天能省不少重复劳动。

能力

模型层

Hermes 核心

入口

终端 CLI

Web UI

Telegram/Discord

多平台网关

AI Agent

技能系统

跨会话记忆

DeepSeek

Claude

Gemini

GLM

通义千问

其他100+模型

写代码

执行命令

文件操作

浏览器自动化

API调用

定时任务


安装

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 就是完整控制台。

本地

内网

公网

有域名

无域名

Docker Compose 启动

拉取镜像

挂载配置和数据

暴露 8648 端口

访问方式

localhost:8648

192.168.x.x:8648

方案

Nginx 反代
HTTPS 保护

Cloudflare Tunnel
临时域名即开即用

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 上回你消息了。

手机

电脑

Telegram Bot

Web UI

Discord

Hermes Gateway

Agent 核心

写代码

部署服务

查日志

搜文档

其他平台

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 自动切到组里下一个。

首选

首选

首选

挂了

挂了

挂了

用户发消息

模型组

Claude Sonnet 4
写代码

DeepSeek V4 Pro
通用

Gemini 2.5 Pro
长文分析

自动切换
DeepSeek V4 Pro

自动切换
Kimi K3

自动切换
GLM-4-Flash

返回结果

成本

中转站的模型按量计费,比直接买各家 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.confsystemd=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
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐