一般来说,连接Open WebUI的目的大致就是会让Hermes用起来像个ChatGPT,直观一点。但是前两天官方升级到了0.17版,好象做了些改变。
原来的版本统管消息平台,就比如Telegram、微信之类的,还有API服务器,现在API服务独立出来了,从Open WebUI去连Hermes更方便了。官方的指导说明有点落后,跟着做恐怕就行不通了。不知道官版何时会更新。
https://hermes-agent.nousresearch.com/docs/user-guide/messaging/open-webui
hermes config set API_SERVER_ENABLED true
hermes config set API_SERVER_KEY your-secret-key
hermes config set API_SERVER_HOST 0.0.0.0
前两条命令已经不再往.env环境文件中录入参数了,目前只在config.yaml文件里写。
上面第三条命令适合Open WebUI和Hermes不在同一个服务器上的情况,如果装在同一台机器上,就无所谓,但要在Hermes服务器的防火墙上加固。
而后,测试一下API服务器有没有起来
curl -s http://127.0.0.1:8642/health
# {"status": "ok", ...}
curl -s -H "Authorization: Bearer your-secret-key" http://127.0.0.1:8642/v1/models
# {"object":"list","data":[{"id":"hermes-agent", ...}]}
一般情况下都没有问题,接下来就是去Open WebUI中,进管理员面板,选设置,进连接/Connections去添加OpenAI兼容的协议,URL处填写:
http://hermes服务器的IP:8642/v1
后面就跟添加ChatGPT地址信息一样了。保存好之后,应该进聊天界面,从模型列表中就能看到hermes agent了。
不过,它的会话也就是session跟直接在终端上进入hermes的显示的不同,终端上看不到微信机器人和Open WebUI的会话列表。这个始终是个不如意的地方,见官方好象也有人在issue里报过,但没什么改进。
最后,在hermes服务器上再加固一点防火墙,因为前面多写了一条hermes config set API_SERVER_HOST 0.0.0.0,添加一条iptables防火墙命令:
sudo iptables -A INPUT -p tcp -s Open_WebUI_ip --dport 8642 -j ACCEPT
也就是只允许Open WebUI的IP连进来到8642的API服务器上。这样基本也就安全了。
我用 openclaw 安装了 hermes,配置都弄好以后,让 hermes 删除了 openclaw,
同一个视频分享链接,解析半天,弄不出来无水印。openclaw 真垃圾。