🤖HermesBlog
Hermes 功能详解 · 第26篇2026/8/9· Easy Understand Hermes Agent

第26篇:API Server——把 Hermes 变成服务

Hermes 功能详解第26篇:API Server。用 HTTP API 调用 Hermes。

这篇讲的是:如何把 Hermes Agent 变成一个“标准插座”,让任何支持 OpenAI 格式的聊天前端(比如 Open WebUI、LobeChat)都能插上来用。


想象一下:你家里装了一个超强力的“全能管家”(Hermes),它能帮你操作电脑、查资料、写代码。但问题是,管家只在你家客厅等你下指令。API Server 就是给这个管家装了一个“对外服务窗口”——任何会说“OpenAI 语言”的访客(前端应用),都能通过这个窗口向管家下指令,拿到结果。

第1步:打开服务开关

用文本编辑器打开配置文件 ~/.hermes/.env,加入三行配置:

API_SERVER_ENABLED=true
API_SERVER_KEY=change-me-local-dev
# 可选:如果浏览器要直接访问,取消下一行注释
# API_SERVER_CORS_ORIGINS=http://localhost:3000

第一行是“开门营业”,第二行是“门禁密码”(自己改成复杂点的),第三行是“允许哪些访客直接进来”。

第2步:启动服务

在终端里运行:

hermes gateway

看到这行输出就说明服务开好了:

[API Server] API server listening on http://127.0.0.1:8642

第3步:连接你的前端

方法A:用命令行测试(先确认通了)

curl http://localhost:8642/v1/chat/completions \
  -H "Authorization: Bearer change-me-local-dev" \
  -H "Content-Type: application/json" \
  -d '{"model": "hermes-agent", "messages": [{"role": "user", "content": "你好!"}]}'

方法B:连接图形界面(推荐日常用)

打开 Open WebUI 或 LobeChat,在设置里把 API 地址填成 http://localhost:8642/v1,密钥填你设的密码,模型选 hermes-agent,就能像用 ChatGPT 一样用 Hermes 了。

两个核心接口,一个管聊天,一个管记忆

/v1/chat/completions:标准聊天接口。每次请求都要带上完整对话历史(无状态)。支持传图片(网络图片或 base64 编码的本地图片),也支持流式输出——打字机效果,而且 Hermes 会额外发一个 hermes.tool.progress 事件,前端就能显示“正在使用工具”的提示。

/v1/responses:更聪明的接口。服务端帮你记住上下文——你只需要传一个 previous_response_id,Hermes 会自动把之前的对话(包括工具调用过程)接上。更省事的是用 conversation 参数:

{"input": "看看我项目里有什么文件", "conversation": "my-project"}
{"input": "帮我读一下 README", "conversation": "my-project"}

同一个名字就自动串成多轮对话,在仪表盘里也显示为一条记录。

两个实用小接口

  • GET /v1/models:让前端知道“我这里有 Hermes 这个模型可用”。
  • GET /api/model/options:给 Hermes 自家的界面用的,返回更详细的模型列表、价格、能力标签。

总结一下:API Server 让 Hermes 从一个“本地工具”变成了“标准服务”——任何 OpenAI 兼容的前端都能接上来用,而且工具调用、图片输入、流式输出这些高级功能全都保留。

下篇预告:服务开好了,怎么让手机也能连上?下一篇我们聊聊 远程访问与安全配置,把 Hermes 带出家门。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/batch-processing