尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

LifeOS 如何用 Services.ts 安装并检查全部后台服务

LifeOS 如何用 Services.ts 安装并检查全部后台服务 LifeOS 如何用 Services.ts 安装并检查全部后台服务【免费下载链接】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 装好后还有一批后台服务Pulse 仪表盘、Conduit 捕获、work sweep 等要注册到系统调度器上才会真正运行。这些服务的安装此前散落在十几个Install*.ts脚本和 Pulse 的manage.sh里没有单一入口能回答这台机器上到底有哪些在跑。Services.ts 就是为这件事做的它维护一份服务注册表运行时与磁盘上的 plist 和launchctl实时状态合并一个命令即可安装并核对全部后台服务。适用前提机器上已完成 LifeOS 安装运行时位于~/.claude/LIFEOS/~/.claude是 Claude Code 的配置根若使用其他 harness请以Tools/DetectEnv.ts报告的实际配置根替换不要硬编码并已安装bun安装工具是 TypeScript用 bun 运行。主平台是 macOSlaunchdPulse、worksweep、derivedsync 在 Linux 上有systemd --user分支Windows 上两类调度器都没有、干净跳过。四个子命令与三个开关Services.ts全部功能收敛在四个子命令status有别名list不带参数时默认执行status子命令副作用用途status只读查看每个服务是 running、installed 还是 availableinstall调用launchctl特权步骤安装并加载服务不带--yes时只是 dry preview什么都不装uninstall调用launchctl并删除 plist只支持--only labels按标签移除doc只读重新生成服务总表BackgroundServices.md 里的表就是它生成的标注 do not hand-edit三个开关--all把 opt-in 服务一并纳入目标--only a,b只处理指定标签可写完整标签com.lifeos.worksweep或短名worksweep--yes真正执行。install/uninstall会触碰launchctl属于特权步骤由人或有权限的 AI执行status和doc任何时候都安全。未知子命令会打印 usage 并以退出码 1 结束。第一步用 status 读懂当前状态bun --version bun ~/.claude/LIFEOS/TOOLS/Services.ts status第二条命令按类别pulse / sidecar / capture / sync / sweep / maintenance列出注册表中的全部服务20 余项系统服务LIFEOS/USER/CONFIG/services.json里定义的每安装私有服务若存在也会并入cadence 列直接从 plist/单元文件实时解析而不是抄一份手工维护的表。状态列有四种取值决定你的下一步状态含义下一步● running已在 launchd 加载、按 cadence 触发无需操作○ installedplist 已写盘但 launchd 显示未运行对该服务重新执行install --only 标签 --yes安装器幂等先拆除旧单元再写入· available本机尚未安装常见于 opt-in 服务install --only 标签 --yes✗ missingplist 与模板都找不到当前安装形态不含此服务或其组件未部署示例输出格式来自实现具体条目、cadence 与行数取决于你的安装LifeOS background services (25) STATE CADENCE SERVICE ── pulse ── ● running at load Pulse (dashboard server) (com.lifeos.pulse) · available at load Pulse menu-bar app (com.lifeos.pulse-menubar) ● running daily/scheduled Pulse deriver (com.lifeos.deriver) ── capture ── ● running every 2m Conduit (sensory capture) (com.lifeos.conduit) ── sweep ── · available every 1h Work sweep (com.lifeos.worksweep) ⚠️ core not running: com.lifeos.pulse-menubar末尾的⚠️ core not running:行只列核心非 opt-in服务中未运行的标签。核心集为 Pulse 服务端、Pulse 菜单栏、Pulse deriver、Conduit、Conduit insight 这五项——它们默认应处于● runningopt-in 服务不在该告警范围内。cadence 的解析规则macOS plistStartInterval秒数换算成every Nm/every NhStartCalendarInterval显示daily/scheduledWatchPaths显示on file-changeRunAtLoad显示at load。第二步安装——先 dry preview再 --yes先做不装任何东西的预览bun ~/.claude/LIFEOS/TOOLS/Services.ts install --all不带--yes时命令只打印Installing N service(s):和(dry preview — re-run with --yes to execute)逐行列出每个目标及其安装命令然后以退出码 0 结束——这是提交前查看完整 opt-in 集合的安全方式。确认无误后真正执行bun ~/.claude/LIFEOS/TOOLS/Services.ts install --all --yes执行时的行为均来自实现不带--all/--only时只安装核心服务--all才把 opt-in 一并纳入。每个服务一行结果✅成功⚠️ (该安装器最后一条输出)失败⏭ skipped (installer not present in this install: path)表示安装脚本不在当前安装中例如属于未随公开版本发布的私有 skill跳过且不计为失败。有任一失败时打印N service install(s) FAILED.并以退出码 1 结束全部成功退出码 0。把退出码当真非零即有服务没起来。结尾提示Run bun Services.ts status to confirm.——也就是下一步。文档自带的定向示例把某一项立起来bun ~/.claude/LIFEOS/TOOLS/Services.ts install --only worksweep --yes两个需要知道的例外synthesis 与 distill 两项的 install 字段是#开头的说明文字前者随 Pulse/Conduit 栈安装后者的 plist 由 Cortex skill 的 distill workflow 写入install会直接跳过不会执行。Atlas 行的 install 字段是手写 plist的说明而非可执行命令在--all下它会被原样交给 shell显示为一条⚠️并使最终退出码为 1这不算故障不影响其它服务。Atlas 的真实安装路径是按 AtlasSystem.md 手写~/Library/LaunchAgents/com.lifeos.atlas.plist。另外--only筛选的是注册表标签像amberroute、bookmark-watchdog、backups这类每安装私有服务只在LIFEOS/USER/CONFIG/services.json中定义不属于公开发布物全新公开安装中该文件通常不存在筛选它们不会命中任何条目这是正常现象。装完后如何确认服务真的在跑主验证就是再跑一次 statusbun ~/.claude/LIFEOS/TOOLS/Services.ts statusstatus每次都重新扫描~/Library/LaunchAgents/*.plist并查询launchctl list所以刚装好的服务会直接显示● running和它的真实 cadence清单不会与事实脱节。判定标准要装的服务状态为● running核心服务不再出现在⚠️ core not running:行里。需要更细一层的证据时Setup.md 给出的验证约定是任一 launchd 任务launchctl print能看到该 label 已加载。worksweep 自带状态命令bun ~/.claude/LIFEOS/TOOLS/InstallWorkSweep.ts --status它执行launchctl print gui/uid/com.lifeos.worksweep并打印输出。Pulse 仪表盘curl 127.0.0.1:31337/healthz返回 200。安装器自身的输出同样是证据以 InstallWorkSweep.ts 为例成功时打印launchd bootstrap OK — com.lifeos.worksweep active并附launchctl print给出的state ...行。卸载单个服务bun ~/.claude/LIFEOS/TOOLS/Services.ts uninstall --only worksweep副作用说明macOS 上默认执行launchctl bootout gui/$(id -u)/label并删除~/Library/LaunchAgents/label.plistLinux 上执行systemctl --user disable --now并删除对应的用户单元文件。即移除调度任务本体不影响其它服务和 LifeOS 主程序。uninstall不带--only会被直接拒绝refusing to remove everything at once退出码 1。平台差异与边界BackgroundServices.md 正文称该工具 macOS-only、launchd 任务在 Linux/Windows 上干净跳过而 INSTALL.md 与Services.ts、各Install*.ts源码表明 Pulse、worksweep、derivedsync 在 Linux 上以systemd --user单元安装安装器按平台分发Windows 则干净跳过。两处表述不完全一致以status在你机器上的实际输出为准。注册表只做编排每个服务一行元数据加其现有安装器不重写安装逻辑。doc子命令用于刷新 BackgroundServices.md 中的服务表表头注释明确该表由生成器产出、不要手工编辑。全新安装的另一条路径Setup 工作流DeployComponents.ts在 Setup 阶段立起核心组件子集文档说明其当前覆盖约 9 个组件与Services.ts注册表打通是已跟踪的后续项。想一次拿满全部服务含 opt-in用install --all。继续深入Pulse 本体PulseSystem.mdConduit 捕获ConduitSystem.mdSynapse 输入路由SynapseSystem.mdHermes 侧车opt-in sidecarHermesSidecar.md工具实现源码Services.ts【免费下载链接】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),仅供参考
返回列表