把 Hermes 网页仪表盘做成后台服务

把 Hermes 网页仪表盘做成后台服务

之前 Hermes 的 dashboard 跑在终端里,Ctrl+C 或者关掉窗口就没了。这次用 systemd 用户服务把它做成常驻后台,关机自启、崩溃自动恢复。

写入服务文件

把下面的配置贴到终端:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cat <<'EOF' > /root/.config/systemd/user/hermes-dashboard.service
[Unit]
Description=Hermes Agent Web Dashboard
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=/root
ExecStart=/usr/local/lib/hermes-agent/venv/bin/hermes dashboard \
--host 0.0.0.0 \
--port 9119 \
--no-open
Restart=on-failure
RestartSec=5

# 可选:限制资源,避免仪表盘吃太多内存
MemoryMax=512M
CPUQuota=50%

[Install]
WantedBy=default.target
EOF

启动并启用开机自启

1
2
systemctl --user daemon-reload
systemctl --user enable --now hermes-dashboard.service

验证

1
systemctl --user status hermes-dashboard.service

看到 active (running) 就对了。再确认端口在监听:

1
ss -tlnp | grep ':9119'

注意

从 2026-06 版本开始,绑定 0.0.0.0(非回环地址)强制走认证,--insecure 已经不再关闭认证了。网页打开会要求登录,算是一次安全升级。

管理命令备忘

1
2
3
4
5
6
7
8
# 查看状态
systemctl --user status hermes-dashboard

# 重启
systemctl --user restart hermes-dashboard.service

# 停用
systemctl --user disable --now hermes-dashboard.service

目前的后台体系

服务化完成后,Hermes 有两层后台能力:

  • hermes-gateway:消息路由和平台接入
  • hermes-dashboard:Web 管理界面

两者都通过 systemd 兜底,关终端不会带走。之后如果有其他工具想做同样的后台化,流程几乎一样。