hermes桌面启动动画

结论

存在。Hermes Desktop 的启动动画插件是官方插件目录(community 档、desktop 类目)里的 hermes-boot-screen。本机 2026-10-25 安装,2026-10-26 修复“装好却看不到动画”的故障——根因是持久化启用决策被记为 false,加载成功但未执行 activate。

条目事实

目录 idhermes-boot-screen(Hermes Boot Screen)
档位 / 类目 / 平台community / desktop / 未限定平台
版本v1.1.1
仓库 / 维护者github.com/OMOX563/hermes-boot-screen / OMOX563
许可MIT;改编自 6shenhonghong9/dsh-startup-screen(DeepSeek Harness 启动动画,MIT)
安装钉死commit SHA 4bdfb3c67cd8341c3018631214b8c42d7cf50cb7,不自更新
声明面积仅 desktop/plugin.js(SDK 贡献区 appearance.extra / routes / sidebar nav / palette);无 tools、hooks、middleware、环境变量
运行期网络零请求:音频、图标、样式全部内嵌 data URI;朗读用浏览器本地 speechSynthesis
体积plugin.js 474,429 字节(README 自称 about 457 KB);UTF-8 解码后字符数 473,030
前置要求Hermes Desktop v0.21.x 或兼容客户端;本机实际运行 v0.22.5 本地构建(apps/desktop/release/linux-unpacked)

六幕结构

第一幕黑屏 + 图标一笔画自绘成型,落墨滴;HERMES · HERMES · HERMES DESKTOP
第二幕过曝泛白过渡到暖白「技术档案」底:角标刻度、网格、时间戳、分段进度条
第三幕品牌组合落定:HERMES / AGENTIC INTELLIGENCE / DESKTOP APP,页脚 POWERED BY NOUS RESEARCH
第四幕五步交互授权:grant access → confirm identity → open session channel → read permissions → verification passed(录音台词 + 逐字字幕)
第五幕权限读取的散射 / 十字准星动画
第六幕青红色差故障后揭开 WELCOME TO / [HERMES DESKTOP],释放滚动锁与控制权

全程有提示音、确认音、步进音效与英文旁白;录音资产缺失时自动退到浏览器 TTS,TTS 也不可用时动画照播、不阻塞启动。

本机安装记录(2026-10-25)

安装命令hermes plugins install hermes-boot-screen(需把 /run/current-system/sw/bin 加进 PATH,否则报 git 未安装)
agent 侧包/home/cat/.hermes/plugins/hermes-boot-screen(含 .hermes-catalog.json sidecar,未 enable——桌面插件不需要)
桌面半区/home/cat/.hermes/desktop-plugins/hermes-boot-screen/plugin.js
机制v0.22.x 桌面端把 plugins/<name>/desktop/plugin.js 物化到 <HERMES_HOME>/desktop-plugins/<name>/,并写 .hermes-package.json 标记(package / source / sourceMtimeMs / repo / sha / catalogName)回链 agent 包
完整性本地副本 sha256 = 6757c0aabab6603217a1e2fa1d8e0613d53e0345067b65d100e5879d3901de5b,与上游 Release v1.1.1 的 plugin.js 逐字节一致
语法检查node --check(按 ESM 检查)= 通过;导出形状 export default + register(ctx)
读取上限壳层 readPluginSource IPC 上限 16 MiB,474 KB 不会被截断拒载

故障:装好、重启桌面却看不到动画(2026-10-26 定位并修复)

表面征象:插件文件就位、桌面已重启多次,但既无动画,也无 toast,侧边栏无入口;desktop.log 里与插件相关的记录为 0 条;Ctrl+K → Reload desktop plugins 手动重扫也无效。

根因:桌面端把每个插件的启用决策持久化在 localStorage 键 hermes.desktop.pluginDecisions.v2,而 hermes-boot-screen 被显式记为 false。SDK 加载链本身完全正常,但在最后一步的门控上被挡下:

_a({...l,status:`disabled`},{activate:d,deactivate:...}),
ta(s.id,(s.defaultEnabled??!0)&&(n.defaultEnabled??!0))&&d(),   // ta = 决策表读取,false 时不调用 activate

