用过 ChatGPT、Claude 的人都有这个体验:上一轮聊得好好的,开个新对话,AI 就忘了你是谁、在做什么、遵守什么规范。你得重新解释背景、重述偏好、重新建立上下文。用的越多,这种重复越让人烦躁。
这是目前大多数 AI 工具的设计默认值——无状态。每次对话从零开始,做得再好也只是单次问答。
Hermes Agent 走了另一条路——让 AI 有持久记忆,记住你的项目、你的习惯、你纠正过它的地方,而且这些记忆在所有设备上同步。Hermes WebUI 是这个 Agent 的浏览器界面,让你从手机、平板、笔记本上访问同一个 Agent。
项目卡片
项目:Hermes WebUI[1] 状态:v0.51.192 / 10k+ Stars / 近一个月 2652 次提交 一句话判断:自托管持久记忆 Agent 的最佳 Web 入口,适合想要「AI 真正记住我」的开发者

Hermes 系统有三层持久能力:
持久记忆。 用户档案、Agent 笔记、技能库、历史会话全部跨会话保留。你纠正它一次写 API 的方式,下次它就不再犯同样的错。你告诉它项目用的是 PostgreSQL 而不是 MySQL,它不会在后续对话中反复搞混。记忆是正常使用的副产品——你不需要手动配置任何东西。
自主调度。 配置 cron 任务后,Agent 在你离线时也能干活——审查 PR、监控数据源、推送晨报到 Telegram/Discord/Slack。这些任务跑在你自己的服务器上,数据不出你的硬件。
多端可达。 同一个 Agent 身份,从终端 SSH、浏览器 WebUI、手机消息应用(10+ 平台)访问,共享完整记忆和历史。手机上发起的任务,笔记本上继续。
三个能力单独拿出来,市场上都有替代品。但把三者合进一个自托管系统、跑在你自己的服务器上、不依赖任何云服务——目前没有同样完整的组合。

如果你用 Claude Code,体验是强大的终端 Agent,但绑定 Claude 模型、没有持久跨会话记忆、没有自托管调度、不能从手机上访问。
如果你用 ChatGPT,有记忆和定时任务,但数据在 OpenAI 的服务器上,你没法自己控制。
如果你用 Cursor/Windsurf 这类 IDE 工具,它们擅长代码补全和编辑器内辅助,但不是「一个跟着你的 Agent」。
Hermes 的定位更接近一个 长期驻留的个人 AI 助手:它住在你选的服务器上,学习你的工作方式,按你的时间表做事,你可以从任何设备找到它。坦白说,这种定位目前还比较小众,但对有自托管习惯的开发者来说,吸引力很直接。
| 能力 | Claude Code | ChatGPT | Hermes |
|---|---|---|---|
| 跨会话持久记忆 | 部分(CLAUDE.md) | 部分 | 完整自动 |
| 自托管调度 | 否(云管理) | 否 | 是(自建 cron) |
| 手机消息访问 | 否 | 应用内 | 10+ 平台 |
| Web UI | 否 | 是(云端) | 是(自托管) |
| 多模型支持 | 仅 Claude | 仅 OpenAI | 全平台 |
模型提供商覆盖 OpenAI、Anthropic、Google、DeepSeek、OpenRouter 等,认证支持密码和 Passkey (WebAuthn),技术栈是纯 Python + vanilla JS,零构建步骤。
上手 Hermes WebUI 的前提是你已经有 Hermes Agent 在运行。整个流程是:
1. 克隆并启动
git clone https://github.com/nesquena/hermes-webui.git
cd hermes-webui
python3 bootstrap.py
bootstrap 会自动检测本地 Hermes Agent 安装,找到 Python 环境,安装 WebUI 依赖,启动服务器并打开浏览器。首次运行还有引导向导帮你配置模型提供商。
2. Docker 方式(更简单)
git clone https://github.com/nesquena/hermes-webui
cd hermes-webui
cp .env.docker.example .env
docker compose up -d
# 打开 http://localhost:8787
单条 docker compose 命令就够了,容器内 Agent 和 WebUI 一起跑。
3. 从手机访问
推荐用 Tailscale,零配置组建私有网络:
# 服务器上启动时绑定所有接口并开启密码
HERMES_WEBUI_HOST=0.0.0.0 HERMES_WEBUI_PASSWORD=your-secret ./start.sh
手机装 Tailscale 后,浏览器打开 http://<服务器 Tailscale IP>:8787 即可。流量走 WireGuard 加密,WebUI 再加一层密码保护。

