Carry の Blog Carry の Blog
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • OpenClaw
  • Hermes Agent
  • Claude Code
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carry の Blog

好记性不如烂键盘
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • OpenClaw
  • Hermes Agent
  • Claude Code
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • OpenClaw

  • Hermes-Agent

    • Hermes Agent 概述
    • Hermes Agent 实战 01|架构总览:用一个 Agent 管一整个机房
    • Hermes Agent 实战 02|多 Profile 与超管模型:一个 Agent 安全地管十几台机器
    • Hermes Agent 实战 03|Gateway 运维:systemd、裸进程,和一个 Telegram token 撞车
    • Hermes Agent 实战 04|模型路由实战:config 全解、thinking 注入与 401/503 源码级根因
    • Hermes Agent 实战 05|技能工程:写、去重、pin,与每周自我审计
    • Hermes Agent 实战 06|让 Agent 自己上班:cron 驱动的无人值守巡检
    • Hermes Agent 实战 07|数据库实战:可直接抄走的 SQL Server 巡检脚本
    • Hermes Agent 实战 08|量化交易助手:持仓盈亏、网格减仓,与「没开单」的真相
    • Hermes Agent 实战 09|接入 OpenWebUI:把每个 Profile 暴露成一个「模型」
      • 1. 核心思路:Profile = 一个 OpenAI 兼容模型
      • 2. 在 OpenWebUI 里登记
        • 2.1 一个真实小坑:重复的模型
      • 3. 用 Kong 反代到公网
        • 3.1 连接池耗尽 / keepalive 的「30 分钟神话」
        • 3.2 缺证书的静默失败
        • 3.3 端口与网络隔离
      • 4. 一个绕不开的批准问题
      • 5. 可复现 checklist
    • Hermes Agent 实战 10|升级不翻车,与给上游提 PR:一个被冲掉三次的修复
    • Hermes Agent 实战 11|踩坑合集:当「手动 rm」从来不是真正的修复
    • Hermes Agent 实战 12|工具链外延:用 AI 运维 AI,与这个系列的诞生
    • Hermes Agent 实战 13|旗舰篇:让 Agent 从零部署并灾难恢复一个 7 节点生产集群
  • Claude-Code

  • AI-Agent
  • Hermes-Agent
Carry の Blog
2026-06-22
目录

Hermes Agent 实战 09|接入 OpenWebUI:把每个 Profile 暴露成一个「模型」原创

# 接入 OpenWebUI:把每个 Profile 暴露成一个「模型」

系列第 09 篇。命令行和 Telegram 之外,我想要一个统一的网页聊天界面来调度所有 Profile。思路很简单:Hermes 的网关本身就是 OpenAI 兼容的,把每个 Profile 当成一个「模型」接进 OpenWebUI 就行。这篇讲怎么接、怎么用 Kong 反代到公网,以及 Kong 那几个能让你怀疑人生的静默杀手。

# 1. 核心思路:Profile = 一个 OpenAI 兼容模型

Hermes 的 gateway run(api_server 模式)暴露的是标准的 /v1/chat/completions + /v1/models。OpenWebUI 只要能连 OpenAI 兼容端点,就能把它当模型用。

# 每个 Profile 网关监听一个端口,自报一个模型名
curl -s http://<host>:8713/v1/models | jq -r '.data[].id'
# → hermes-default
1
2
3

模型名由网关的 API_SERVER_MODEL_NAME 决定(见第 03 篇的 drop-in)。所以「把所有 Profile 接进 OpenWebUI」= 给每个 Profile 起一个网关、各报一个模型名、在 OpenWebUI 里把它们登记成多个 OpenAI 连接。

# 2. 在 OpenWebUI 里登记

OpenWebUI → 设置 → 连接 → 加一个 OpenAI 兼容连接:

Base URL : http://&lt;host>:8713/v1
API Key  : &lt;网关侧设的 key,没有就随便填>
1
2