于是 register() 从未执行 → 黑屏根节点未注入、动画不播、toast 不弹、侧边栏入口不注册。这条路径全程只走 console.info/log 正常分支,没有 console.error,而该构建的渲染进程 console 未接入 desktop.log,所以外部看是“文件齐、日志干净、但什么都没有”,极易误判为插件没装上。

修复:在 Skills & Tools → Plugins 页把 hermes-boot-screen 那行的开关打开(等价 Se(id,true) → 写回 true → 立即 activate()),动画当场出现。不需要重装、不需要改文件。

判据(一分钟二分)Plugins 页有该插件行且开关为灰/关 → 就是决策表问题;若连行都没有 → 才去查文件与扫描
为什么重扫无效Reload 只重新加载模块,仍按 disabled 决策不 activate;不会改决策表
为什么重装无效决策按插件 id 存,卸载重装通常保留;装完仍需确认开关
两个键别混启用决策在 localStorage(持久);session 模式的“已播放”标记在 sessionStorage,随会话清除

定位方法(可复用于任何桌面插件)

症状是“静默无反应”时,给本地构建产物加临时诊断埋点,把被吞掉的分支变成可观测输出。要点:

载体本地构建产物 apps/desktop/release/linux-unpacked/resources/app.asar.unpacked/dist/;扫描与加载逻辑在 assets/sdk-*.js,启用门控在 assets/layout-*.js,IPC 桥在 electron-preload.js,主进程在 electron-main.mjs
埋点位置扫描入口 qM(roots/readDir/entry/load 结果)、加载函数 HM(读取字节数、UNSUPPORTED 白名单、default 导出)、activate 门控(ACTIVATE-START / REGISTER-OK / REGISTER-THREW)、决策读取函数(HE id -> 值 + map)
回传通道渲染进程 console 不进 desktop.log,故走 IPC:preload 暴露 __bootDiag → 主进程 ipcMain.handle 追加写文件。比 HTTP 打点更省事(无 CSP/代理干扰)
改完必做逐文件 node --check;改前 *.bak-diag 备份;查证后 cp 还原并全目录扫残留关键词 = 0
起 GUI无 DISPLAY 的终端里直接跑会 Missing X server;从 plasmashell 的 /proc/<pid>/environ 取 DISPLAY=:0 与 XAUTHORITY=/tmp/xauth_XXXX 再用;kill -TERM 常不退出,需 -KILL
结论口径“读到的字符数比字节数少”是 UTF-8 解码后 length 的正常现象,不等于被截断;判据是 UNSUPPORTED=[] 且 default 导出 id 正确

生效与开关

磁盘扫描在启动首扫执行,插件目录出现即被 reconcile;未拾起时按 Ctrl+K 搜索「Reload desktop plugins」手动重扫,或重启桌面。载入并启用成功的三个标志:右下 toast「🚀 Startup Animation plugin loaded」、侧边栏出现「Startup Animation」页、Plugins 页该行开关为开。

播放模式三档:session(默认,每次运行一次)、always(每次注册都播,含热重载)、daily(每天首次启动)。全部设置集中在该侧边栏页,可 Play Now 立即预览,无需等下次启动。播放中 Esc 或右上 SKIP 跳过;第四幕两步用 Enter / Space / 点击推进。命令行另有 Startup Animation: Play Now 与 Startup Animation: Open Settings 两个命令。

注意:插件载入时会在文档级捕获 Enter / Space / Esc,且全屏覆盖窗口、播放音频与朗读。改动已存在的 plugin.js 不触发热重载(文件监听仅在首次加载后建立,符号链接的开发检出除外),改完必须点刷新。

易混淆项

--fake-bootHermes Desktop 自带启动标志(hermes desktop --fake-boot,或 env HERMES_DESKTOP_BOOT_FAKE),作用是注入确定性启动延迟以校验启动界面,不做视觉效果
hermes-appearance-hubGitHub Heybinshao/hermes-appearance-hub,v3.7.7,单 ESM 文件的外观整合插件,确有「开场标识」开关;但不在官方插件目录内,只能手动安装
目录描述与实际文案目录条目称「Boot Animation」,插件本体实际命名为「Startup Animation」,侧边栏与 toast 都用后者

卸载

Plugins 页 uninstall,或 hermes plugins remove hermes-boot-screen 后删除 <HERMES_HOME>/desktop-plugins/hermes-boot-screen/ 整个目录。