Files
nexus/knowledgebase/n8n调用hermes agents的工作流架构.md
2026-09-01 19:15:50 +08:00

5.6 KiB
Raw Blame History

title, source, author, published, created, description, tags
title source author published created description tags
n8n调用openclaw/hermes agents的工作流架构 https://claude.ai/chat/a18d1fa2-7e98-4f86-bac0-1167281eb151 2026-04-20 Claude conversation with 8 messages
clippings

#n8n #hermes #agents

好消息!Hermes Agent 内置了 OpenAI 兼容的 API Server,完全不需要额外写任何代码,直接配置开启就行。


第一步:开启 Hermes API Server

Hermes 的 API Server 会将 hermes-agent 暴露为一个 OpenAI 兼容的 HTTP 端点,默认端口是 8642。 GitHub

bash

# 开启 API Server
hermes config set API_SERVER_ENABLED true

# 设置一个访问密钥(必须)
hermes config set API_SERVER_KEY your-secret-key

# 启动 Gateway(API Server 随之运行)
hermes gateway install   # 安装为系统服务
hermes gateway start     # 启动

验证是否正常运行:

bash

curl http://192.168.3.189:8642/v1/health

{"status": "ok", "platform": "hermes-agent", "version": "0.20.6"}
weishen@WeideMac-mini ~ % hermes config set API_SERVER_ENABLED true
✓ Set API_SERVER_ENABLED = True in /Users/weishen/.hermes/config.yaml
weishen@WeideMac-mini ~ % nano /Users/weishen/.hermes/config.yaml
weishen@WeideMac-mini ~ % hermes config set API_SERVER_KEY 01KPN2YYSEV56BZQSQX9XGW6VH
✓ Set API_SERVER_KEY = 01KPN2YYSEV56BZQSQX9XGW6VH in /Users/weishen/.hermes/config.yaml
weishen@WeideMac-mini ~ % nano /Users/weishen/.hermes/config.yaml


API_SERVER_ENABLED: true
API_SERVER_HOST: 0.0.0.0
API_SERVER_KEY: 01KPN2YYSEV56BZQSQX9XGW6VH



weishen@WeideMac-mini ~ % hermes gateway restart
✓ Service restarted
weishen@WeideMac-mini ~ % curl http://192.168.3.189:8642/v1/health
{"status": "ok", "platform": "hermes-agent", "version": "0.20.6"}%                                                                                                            shenwei@WEI-THINKBOOK:/mnt/c/Users/ishen$ curl http://192.168.3.189:8642/v1/chat/completions   -H "Authorization: Bearer 01KPN2YYSEV56BZQSQX9XGW6VH"   -H "Content-Type: application/json"   -d '{"model": "hermes-agent", "messages": [{"role": "user", "content": "Hello!"}]}'


{"id": "chatcmpl-15f9eabe682948149268b3bbb6f24", "object": "chat.completion", "created": 1788239643, "model": "hermes-agent", "choices": [{"index": 0, "message": {"role": "assistant", "content": "Hello! How can I help you today?"}, "finish_reason": "stop"}], "usage": {"prompt_tokens": 15297, "completion_tokens": 67, "total_tokens": 15364}}(base)                                                                       

第二步:为每个 Agent 创建独立 Profile

你可以用 Profile 的方式为每个用户/角色创建独立的 Hermes 实例,每个 profile 跑在不同端口,配置独立的 API key。 GitHub

bash

# 创建三个专用 Agent(以任务分工为例)
hermes profile create agent-researcher
hermes profile create agent-writer
hermes profile create agent-coder

# 分别配置端口和 key
hermes -p agent-researcher config set API_SERVER_ENABLED true
hermes -p agent-researcher config set API_SERVER_PORT 8643
hermes -p agent-researcher config set API_SERVER_KEY key-researcher

hermes -p agent-writer config set API_SERVER_ENABLED true
hermes -p agent-writer config set API_SERVER_PORT 8644
hermes -p agent-writer config set API_SERVER_KEY key-writer

hermes -p agent-coder config set API_SERVER_ENABLED true
hermes -p agent-coder config set API_SERVER_PORT 8645
hermes -p agent-coder config set API_SERVER_KEY key-coder

# 分别启动三个 gateway
hermes -p agent-researcher gateway &
hermes -p agent-writer gateway &
hermes -p agent-coder gateway &

第三步:在 n8n 中调用

每个 Agent 都是标准的 OpenAI 格式接口,在 n8n 中用 HTTP Request 节点:

字段 填写内容
Method POST
URL http://localhost:8643/v1/chat/completions
Header: Authorization Bearer key-researcher
Header: Content-Type application/json

Body(JSON):

json

{
  "model": "agent-researcher",
  "messages": [
    {
      "role": "system",
      "content": "你是一个专门负责网络调研的Agent,请搜索并总结信息"
    },
    {
      "role": "user",
      "content": "{{ $json.task }}"
    }
  ]
}

多轮对话保持上下文(重要)

v0.7.0 起 API Server 支持通过 X-Hermes-Session-Id header 来保持会话连续性,让 chat-completions 客户端也能跨请求共享同一个 session。 GitHub

在 n8n 的 HTTP Request 节点 Header 中加一行:

X-Hermes-Session-Id: my-workflow-session-001

这样同一个工作流里的多次调用会共享上下文,非常适合需要多步推理的任务链。


完整架构示意

n8n Workflow
    │
    ├─ [HTTP Request] → localhost:8643  (agent-researcher) → 搜索/调研
    │
    ├─ [HTTP Request] → localhost:8644  (agent-writer)     → 内容生成
    │
    └─ [HTTP Request] → localhost:8645  (agent-coder)      → 代码任务

这套方案完全原生支持,不需要任何额外中间件。你现在的 Hermes 是哪个版本?可以用 hermes version 确认一下,部分特性需要 v0.4.0+。