如果你使用 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。
布局:三面板结构。左侧边栏用于会话和导航,中间为聊天区域,右侧为工作区文件浏览。模型、配置文件和工作区控制位于编辑器底部栏(编辑时始终可见)。环形上下文指示器可直观显示 token 使用情况。所有设置和会话工具都在Hermes Control Center(启动器位于边栏底部)中。
这使您能通过便捷的 Web UI 获得与 Hermes CLI 几乎1:1 的对等体验,可通过 Hermes 环境的 SSH tunnel 安全访问。单命令即可启动,单命令即可通过 SSH tunnel 在本地计算机上访问。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)。
两个可选的自托管部署功能——为浏览器对话附加动态会话召回预填充(Joplin/Obsidian/Notion/llm-wiki 路由),以及通过运行中的Hermes Gateway 路由浏览器聊天——详见 docs/advanced-chat-setup.md。大多数用户不需要这两个功能。
引导程序将:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash)。/health 端点。--no-browser 参数。[!NOTE] 此引导程序暂不支持原生 Windows。请使用 Linux、macOS 或 WSL2。有关 Windows/WSL 登录时自动启动的说明,参见
docs/wsl-autostart.md。
如果安装后提供商设置仍未完成,引导向导会指引你使用 hermes model 完成设置,而非尝试在浏览器中复现完整的 CLI 设置。有关向导的分步指南、提供商选择、本地模型服务器 Base URL 以及安全重新运行的信息,请参阅 docs/onboarding.md。如果 AI 助手协助进行安装、重新安装、引导、提供商设置或首次运行支持,请在运行命令或检查日志前让其阅读 docs/onboarding-agent-checklist.md。
~/.hermes/webui/attachments/,或配置 HERMES_WEBUI_ATTACHMENT_DIR 时使用该路径)⋯ 下拉菜单执行会话操作——固定、移动到项目、归档、复制、删除/usage 命令切换)workspace://path/to/file 的聊天链接在右侧预览窗格中打开文件config.yaml,因此无需手动编辑文件即可配置 Ollama、LMStudio 和其他本地端点HERMES_WEBUI_PASSWORD 环境变量或设置面板启用\login 路径下的简约深色主题登录页面/ 以显示自动补全下拉菜单/help、/clear、/compress [focus topic]、/compact(别名)、/model 、/workspace 、/new、/usage、/themeWebUI运行时状态中显示的版本仅为WebUI版本(当前运行的构建/镜像/标签)。它并非完整的兼容性映射。
在#1925和#2491中稳定代理边界的工作完成之前,WebUI在运行时执行、提供者/模型访问以及状态/模式使用方面仍与Hermes 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/franksong2702 — 最活跃的外部贡献者(148个PR,v0.49.3 → v0.51.153)
作为任期最长的外部贡献者,其贡献包括:会话标题保护(#301)、面包屑工作区导航(#302)、嵌入式工作区终端(#1099)、基于工作树的会话创建(#2053)、入职文档(#2052)、编辑器页脚容器查询、流式会话侧边栏豁免(#1327)、会话侧车修复、cron输出保留(#1295)、配置文件默认工作区持久化、手动/compress异步启动/状态端点(#2128)、工作树状态显示(#2109)+ 生命周期总览#2057的受保护删除(#2156)、会话渲染后去重(#2166)、原生WebUI快速路径(#2170)、尾部窗口响应修剪(#2171)、stale-stream保护扩展(#2158)、CSP报告收集器(#2160),以及在移动/响应式设计、会话侧边栏和工作区状态机方面的大量优化。
https://github.com/Michaelyklam — 近期版本最活跃的贡献者(117个PR,v0.50.240 → v0.51.139)
生产环境Docker强化(#1921,移除具有sudo权限的临时用户)、配置文件作用域技能端点(#1903)、配置文件作用域HERMES_HOME下的网关PID解析(#1901)、配置文件感知AIAgent缓存(#1898/#1904)、反斜杠LaTeX分隔符(#1848)、Codex配额错误显示(#1770)、shell路由HTML 503(#1836)、陈旧Kanban客户端恢复(#1828)、上下文自动压缩提示框生命周期(#1988)、/goal命令(#1866)、Kanban详情视图滚动(#1916)、CLI会话工具元数据保留(#1778)、繁体中文Kanban本地化补充(#1979)、v0.51.51移动版Insights分桶/布局(#2120/#2121)、Hermes运行适配器RFC(#2105,用于#1925)、从此处分支的绝对索引(#2198,用于#2184)、opencode-go自定义提供程序重叠路由(#2204,用于#1894)。
https://github.com/dso2ng — 会话谱系 + 诊断功能(25个PR,v0.50.227 → v0.51.153)
提供/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 — 实时流 + 用户体验优化(12个PR,v0.50.18 → v0.51.66)
最初负责工作区回退解析的开发,实时推理卡片(#366、#367、#394–#397),近期新增功能包括:Provider配额卡片上的手动“刷新用量”按钮(#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()对话框替换(PR #251从#242中拆分)。
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字符串,以及一次性引导向导,在首次启动时指导新用户完成Provider设置。
https://github.com/deboste — 反向代理认证 + 移动端响应式布局(PR #3、#4、#5)
最早的三个社区PR:修复EventSource/fetch以在反向代理设置中使用URL源、修正配置中的模型Provider路由,以及添加带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文件读取/路径。
https://github.com/Sanjays2402 — 无限滚动 + 起始跳转竞争条件修复(PR #1949)
通过生成令牌 + 互斥锁对修复v0.51.30中无限滚动预加载与起始跳转的_ensureAllMessagesLoaded之间的竞争条件。#1942和#1962中提出的简单同标志检查方法对await后的竞争无效——Sanjays2402的修复方案是正确的。
https://github.com/fxd-jason — 实时审批 + 通过SSE澄清(PR #1350、#1355)
用SSE长连接替代1.5秒HTTP轮询实现审批和澄清功能,将延迟从最多1.5秒降至近实时。解决了所有正确性细节(原子订阅 + 快照、锁内通知、队列头 payload、尾随事件重发)。
https://github.com/happy5318 — 自定义Provider模型去重(PR #1947)
修复不同命名的自定义Provider中的相同模型在选择器中被静默去重的问题,Opus在原始测试中发现了需要增强的竞争条件。
https://github.com/NocGeek — 实时流滚动 + 手动定时任务输出持久化(7个PR)
工具/队列卡片插入时的实时流滚动视口稳定性(#1360)、手动定时任务运行输出和元数据持久化(#1372,从搁置的#1352中拆分)。
来自真实用户的反馈,见证轩辕镜像的优质服务