如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Hermes Agent 是一款运行在您服务器上的高级自主代理,可通过终端或消息应用访问,它能记住所学内容,并且运行时间越长,能力越强。
Hermes WebUI 是一款轻量级、深色主题的 Web 应用界面,可在浏览器中访问 Hermes Agent。与 CLI 体验完全对等——您在终端能做的所有事情,都可以通过此 UI 完成。无需构建步骤,无需框架,无需打包工具。仅需 Python 和原生 JS。
布局:三面板。左侧边栏用于会话和导航,中间用于聊天,右侧用于工作区文件浏览。模型、配置文件和工作区控制项位于 编辑器底部——在编辑时始终可见。圆形上下文环可直观显示令牌使用情况。所有设置和会话工具都在 Hermes 控制中心(侧边栏底部的启动器)中。
这使您通过便捷的 Web UI 获得与 Hermes CLI 几乎 1:1 的对等体验,您可以通过 Hermes 环境中的 SSH 隧道安全访问该 UI。只需一条命令即可启动,一条命令即可通过 SSH 隧道在您的计算机上访问。Web UI 的每一部分都使用您现有的 Hermes 代理和现有模型,无需任何额外设置。
bootstrap.py / start.sh / ctl.sh大多数 AI 工具在每个会话中都会重置。它们不知道您是谁、您在做什么工作,或者您的项目遵循什么约定。您每次都需要重新解释。
Hermes 跨会话保留上下文,在您离线时运行计划任务,并且运行时间越长,对您的环境了解越深入。它使用您现有的 Hermes 代理设置和现有模型,启动时无需额外配置。
它与其他代理工具的不同之处在于:
与同类工具对比 (领域正在不断变化 — 完整分析参见 docs/why-hermes.md):
| 特性 | OpenClaw | Claude Code | Codex CLI | OpenCode | Hermes |
|---|---|---|---|---|---|
| 持久内存(自动) | 是 | 部分† | 部分 | 部分 | 是 |
| 计划任务(自托管) | 是 | 否‡ | 否 | 否 | 是 |
| 消息应用访问 | 是(15+ 平台) | 部分(/ 预览版) | 否 | 否 | 是(10+) |
| Web UI(自托管) | 仅仪表板 | 否 | 否 | 是 | 是 |
| 自我改进技能 | 部分 | 否 | 否 | 否 | 是 |
| Python / ML 生态系统 | 否(Node.js) | 否 | 否 | 否 | 是 |
| 供应商无关 | 是 | 否(仅 Claude) | 是 | 是 | 是 |
| 开源 | 是(MIT) | 否 | 是 | 是 | 是 |
† Claude Code 具有 CLAUDE.md / MEMORY.md 项目上下文和滚动自动内存,但不具备完整的跨会话自动回忆功能
‡ Claude Code 具有云托管调度(Anthropic 基础设施)和会话范围的 /loop;无自托管 cron
最接近的竞争对手是 OpenClaw — 两者都是始终在线、自托管、开源的代理,具备内存、cron 和消息功能。主要区别:Hermes 将自动编写和保存自己的技能作为核心行为(OpenClaw 的技能系统以社区市场为中心);Hermes 在更新过程中更稳定(OpenClaw 有记录的版本回归问题,且 ClawHub 曾发生涉及***技能的安全事件);并且 Hermes 原生运行在 Python 生态系统中。完整对比参见 docs/why-hermes.md。
运行仓库引导程序:
git clone https://github.com/nesquena/hermes-webui.git hermes-webui
cd hermes-webui
python3 bootstrap.py
或者继续使用 shell 启动器:
./start.sh
对于自托管 VM 或家庭实验室安装,ctl.sh 封装了常见的守护进程生命周期命令,无需 fuser 或 pkill:
./ctl.sh start # 后台守护进程,PID 位于 ~/.hermes/webui.pid
./ctl.sh status # PID、运行时间、绑定的主机/端口、日志路径、/health
./ctl.sh logs --lines 100 # 查看 ~/.hermes/webui.log 的最后 100 行
./ctl.sh restart
./ctl.sh stop
ctl.sh start 在守护进程包装器后台以前台/无浏览器模式运行引导程序,将日志写入 ~/.hermes/webui.log,并支持 .env 文件以及内联覆盖,例如 HERMES_WEBUI_HOST=0.0.0.0 ./ctl.sh start。
[!IMPORTANT] 停止服务器。每种启动方法都有自己的停止方式,因为只有
ctl.sh start会写入 PID 文件(~/.hermes/webui.pid):
启动方法 停止方式 python3 bootstrap.py或./start.sh在终端中按 Ctrl-C(两者均在前台运行) ./ctl.sh start./ctl.sh stop(发送 SIGTERM,等待后发送 SIGKILL)分离的 bootstrap.py(无--foreground)通过 lsof -i :8787(或ss -tlnp)找到 PID 并kill它
./ctl.sh stop无法直接停止由bootstrap.py或start.sh启动的服务器 — 它仅管理自己启动的进程。
两个可选的自托管部署功能 — 将动态 会话回忆预填充 附加到浏览器对话(Joplin/Obsidian/Notion/llm-wiki 路由器),以及通过运行的 Hermes Gateway 路由浏览器聊天 — 记录在 docs/advanced-chat-setup.md 中。大多数用户不需要这两个功能。
引导程序将:
~/.hermes/webui/attachments/,或配置 HERMES_WEBUI_ATTACHMENT_DIR 时的路径)⋯ 下拉菜单执行会话操作——固定、移动到项目、归档、复制、删除/usage 命令中切换)workspace://path/to/file 的聊天链接在右侧预览窗格中打开文件config.yaml,因此无需手动编辑文件即可配置 Ollama、LMStudio 和其他本地端点/usage 命令)WebUI运行时状态中显示的版本仅为WebUI版本(当前运行的构建/镜像/标签)。它并非完整的兼容性映射。
在https://github.com/nesquena/hermes-webui/issues/1925%E5%92%8Chttps://github.com/nesquena/hermes-webui/issues/2491%E4%B8%AD%E5%85%B3%E4%BA%8E%E7%A8%B3%E5%AE%9A%E4%BB%A3%E7%90%86%E8%BE%B9%E7%95%8C%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%AE%8C%E6%88%90%E4%B9%8B%E5%89%8D%EF%BC%8CWebUI%E5%9C%A8%E8%BF%90%E8%A1%8C%E6%97%B6%E6%89%A7%E8%A1%8C%E3%80%81%E6%8F%90%E4%BE%9B%E7%A8%8B%E5%BA%8F/%E6%A8%A1%E5%9E%8B%E8%AE%BF%E9%97%AE%E4%BB%A5%E5%8F%8A%E7%8A%B6%E6%80%81/%E6%9E%B6%E6%9E%84%E4%BD%BF%E7%94%A8%E6%96%B9%E9%9D%A2%E4%BB%8D%E4%B8%8EHermes Agent内部耦合。实际上,WebUI直接导入Agent模块(api/config.py、api/providers.py、api/streaming.py)并直接读取Agent状态布局,因此版本不匹配可能导致导入错误或行为偏差。
兼容性策略
hermes-agent + hermes-webui版本。Docker用户:固定两个镜像标签(或相应的固定源代码修订版),而不是一侧使用latest而另一侧使用固定标签。升级多容器设置时,请遵循docs/docker.md中的代理镜像升级步骤(需要在重新创建前删除hermes-agent-src卷)。当前源边界状态在docs/rfcs/agent-source-boundary.md中跟踪。
https://github.com/Michaelyklam — 近期版本中贡献最丰富的贡献者(118个PR,v0.50.240 → v0.51.198)
生产环境Docker强化(#1921,移除具有sudo权限的临时用户)、配置文件作用域的技能端点(#1903)、配置文件作用域HERMES_HOME下的网关PID解析(#1901)、配置文件感知的AIAgent缓存(#1898/#1904)、反斜杠LaTeX分隔符(#1848)、Codex配额错误显示(#1770)、shell路由HTML 503错误(#1836)、陈旧看板客户端恢复(#1828)、上下文自动压缩提示框生命周期(#1988)、/goal命令(#1866)、看板详情视图滚动(#1916)、CLI会话工具元数据保留(#1778)、繁体中文看板区域设置回填(#1979)、v0.51.51移动版Insights分桶/布局(#2120/#2121)、Hermes运行适配器RFC(#2105,用于#1925)、“从此处分叉”绝对索引(#2198,用于#2184)、opencode-go自定义提供程序重叠路由(#2204,用于#1894)。
https://github.com/rodboev — Windows/跨平台正确性+测试可靠性(83个PR,v0.51.223 → v0.51.384)
广泛而持续的改进,重点关注使项目在Linux之外的环境中运行:ctl.sh Windows进程树终止修复(#3670)、本地Windows全套信号/孤儿进程处理、斜杠命令自动完成优化,以及在数十个发布批次中交付的大量前端和基础设施修复。
https://github.com/bergeouss — 提供商管理UI + Docker强化(70个PR,v0.48.0 → v0.51.385)
用于从设置中添加/编辑自定义提供商的提供商管理UI、OAuth提供商状态检测(#1552)、双容器Docker设置、配置文件隔离强化(每个配置文件的.env密钥)、用户点击“设置→提供商”时看到的大部分内容、“在Finder中显示”上下文菜单(#1551)、网关状态卡片(#1552)、将会话自动分配到活动项目筛选器(#1550)、更新横幅中的“新增功能?”链接(#1549)、OpenRouter免费层实时获取(#1548)、凭据池401自愈(#1553)、模型选择器中的内联提供商芯片+分组模型计数(#1644)。
https://github.com/ai-ag2026 — 会话恢复 + 审计基础设施(75个PR,v0.50.279 → v0.51.367)
自治AI贡献者(由Hermes Agent驱动),专注于耐用性:基于state.db的边车协调(#2041)、启动时恢复孤立的.json.bak文件(#2035)、只读会话恢复审计端点(#2036、#2040)、/health中的活动运行生命周期(#2039)、docs/rfcs/turn-journal.md中的崩溃安全轮次日志RFC(#2042)、仅追加的轮次日志助手(#2059)、生命周期事件层(#2062)、Content-Security-Policy-Report-Only头(#2084)、每个定时任务的通知开关(#2100)、分叉会话压缩谱系隔离(#2014)。
https://github.com/dso2ng — 会话谱系 + 诊断(30个PR,v0.50.227 → v0.51.327)
用于有限会话图诊断的/api/session/lineage-report/端点(#2012)、陈旧Mermaid渲染错误清理(#1337)、session_source="fork"的延续链隔离(#2063)、侧边栏徽章展开时延迟获取谱系报告(#2130),以及一系列围绕会话加载的前端可靠性修复。
https://github.com/jasonjcwu — 编辑器 + 对话记录优化(16个PR,v0.50.227 → v0.51.132)
通过活动轨道点击折叠侧边栏(#2054,整合#1884 + #1924)、编辑器芯片灯箱(#1758)、工具密集型首轮的标题修复、会话切换期间的静默压缩状态(#2185)、并发发送丢失修复(#2186)、对话记录中的引导消息徽章(#2187),以及一系列前端优化修复。
https://github.com/Jordan-SkyLF — 实时流 + UX优化(12个PR,v0.50.18 → v0.51.66)
最初的工作区回退解析冲刺、实时推理卡片(#366、#367、#394–#397),以及近期的一系列更新:提供商配额卡片上的手动“刷新用量”按钮(#2150)、取消轮次状态分类(#2151)、Firefox侧边栏滚动稳定性(#2200)、早期临时会话标题(#2202)、目标感知的“新增功能?”更新横幅链接(#2207),以及设置中MCP工具溢出修复(#2210)。
https://github.com/aronprins — v0.50.0 UI大修(PR #242,外加9个后续PR)
项目最大的单一贡献:完整的UI重新设计,将模型/配置文件/工作区控件移至编辑器底部,用Hermes控制中心(标签式模态框)替换齿轮图标设置面板,移除活动栏转而使用内联编辑器状态,用⋯操作下拉菜单重新设计会话列表,并添加工作区面板状态机。此外还包括对话记录重新设计(#587)、侧边栏精简(#584)、三列布局重构(#899)、明暗主题+强调色皮肤(#627),以及共享confirm()/prompt()对话框替换(从#242中提取的PR #251)。
https://github.com/iRonin — 安全强化冲刺(PR #196–#204)
六个连续的聚焦安全PR:会话内存泄漏修复(过期令牌修剪)、CSP + Permissions-Policy头、30秒慢客户端连接超时、通过环境变量的可选HTTPS/TLS支持、自更新的上游分支跟踪修复,以及文件浏览器API中的CLI会话支持。这种专注、高质量的安全工作使自托管工具更值得信赖。
https://github.com/lucasrc — 身份验证强化三部曲(PR #2191、#2192、#2193)
三个协调的安全PR均在v0.51.57中发布:带PBKDF2密钥分离的线程安全登录速率限制器、设置保存时的密码哈希缓存失效,以及完整的64字符HMAC-SHA256会话签名(含向后兼容迁移桥)。这种清晰分解的安全工作可作为三个独立部分进行审查。
https://github.com/LumenYoung — 实时流热路径正确性(8个PR,v0.51.47 → v0.51.99)
最初的陈旧流写回保护(#2136——后续两个版本扩展的bug类别)、网关状态存活空值分类(#2075)、压缩横幅锚点对齐(#2182),以及压缩完成时上下文进度环自动刷新(#2188)。每个PR都在代码库中最脆弱的子系统之一中进行了小而精准的修复。
https://github.com/dobby-d-elf — 前端可靠性 + 动效优化(15个PR,v0.51.38 → v0.51.161)
删除目录时的工作区回退(#2138)、iPhone PWA底部滚动修复(#2143)、新的“活动:X个工具”编辑器底部微光动画(#2203),以及后续的动画调整(#2212)。
https://github.com/JKJameson — 编辑器 + 会话优化(10个PR)
每个会话的持久编辑器草稿(#1956),以及一系列编辑器和会话侧边栏的优化。
https://github.com/gabogabucho — 西班牙语本地化 + 引导向导
完整的西班牙语(es)本地化覆盖所有UI字符串,以及首次启动时引导新用户完成提供商设置的一次性引导向导。
https://github.com/deboste — 反向代理身份验证 + 移动响应式布局(PR #3、#4、#5)
最早的三个社区PR:修复EventSource/fetch以在反向代理设置中使用URL源、从配置中修正模型提供商路由,以及添加带dvh视口修复的移动响应式布局。早期的基础工作。
https://github.com/indigokarasu — 视觉重新设计提案(PR #213)
纯CSS的完整UI重新设计——适当的设计标记、替换表情符号标签栏的图标轨道侧边栏、一致的表单卡片、面包屑导航,以及7个内置主题作为自定义属性。该PR未按原样合并,但塑造了v0.50.0中发布的设计语言和主题架构。
https://github.com/zenc-cp — ReAct循环的抗幻觉保护(PR #133)
三层方案(临时抗幻觉提示、实时令牌过滤、会话历史清理),实时流管道仍在使用。
https://github.com/Hinotoi-agent — 配置文件 + 会话安全(PR #351、#2048)
配置文件.env密钥隔离修复(PR #351)防止API密钥在配置文件间泄漏,以及会话导入工作区验证(PR #2048)阻止针对/的特制JSON文件读取。
来自真实用户的反馈,见证轩辕镜像的优质服务