连上后,模型下拉里就会出现 hermes-default、hermes-superdba、hermes-freqtrade…… 选哪个,就是在跟哪个 Profile 对话。一个浏览器界面,调度整支「数字员工队伍」。

# 2.1 一个真实小坑:重复的模型

我接 OpenWebUI 时遇到过「怎么冒出来三个一样的模型」。根因通常是同一个上游被登记了多次(多个连接指向同一端点,或上游和反代各报一遍)。排查就一句话:把每个 OpenWebUI 连接的 Base URL 列出来去重,确认一个 Profile 只有一条入口。

# 3. 用 Kong 反代到公网

要从外网访问,我在前面放了 Kong 做反向代理 + 路由。Kong 很强,但它的坑几乎全是静默的——不报错,就是不通,专治各种「配置看着对就是不工作」。这几个我都真实踩过:

# 3.1 连接池耗尽 / keepalive 的「30 分钟神话」

Kong 到上游的连接复用有讲究。连接池配小了会静默耗尽,表现为间歇性超时,不报明确错误。还有个反直觉的点:keepalive 不是配了就一劳永逸——空闲超时一到连接就被回收,你以为「保活了 30 分钟」其实早断了。长连接、SSE 流式这类场景尤其要把 keepalive / 连接池调对。

# 3.2 缺证书的静默失败

上游走 HTTPS 时,少一张证书会让 Kong 直接静默连不上——日志里不一定有醒目报错。给 ComfyUI 配上游时我就栽在这:路由、服务全对,就是不通,最后是上游证书没配齐。

# 3.3 端口与网络隔离

Kong 跑在容器里时,「上游地址」要用容器网络里能解析到的地址,不是你在宿主机上看到的那个。端口映射、Docker 网络隔离、回环地址,每一样都能让「看着对」的配置不通。排查 Kong 上游永远先问一句:Kong 这个进程站在它的位置,真的能 reach 到这个上游地址吗?

# 4. 一个绕不开的批准问题

通过 OpenWebUI 调 Hermes 时,可能每个操作都弹批准,很烦。这和第 06 篇的 cron 批准是一体两面:交互式会话里批准是保护,但在某些自动化/无人场景下它会挡路。处理方式取决于你的安全取舍——把信任的操作加进 command_allowlist,或对特定平台调整 approvals.mode,但别图省事全关,那等于把安全护栏整个拆掉。

# 5. 可复现 checklist

  1. 每个 Profile 起一个 api_server 网关,用 API_SERVER_MODEL_NAME 给它一个清晰模型名。
  2. 在 OpenWebUI 登记成多个 OpenAI 连接,一个 Profile 一条 Base URL,避免重复模型。
  3. Kong 反代:keepalive / 连接池按长连接场景调;上游 HTTPS 配齐证书;上游地址用 Kong 能 reach 的那个。
  4. Kong 排障默认怀疑「静默不通」——它很少给你醒目报错。
  5. 批准策略按场景调,加白名单而不是全关。

下一篇讲一件长期维护里最容易翻车的事——升级:怎么合并上游更新又不丢本地补丁,以及那个被合并冲掉了三次的 SSH 泄漏修复的完整复盘,还有怎么把修复反哺给开源项目。

#AI Agent#Hermes#OpenWebUI#Kong#网关
上次更新: 6/21/2026

← Hermes Agent 实战 08|量化交易助手:持仓盈亏、网格减仓,与「没开单」的真相 Hermes Agent 实战 10|升级不翻车,与给上游提 PR:一个被冲掉三次的修复→

最近更新
01
Hermes Agent 实战 13|旗舰篇:让 Agent 从零部署并灾难恢复一个 7 节点生产集群 原创
06-22
02
Hermes Agent 实战 12|工具链外延:用 AI 运维 AI,与这个系列的诞生 原创
06-22
03
Hermes Agent 实战 11|踩坑合集:当「手动 rm」从来不是真正的修复 原创
06-22
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式