LifeOS 自定义 Spinner 系统:状态栏动词与轮换提示词从源资产到实时配置的完整机制

📅 发布时间:2026/9/13 8:10:01
LifeOS 自定义 Spinner 系统:状态栏动词与轮换提示词从源资产到实时配置的完整机制
LifeOS 自定义 Spinner 系统状态栏动词与轮换提示词从源资产到实时配置的完整机制【免费下载链接】LifeOS⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your ideal state, in life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOSLifeOS 在工作时状态栏显示的不是通用转圈动画而是由用户自定义词汇、图标、颜色和动画驱动的“working-verb”动画并在长任务期间轮换展示一组与系统真实状态保持同步的提示词tips。本文以 SpinnerSystem.md 为主线完整拆解这套“动词 提示词”双轨系统的资产存放位置、同步工具链、实时配置结构settings.json中的spinnerVerbs与spinnerTipsOverride以及渲染入口读完后可掌握在 LifeOS 中新增 spinner 动词、保持提示词不过期的全部正确操作路径。1. 状态栏的两个半区verbs 与 tips 是两种不同的东西LifeOS 状态栏的个性化由两个共享同一显示位置、但生命周期完全不同的特性构成Spinner verbs工作动词动画式的“正在工作”词汇如 Composing、Forging、Climbing连同它的图标icon、颜色color与动画animation。它是纯装饰性的cosmetic改坏了也不影响系统事实。Spinner tips提示词在较长操作期间轮换显示的信息性短句。它们会对系统做出事实性断言——skill 数量、hook 数量、版本号等——因此当系统在其下面发生变化时会“腐烂”rot。这一区分决定了后续所有设计verbs 由“定制资产 → 同步工具 → 实时配置”的单向流水线管理tips 则额外需要一个维护工作流定期与系统真实计数对齐。2. Spinner verbs四个角色与完整数据流动词词汇表及其样式只定义一次为定制资产customization assets然后推送到实时配置。按原文档四个角色分工如下角色位置 / 键位职责Source of truth真源LIFEOS/USER/CUSTOMIZATIONS/Spinner/下的verbs.json工作词、icons.json、colors.json、anims.json外加一份README.md唯一允许编辑词汇表与样式的地方Live config实时配置settings.json→spinnerVerbs.verbs渲染器实际读取的位置禁止手工编辑Sync tool同步工具LIFEOS/TOOLS/SyncSpinnerAssets.ts把定制目录中的 verbs/icons/colors/anims 推送到实时配置及下游项目Statusline renderer渲染器LIFEOS_StatusLine.sh下一次 spin 时读取配置并显示动词一条铁律贯穿始终要改变词汇表编辑定制 JSON 并重跑同步工具——永远不要手改实时配置这样真源才保持 canonical权威。2.1 仓库快照中的资产落位与部署实证需要说明的是在当前的公开仓库快照里USER 侧的 Spinner 资产目录呈现为模板态USER/SHARED/Spinner/README.md 说明该目录用于存放“动画帧、调色板、图标映射与动词列表”资产由技能在安装时自动落位用户随后可以编辑这些文件来换色、换图标集或扩展动词列表而不必碰渲染代码全新安装时“只有这份 READMESpinner 资产在相关技能安装它们时才落地”。也就是说定制目录的具体 JSON 文件verbs.json等随技能安装生成属于每个用户机器上的生成物而不是仓库里预先提交的静态文件。仓库中能直接验证的“资产 → 实时配置”通道是随 LifeOS skill 分发的公开资产包 settings.enhancements.json。其文件头注释写明Public LifeOS spinner verbs tool tips. Shipped with the LifeOS skill; deployed à la carte by DeployComponents (tooltips / spinnerverbs).即这份 JSON 携带公开版的动词与提示词由DeployComponents按需à la carte部署。DeployComponents.ts 中可以看到两个部署入口case tooltips: return deploySettingsKey(tooltips, spinnerTipsOverride, ctx); case spinnerverbs: return deploySettingsKey(spinnerverbs, spinnerVerbs, ctx);deploySettingsKey负责把单一 enhancement key 合并进settings.json。配套的 Setup.md 安装选项表也确认了两条可选项spinnerverbs523 个自定义 spinner verbs随install/settings.enhancements.json分发与tooltips265 条 LifeOS Claude-Code tips以 public-clean 形式分发。2.2spinnerVerbs的真实结构从 settings.enhancements.json 的开头可以直接看到 verbs 段的两个字段spinnerVerbs: { mode: replace, verbs: [ Krahing, Hill-climbing, Observing, Reverse-engineering, Verifying, Pressure-testing, Blossoming, Iterating, Decomposing, Pattern-matching, Prompting, Weaving, Naming the wind, Calling the wind, ... Hydrogen-Sonata-playing ] }mode: replace语义上是替换而非追加——自定义动词表整体接管默认的 spinner 词汇这是“让它像你的系统而不是一个库存工具”的实现基础。verbs整个公开包共 523 个词Setup.md 给出的计数内容从工程味Pattern-matching、Reverse-engineering到大量流行文化梗Grinding XP、Sandworming、Making it so、Decking、Neuromancing——词汇表本身就是定制哲学的示范动词可以是任何你希望系统“自称”的动作。2.3 用户覆盖层settings.user.json的深合并ConfigSystem.md 对配置层级的说明进一步解释了“USER 优先”规则LIFEOS/USER/CONFIG/settings.user.json是 per-principal 覆盖层其中显式列出的可覆盖内容就包含customspinnerVerbsspinnerTipsOverride。该文件与系统默认做深合并deep-merge且USER 总是获胜。因此整条链路是定制资产目录真源含 523 词公开包同步/部署工具写入settings.jsonsettings.user.json在合并时按 principal 覆盖LIFEOS_StatusLine.sh渲染最终结果。3. 渲染端LIFEOS_StatusLine.sh 如何消费这份配置渲染器 LIFEOS_StatusLine.sh 是状态栏的入口脚本。从源码可见的几个关键事实它按终端宽度分4 种响应模式nano35、micro35–54、mini55–79、normal80normal 模式下输出结构为LifeOS Header → Context → Usage → Git → Memory → Quote。它通过jq从settings.json即~/.claude/settings.json一次性解析出渲染所需配置如温度单位、DA 名称、时区、位置等脚本头注释明确说明“Config reads from settings.json”——spinner 动词正是走这条配置读取路径被渲染出来的。脚本对路径做了大量 fail-closed 防御未展开的$HOME、非绝对路径时直接输出裸 LifeOS 退出这属于状态栏作为常驻 UI 表面的健壮性工程与动词本身无关但保证了动词动画在任何环境下都不会写出垃圾数据。对使用者而言这意味着动词变更不需要重启什么服务渲染器在下一次 spin 时自然读到新的spinnerVerbs.verbs。4. Spinner tips与系统事实保持对齐的轮换提示Tips 存放于settings.json→spinnerTipsOverride.tips。公开包中的真实结构settings.enhancements.jsonspinnerTipsOverride: { excludeDefault: true, tips: [ 52 public skills, 212 workflows. Type / to see them all., /council spawns a multi-agent debate on any topic., /redteam runs 32 adversarial agents against your idea., /first-principles decomposes problems to root causes., ... ] }两个要点excludeDefault: true与 verbs 的replace模式同理启用覆盖即整体替换 Claude Code 自带的默认 tips。每条 tip 都带有可验证的数字或行为断言212 workflows、32 adversarial agents、235 prompt patterns、11 time horizons这正是它们需要维护的原因。4.1 新鲜度守护IntegrityCheck仓库中 IntegrityCheck.ts 从源码结构看专门把 spinner tips 当作“always-on user-facing surface”来审计它读取settings.json的spinnerTipsOverride.tips把提示词内容与系统的真实计数/版本做比对。也就是说“tips 过期”不仅是文档层面的告诫在 LifeOS 的完整性检查里有对应的实现落点。4.2 维护工作流/ut(UpdateTips)按 SpinnerSystem.md 的说明tips 的刷新由 release/maintenance skill 中的/utUpdateTips工作流承担它对照当前 skill/hook/agent 计数与版本号逐条审计并改写过期的 tips。官方给出的操作准则是在系统变更之后运行/ut让 tips 永远不过期。例如新增一个 skill 或发布一个新版本后不要手改spinnerTipsOverride.tips而是跑/ut重新对齐每一条 tip。5. 实操新增一个工作动词的正确姿势以“想让长任务期间状态栏显示Foraging”为例完整步骤继承自原文档 Example 一编辑真源在LIFEOS/USER/CUSTOMIZATIONS/Spinner/目录的 JSON 中加入Foraging并同时补上它对应的 icon、color、anims 条目——动词是四件套词、图标、颜色、动画绑定的。运行同步工具跑SyncSpinnerAssets.ts它会把 verbs/icons/colors/anims 推送到settings.json→spinnerVerbs.verbs并推送到下游项目。等待下一次 spin状态栏渲染器在下一轮动画时自然拾取新动词无需额外操作。反模式同样来自原文档直接编辑settings.json也许能让一个会话生效但会在下一次同步时被覆盖overwritten on next sync。定制目录才是真源同步工具是把变更搬进实时配置的唯一受认可sanctioned通道。6. 整体数据流工具对齐表面而非手改表面把 verbs 与 tips 两条链路放在一起就是原文档给出的完整流程图流程中的资产目录与配置键位分别对应 SpinnerSystem.md 所述部署通道在仓库快照中由 DeployComponents.ts 的deploySettingsKey调用承载。图里那条虚线路径——手改实时配置——正是整套设计要防止的反模式。状态栏两个半区共同遵守一条规则真源永远在实时配置的上游且由工具——而非手工编辑——把它们对齐reconcile。对 verbs 这条链路“对齐”是一次性的资产同步对 tips 这条链路“对齐”是每次系统变更后的重新审计/ut因为 tips 承载事实断言其腐烂速度与系统变更频率成正比。7. 小结可复用的“表面与真源分离”模式从这套 Spinner 系统可以提炼出 LifeOS 配置体系的一条通用原则它对理解仓库其他可定制表面同样适用真源下沉到定制资产目录LIFEOS/USER/CUSTOMIZATIONS/、settings.user.json覆盖层实时配置只是派生表面变更必须经过受认可的工具SyncSpinnerAssets.ts、DeployComponents的tooltips/spinnerverbs部署键、/ut工作流手改实时配置属于会被覆盖的临时状态装饰性表面与事实性表面分治verbs 只需一次同步tips 因为有事实断言额外需要新鲜度审计IntegrityCheck.ts 检查 /ut刷新双重保障。想进一步了解的读者可以从这些仓库文件继续深入SpinnerSystem.md本文主线、settings.enhancements.json523 个动词与 265 条 tips 的公开全集、DeployComponents.ts按选项部署的实现、LIFEOS_StatusLine.sh四模式渲染器、ConfigSystem.md配置层级与 USER 优先合并规则以及 Setup.md 中的安装选项表spinnerverbs/tooltips均为可选项默认不启用。【免费下载链接】LifeOS⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your ideal state, in life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考