三栏布局是主力交互面:左侧会话管理(搜索、标签、分组、归档),中间聊天区(SSE 流式响应、工具调用卡片、Mermaid 图表渲染、代码高亮),右侧工作区文件浏览器(目录树、内联预览、编辑、Git 状态检测)。整个前端没有用任何框架,纯 vanilla JS 实现,index.html + style.css + 几个 JS 文件。这个技术选型意味着页面加载极快,但也意味着功能扩展不能依赖组件库的便利。

日常用下来,几个体验比较突出:
模型切换不用重启。 Composer 底部栏可以直接切模型和 Profile。配了多个 API Key 的话——比如 Anthropic 做推理、DeepSeek 处理长文、Ollama 跑本地模型——切换即时生效。这对需要按任务类型选模型的场景很实用。
CLI 会话能在浏览器里继续。 在终端里通过 Hermes Agent 跑过的会话,WebUI 侧边栏会显示一个金色 "cli" 标记,点一下就带完整历史导入。如果你习惯在 SSH 终端干活、但想在浏览器里回顾和继续,这个桥接挺方便。
Token 用量有实时指示。 Composer 底部有环形上下文指示器,显示当前 token 消耗和预估成本,而且是模型感知的——不同模型的上下文窗口上限不同,指示器会相应变化。
11 种主题皮肤。 暗色/亮色之外还有 catppuccin、geister-contrast 等开发者社区流行方案,即时切换,刷新后也保持。
它不是独立的 AI 产品。 Hermes WebUI 是 Hermes Agent 的前端,必须先安装 Hermes Agent 后端才能用。这意味着你的上手路径是:先装 Hermes Agent → 配置至少一个模型提供商 → 再启动 WebUI。对纯终端用户来说,多了一步。
不支持 Windows 原生启动。 bootstrap.py 只支持 Linux、macOS 和 WSL2。Windows 原生运行需要手动创建 venv、安装依赖、用 PowerShell 版的 start.ps1 启动。社区有维护的 Windows 原生指南,但不是官方一等公民。
多容器架构有工具限制。 Docker Compose 两容器部署时,Agent 和 WebUI 分离,从 WebUI 触发的工具在 WebUI 容器里运行,缺少 git、node 等命令会报错。官方建议用单容器方案或自行扩展 Dockerfile。
密码认证默认关闭。 本地 127.0.0.1 绑定没问题,但暴露到网络时必须手动开启密码或 Passkey。别在 VPS 上无密码暴露 8787 端口。
项目非常年轻,版本号飙升。 两个月内从 v0.49 到 v0.51,每天多个小版本发布。CHANGELOG 有 1.1MB,文档跟得上速度。但 API 边界仍在快速变化,5300 多个测试用例覆盖了不少路径,对稳定性有基本保障。适合愿意跟进更新的开发者,不适合追求"装一次管半年"的人。
自托管爱好者。 你的 AI 对话数据、记忆、调度任务全部跑在自己的硬件上,不经过第三方云。
多设备工作者。 终端写代码、手机上查看结果、平板上浏览历史会话——同一个 Agent 身份跟随你。
需要自动化的开发者。 每天自动跑测试、审查 PR、推送摘要到消息平台,这些 cron 任务自带你的 Agent 记忆和技能。
Python 生态用户。 Hermes Agent 原生运行在 Python 环境里,和 ML 工具链、Jupyter、数据处理管线天然亲和。
不适合谁: 想要开箱即用云服务体验的人(Hermes 需要自己搭);只用单一模型且不需要跨会话记忆的人(直接用 Claude Code / Cursor 更轻量)。
Hermes WebUI 两个月做到 10k+ Stars,速度很快。看它的 issue 列表和 commit 频率,社区确实在密集地用和反馈。它的问题也很明确——上手路径依赖 Hermes Agent、Windows 是二等公民、API 还在快速变。但如果你已经在用 Hermes Agent,或者愿意花半小时搭建一个「住在自己服务器上的 AI 助手」试试看,WebUI 是目前最好的浏览器入口。
如果你想继续看这类 AI 工具拆解,我会把上手路径、关键限制和可复用配置整理成清单,方便你直接判断值不值得试。
引用链接
[1]Hermes WebUI: https://github.com/nesquena/hermes-webui
夜雨聆风