hermes-webui 安装

hermes-webui仓库地址 下面是这次完整可用版流程,适合 Ubuntu 22.04 + root 用户 + 局域网访问 Hermes WebUI

1. 安装基础依赖

apt update
apt install -y git curl python3 python3-pip python3-venv python3.10-venv

2. 下载 Hermes WebUI

mkdir -p /work
cd /work
git clone https://github.com/nesquena/hermes-webui.git
cd /work/hermes-webui

3. 配置 .env

nano /work/hermes-webui/.env

写入:

HERMES_WEBUI_HOST=0.0.0.0
HERMES_WEBUI_PORT=8787
HERMES_WEBUI_PASSWORD=换成你的强密码

HERMES_HOME=/root/.hermes
HERMES_CONFIG_PATH=/root/.hermes/config.yaml
HERMES_WEBUI_DEFAULT_WORKSPACE=/root/workspace

HERMES_WEBUI_AGENT_DIR=/usr/local/lib/hermes-agent
HERMES_WEBUI_PYTHON=/usr/local/lib/hermes-agent/venv/bin/python

保存:

Ctrl + O
Enter
Ctrl + X

4. 确认 Hermes Agent 存在

ls /usr/local/lib/hermes-agent
ls /usr/local/lib/hermes-agent/venv/bin/python

如果 Hermes Agent 没装,需要先安装 Hermes。

5. 安装 WebUI 依赖到 Hermes Agent 的 Python 环境

这是这次排查里最关键的一步。否则 WebUI 自己的 .venv 可能无法同时加载 WebUI 依赖和 Hermes Agent。

cd /work/hermes-webui
/usr/local/lib/hermes-agent/venv/bin/python -m pip install -r requirements.txt

6. 如果之前启动失败过,删除坏掉的 .venv

rm -rf /work/hermes-webui/.venv

7. 启动 WebUI

cd /work/hermes-webui
./ctl.sh start

查看状态:

./ctl.sh status

正常应该看到:

running
Bound: 0.0.0.0:8787
Health: ok

8. 检查端口监听

ss -lntp | grep 8787

正常应该看到:

0.0.0.0:8787

如果只看到:

127.0.0.1:8787

说明 .env 没生效,检查 HERMES_WEBUI_HOST=0.0.0.0

9. 局域网访问

在其他电脑浏览器打开:

http://Ubuntu机器IP:8787

例如:

http://192.168.3.212:8787

健康检查地址:

http://192.168.3.212:8787/health

10. 如果访问不了,检查防火墙

ufw status

如果开启了 ufw,放行局域网:

ufw allow from 192.168.3.0/24 to any port 8787 proto tcp

11. 常用管理命令

cd /work/hermes-webui

./ctl.sh start
./ctl.sh stop
./ctl.sh restart
./ctl.sh status
./ctl.sh logs --lines 100

日志位置:

/root/.hermes/webui.log

这次遇到的问题和解决方式

旧进程占用端口:

ss -lntp | grep 8787
kill 进程PID

缺少 venv:

apt install -y python3-venv python3.10-venv

坏掉的 .venv

rm -rf /work/hermes-webui/.venv

WebUI 无法同时加载 Hermes Agent:

/usr/local/lib/hermes-agent/venv/bin/python -m pip install -r /work/hermes-webui/requirements.txt

并在 .env 指定:

HERMES_WEBUI_AGENT_DIR=/usr/local/lib/hermes-agent
HERMES_WEBUI_PYTHON=/usr/local/lib/hermes-agent/venv/bin/python

最终确认方式:

curl http://127.0.0.1:8787/health
curl http://192.168.3.212:8787/health

能返回:

{
  "status": "ok"
}

就说明安装成功。