3. Hermes Web UI(npm 版):浏览器里也能聊
前两篇全是命令行。有人就问了:我不想天天盯着终端,能不能用浏览器?
能。这篇讲的是 hermes-web-ui——一个 npm 包,装上以后浏览器里就能跟 Hermes 聊天、配模型、接平台、跑任务,基本不用敲命令。
先把丑话说前头:这个 hermes-web-ui 是 Hermes Studio 项目(仓库 EKKOLearnAI/hermes-studio)的 Web 界面,不是 Hermes 官方出品,官方文档里也没它的章节。第三方社区项目,功能挺全,但遇到问题以仓库 README 和 issue 为准。
还有个关键点:Web UI 只是个"外壳",真正干活的还是 Hermes Agent。所以得先按第一篇把 Agent 装好,再来装这个。
前提:两样先装好
- Hermes Agent——按第一篇装好,hermes 命令能跑
- Node.js——跑 npm 用的,22 以上就行,建议 23 或 24 的 LTS
验证一下都齐了再往下走:
hermes doctor # 看 Agent 环境正不正常
node --version # 确认 Node 在
装它:一行命令
全局安装:
npm install -g hermes-web-ui
装完验证:
hermes-web-ui --version
能打印出版本号,就说明装好了。
常用命令
记这几条就够了:
想干啥 命令
启动(后台跑) hermes-web-ui start
停止 hermes-web-ui stop
重启 hermes-web-ui restart
看状态 hermes-web-ui status
更新到最新版 hermes-web-ui update
看帮助 hermes-web-ui -h
远程客户端模式 hermes-web-ui client
清除登录锁 hermes-web-ui clear-login-locks
重置默认管理员密码 hermes-web-ui reset-default-login
启动时想换个端口,两种写法都行:
hermes-web-ui start 9000
# 或
hermes-web-ui start --port 9000
不想让它自动弹浏览器,加 --no-open:
hermes-web-ui start --no-open
第一次启动:登录,然后改密码
启动:
hermes-web-ui start
正常会自动弹出浏览器。没弹就手动开,地址:
http://localhost:8648
默认账号密码:
- 用户名:admin
- 密码:123456
进去第一件事——改掉默认密码。 点左下角头像 → 设置 → 账户,把用户名和密码都改了,别用 123456 裸奔。
万一哪天忘了密码进不去,一条命令重置回默认:
hermes-web-ui reset-default-login
这会把 admin 重置成 admin / 123456(超级管理员权限),重新登录后再改一次就行。
实操一:连上模型,开聊
这点设计得挺省心——Web UI 自动发现 Hermes Agent,不用你配路径。它会按这个顺序找:先找含 run_agent.py 的源码目录(比如 ~/.hermes/hermes-agent),找不到就回退到 hermes 命令的 Python 环境,最后回退系统 Python。Agent 装好了,Web UI 启动就能连上。
但 Agent 连上了,还得告诉它用哪个模型。步骤:
- 左侧菜单点 模型管理(Model Management)
- 它会自动从你的凭证池(~/.hermes/auth.json)发现可用模型
- 没有就点 添加 Provider,填 API key(跟第二篇 hermes model 是一回事,只是搬到界面上点)
- 选一个模型设为默认
图省事的话,第二篇讲过的 Nous Portal 走 OAuth 网页登录,不用填 key,一个订阅打包 300+ 模型。
配好回到 AI Chat,新建会话,发一句能验证它真在干活的:
看看我当前目录下有什么文件,帮我简单说说每个是干什么的
怎么算成功:
- 顶部显示你选的模型
- 它正常流式回复,没报错
- 回答里能看到"工具调用"的展开(说明它真去读文件了,不是瞎编)
- 能连续聊好几轮
到这步,最难的部分就过去了。
实操二:接一个聊天平台
左侧点 平台渠道(Platform Channels)。这里能统一配 10 个平台,全在网页里填凭证,不用敲命令配网关:
Telegram、Discord、Slack、WhatsApp、Matrix、飞书、钉钉、QQ、微信、企业微信
以飞书为例,点左侧"飞书 Feishu",右边填:
- App ID / App Secret——去飞书开放平台建个机器人拿
- 回调地址——填 https://你的域名:8648/hooks/feishu
- 打开右上角启用开关
- 点 保存,再点 测试连接 验证通不通
提醒一句:飞书、钉钉这类需要公网回调,本机调试得用内网穿透(frp、Cloudflare Tunnel 之类)。Telegram、Discord 这类走 Webhook 轮询的,本机直接就能用。
它能干啥
这 Web UI 不是个简陋聊天框,功能相当全。普通用户最常用的几块:
- 聊天:流式回复、多会话、工具调用展开、Markdown、代码高亮、文件上传下载、Ctrl+K 搜会话
- 模型管理:界面里加 provider、换模型、看可用模型列表
- 平台渠道:10 个平台统一配,不用敲命令
- 定时任务:建/改/暂停/恢复 cron 任务,也能立即触发
- 文件浏览器:浏览工作区文件,上传/下载/重命名/删,还能在线预览编辑
- 技能与记忆:看已装技能、查 Agent 记忆
- 使用分析:看 token 用量、成本、模型分布、30 天趋势
进阶的还有:可视化工作流(拖拽画布串任务)、看板、群聊房间、编码 Agent(Claude Code / Codex)、网页终端。用到再研究,普通用户先把聊天 + 模型管理玩熟。
数据存哪
路径 存什么
~/.hermes Hermes Agent 自己的数据(配置、密钥、会话)
~/.hermes-web-ui Web UI 自己的状态(账号、令牌、日志、上传文件)
想改 Web UI 的数据目录,设环境变量:
HERMES_WEB_UI_HOME=/data/hermes-webui hermes-web-ui start
外网访问:注意安全
这里有个必须注意的点:Web UI 默认 BIND_HOST=0.0.0.0,也就是监听所有网卡,同网段的人理论上就能访问。所以才让你第一件事改密码。
只想本机用、不暴露,绑回本机:
BIND_HOST=127.0.0.1 hermes-web-ui start
想给远程客户端用,有专门命令:
hermes-web-ui client
它会禁用网关自动启动、启用宽松 CORS,适合远程访问场景。
老规矩:别图省事直接把端口映射到公网。要远程用,走 SSH 隧道或 Tailscale 这类加密通道,再配强密码。
常见问题
-
启动后浏览器打不开
hermes-web-ui status
确认在跑,再手动输 http://localhost:8648。还不行就是端口被占了,换个端口启动:hermes-web-ui start 9000。
- 聊天没反应 / 连不上 Agent
多半是 Agent 本身没装好。回终端跑 hermes doctor 看 Agent 环境正不正常。Agent 没问题,Web UI 才能连上。
- 登录被锁了
输错密码太多次会被锁。清掉锁定记录:
hermes-web-ui clear-login-locks
服务在跑的话,加 --restart 顺手重启:
hermes-web-ui clear-login-locks --restart
- 端口 8648 被占用
换一个:hermes-web-ui start 9000。
这一篇你只需要记住什么
先装好 Hermes Agent 和 Node,再 npm install -g hermes-web-ui,hermes-web-ui start 启动,浏览器开 localhost:8648,默认账密 admin / 123456——第一件事就是改密码。
再提醒一次:这是第三方社区项目(Hermes Studio),不是官方出品。命令、端口、功能以仓库最新 README 为准。
下一篇回到命令行,讲 Hermes 日常使用:那些最常用的命令,每个是干嘛的、怎么用。