Hermes WebUI:让自托管 AI 智能体从终端走进浏览器,还能装进你的手机

你是否也曾遇到这样的尴尬——精心搭建了一个功能强大的自托管 AI 智能体,却只能在终端里敲命令,换个设备就无从下手;又或者出差在外,想用手机查看 Agent 昨晚跑完的定时任务结果,却发现根本没有趁手的入口?Hermes WebUI 的出现,正是为了解决这个问题。它是一个用 Python 与原生 JavaScript 编写、零构建步骤、零框架依赖的轻量级暗色主题 Web 应用,可以让你在浏览器或手机上,以几乎 1:1 的完整度使用 Hermes Agent 的全部能力。本文将带你全面了解这个潜力新星。

截至收录:
Hermes WebUI stars数:18399
Hermes WebUI forks数:2591

Hermes WebUI项目目录截图

Hermes WebUI项目核心亮点

🌟 亮点一(与 CLI 近乎 1:1 的完整度):这不是一个”阉割版”的网页壳子。终端里能做的事,这里几乎都能做——流式对话、工具调用卡片、子智能体委派、思考过程展示、危险命令审批、会话导入导出。更贴心的是,CLI 会话会直接从 Hermes Agent 的 SQLite 存储中读取出来,带上金色 “cli” 徽标出现在侧边栏,点一下就能导入完整历史并继续正常对话,真正做到”无缝接续”。

🎯 亮点二(零构建的极简技术栈):没有 webpack,没有 Vite,没有 npm install 转圈等待。整个项目由 Python 标准库 HTTP 服务器 + 原生 JavaScript 构成,后端在 api/,前端在 static/。这意味着你 clone 下来、跑一条命令就能用,也意味着任何懂 Python 的开发者都能在五分钟内读懂整个架构并开始改代码——在”一切皆框架”的今天,这种克制相当罕见。

🔒 亮点三(自托管优先的安全设计):默认关闭密码认证,把零摩擦留给 localhost;一旦你要暴露到网络,可以启用密码认证、Passkey / WebAuthn 无密码登录,甚至原生 OIDC 单点登录。会话使用签名的 HMAC HTTP-only Cookie(24 小时 TTL),所有响应都带安全头(X-Content-Type-Options、X-Frame-Options、Referrer-Policy),POST 体积限制 20MB,CDN 资源全部用 SRI 完整性哈希锁定。你的对话、你的记忆、你的硬件,全都在自己手里。

🧩 亮点四(三栏布局与工作区文件管理):左侧边栏管会话与导航,中间是聊天区,右侧是可拖拽调整宽度的文件浏览器。支持目录树展开折叠、面包屑导航、代码与 Markdown 与图片的内联预览,甚至可以直接在 Web 界面里编辑、新建、重命名、删除文件。聊天中出现的 workspace://path/to/file 链接会直接在右侧预览面板中打开。工作区头部还会显示 Git 分支名和未提交文件数量徽标——细节做得很到位。

📱 亮点五(为手机而生的响应式设计):小屏下侧边栏变成汉堡菜单滑入式浮层,文件面板从右边缘滑出,所有交互元素触控目标不小于 44px,聊天区与输入框占满整屏高度,不会出现底部导航抢走空间的问题。README 中甚至附带了社区用户在 ARM64 Android 设备上的实测报告。配合 Tailscale,你的 Agent 就真正装进了口袋。

🔌 亮点六(Provider 无关与 Profile 隔离):OpenAI、Anthropic、Google、DeepSeek、Nous Portal、OpenRouter、MiniMax、Xiaomi MiMo、Z.AI 通通支持,模型下拉框会根据你已配置的密钥动态生成。多 Profile 系统允许你在不重启服务的情况下随时切换配置、技能、记忆、定时任务与模型;创建时还能直接把 Base URL 和 API Key 写进 profile 的 config.yaml,Ollama、LMStudio 这类本地端点也能轻松接入。

Hermes WebUI项目快速开始

只需几步,你就能在本地运行起 Hermes WebUI

  1. 克隆并执行引导脚本(推荐,脚本会自动检测 Hermes Agent,缺失时尝试官方安装器,创建虚拟环境,启动服务并打开浏览器):
    bash
    $ git clone https://github.com/nesquena/hermes-webui.git hermes-webui
    $ cd hermes-webui
    $ python3 bootstrap.py

    或者使用 Shell 启动器:
    bash
    $ ./start.sh

  2. 作为后台守护进程运行(适合自托管 VM 或家庭服务器,无需 fuser 或 pkill):
    bash
    $ ./ctl.sh start # 后台守护进程,PID 写入 ~/.hermes/webui.pid
    $ ./ctl.sh status # 查看 PID、运行时长、绑定主机/端口、日志路径、/health
    $ ./ctl.sh logs --lines 100 # 跟踪 ~/.hermes/webui.log
    $ ./ctl.sh restart
    $ ./ctl.sh stop
  3. 用 Docker 一键启动(官方提供 amd64 + arm64 预构建镜像):
    bash
    $ git clone https://github.com/nesquena/hermes-webui
    $ cd hermes-webui
    $ cp .env.docker.example .env
    $ docker compose up -d
    # 打开 http://localhost:8787
  4. 健康检查
    bash
    $ curl http://127.0.0.1:8787/health

首次启动后,你会被引导进入内置的 onboarding 向导,完成 Provider 配置即可开始对话。如果配置尚未完成,向导会提示你用 hermes model 命令来收尾,而不是试图在浏览器里复刻整套 CLI 设置流程。

Hermes WebUI项目应用场景

场景一:随时随地访问你的自托管 Agent:服务默认只绑定 127.0.0.1,你可以通过 ssh -N -L 8787:127.0.0.1:8787 user@host 建立 SSH 隧道安全访问;或者把服务器和手机都加入 Tailscale 网络,设置 HERMES_WEBUI_HOST=0.0.0.0HERMES_WEBUI_PASSWORD 后,直接用手机浏览器打开 http://<server-tailscale-ip>:8787。出门在外也能查看 Agent 进度、回复消息、审批危险命令。

场景二:会话与知识工作的统一入口:利用会话项目(带颜色分组的命名空间)、会话标签(标题里加 #tag 生成彩色 chip 并可点击筛选)、置顶与归档、按今天/昨天/更早分组的折叠式日期分组,把成百上千次对话管理得井井有条。配合内置的 Memory 面板,可以直接在界面上编辑 MEMORY.mdUSER.md,让 Agent 对你的了解持续沉淀。

场景三:定时任务与自动化工作流:Tasks 面板支持创建、编辑、运行、暂停/恢复、删除 cron 任务,查看运行历史;任务完成后会通过 toast 提示和未读徽标提醒你,结果可以推送到 Telegram、Discord、Slack、Signal、邮件等 10 多个消息平台。开发者可以用它在离线时段跑数据处理、日报生成、仓库巡检这类重复性工作。

场景四:企业或家庭实验室中的声明式部署:项目提供 Nix flake 与 NixOS 服务模块,可以用声明式配置启动;Docker 侧则提供单容器、双容器(Agent + WebUI)、三容器(Agent + Dashboard + WebUI)三种编排方案,并附带一份常见故障对照表(UID 不匹配、.env 权限、容器内 localhost 指向错误等),把自托管部署的坑基本都填平了。

场景五:技能沉淀与自我进化:Skills 面板按类别列出所有技能,支持搜索、预览、创建、编辑、删除与关联文件查看,还提供斜杠命令自动补全(/help/clear/compress/model/workspace/new/usage/theme 等)。配合 Agent 自动撰写并保存技能的能力,你的智能体会越用越懂你的环境。

用户案例:作为 Hermes Agent 生态的官方级 Web 界面,Hermes WebUI 已被大量自托管与家庭实验室用户采用,社区贡献者超过 326 位,其中既有单次提交的修修补补,也有像 @aronprins 主导的 v0.50.0 整套 UI 重构(把模型/Profile/工作区控件移入输入框底部、用标签页式 Hermes Control Center 取代齿轮设置面板)这样的重大设计贡献。项目测试规模已达约 11,500 个用例、约 1,150 个测试文件,在 Python 3.11 / 3.12 / 3.13 上分三片并行跑 CI,成熟度可见一斑。

Hermes WebUI项目链接

nesquena / hermes-webui项目地址:https://github.com/nesquena/hermes-webui

本文地址:https://www.tgoos.com/46438

声明:本站资源均整理自互联网,版权归原作者所有,仅供学习交流使用,请勿直接商用,若需商用请购买正版授权。因违规使用产生的版权及法律责任由使用者自负。部分资源可能包含水印或引流信息,请自行甄别。若链接失效可联系站长尝试补链。若侵犯您的权益,请邮件(将 # 替换为 @)至 feedback#tgoos.com,我们将及时处理删除。转载请保留原文链接,感谢支持原创。