ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

LifeOS 安装后能力清单:外部工具接入与 Doctor 能力自检指南

LifeOS 安装后能力清单:外部工具接入与 Doctor 能力自检指南 LifeOS 安装后能力清单外部工具接入与 Doctor 能力自检指南【免费下载链接】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安装完成 LifeOS 之后INSTALL.md只解决了“核心系统如何落地”而本指南仓库中 LifeOS/GETTING-STARTED.md回答的是另一个问题LifeOS 的 doctrine教义层在“外部工具可用时”会依赖哪些真实能力——跨厂商审计 CLI、真实浏览器验证、云端定时流、语音通知、文件系统搜索等。读完本文你将掌握每项工具由谁调用、如何安装与鉴权、如何用 Doctor 一行命令验证它是否真正生效以及当某项能力缺失或主动拒绝时LifeOS 如何保证“诚实降级、绝不假装”。绝大多数外部工具都是可选的缺失时系统会诚实地降级——每一项缺失都只是少解锁一个真实能力。但有一个例外需要开门见山地说明gh并非可选。Work System 将其系统记录保存在私有 GitHub 仓库中所有读取端都以gh作为唯一通道且没有 fallback因此没有gh时工作捕获会直接失败而不是降级。唯一需要记住的命令Doctor任何时候感觉“哪里不对劲”运行这一条命令bun configRoot/LIFEOS/TOOLS/Doctor.ts每一行❌都自带其专属的修复命令copy-paste 即可。加--network会执行端到端的鉴权检查仅针对你已经配置过的工具不会做未授权的外部访问。decline name将某个能力永久且安静地关闭——拒绝decline是 LifeOS 支持的运行方式不是缺陷。这条命令对应的实现是 LifeOS/install/LIFEOS/TOOLS/Doctor.ts其头部注释完整给出了全部子命令--network/--no-network/--json/decline cap/enable cap/ack/--statusline/--verify/--reclaim/--hooks。Doctor 被设计为永不安装致命默认运行总是以退出码 0 结束每次探测都有 15 秒超时上界网络探测默认关闭且只在用户已配置对应能力时才触发源码中PROBE_TIMEOUT_MS 15_000、network probes are opt-in (--network)即为此设计契约。核心概念四种能力状态与降级契约Doctor 对每项能力只输出四种状态源码中的type CapState见 Doctor.ts状态含义表现live✅探测通过能力可用正常输出broken❌探测失败附带复制即用的修复命令declined⏸用户主动永久关闭永远安静任何地方都不再提示stale◌上次探测超过 TTL 未刷新提示重新运行 Doctor这套状态机的运转基础是咨询性清单advisory manifest写入LIFEOS/MEMORY/STATE/capabilities.json。它是带 TTL 的缓存不是事实本身——运行时在使用某个能力的当下会做一次廉价的重查isStale()比较checkedAt ttlHours与当前时间见 Doctor.ts。清单带防篡改设计Doctor.ts --verify通过加盐的 SHA-256 完整性哈希盐存放在独立的 0600 权限文件.capabilities-salt中检测任何在 Doctor 之外对清单的编辑篡改时退出码为 2。源码注释明确说明这一层只能防“随意/模型误编辑”不针对坚定的本地攻击者——这是诚实的边界声明。降级契约可以总结为四条损坏的能力在“你即将使用它的那一刻”只警告一次并附上修复命令冷却机制cooldown防止重复骚扰。被拒绝declined的能力永远安静任何地方都不再出现。缺少 doctrine 相关能力时产出的结果会被标注例如“仅同厂商审计”缺失永远不会藏在一个自信的结果里。清单防篡改Doctor.ts --verify会标记任何在 Doctor 之外的编辑。这正是 LifeOS/install/LIFEOS/DOCUMENTATION/Tools/Tools.md 中“Doctor.ts — Capability Prober Health Manifest”一节所总结的只做诊断登记不打分、不计算百分比。该节同样记录了--json机器可读输出与--verify清单完整性校验等用法。codex — 跨厂商审计能力对高影响工作提供独立的第二厂商审查。没有它审计照常运行但变成“同厂商审计”输出会被如实标注。安装bun install -g openai/codex鉴权codex login需要 OpenAI 账号验证bun configRoot/LIFEOS/TOOLS/Doctor.ts→ codex ✅不想要Doctor.ts decline codex—— 审计保持单厂商且被诚实标注。在源码层面Doctor 的 codex 探测同时检查二进制是否在 PATH 上以及~/.codex/auth.json是否存在两者缺一即报broken见 Doctor.ts。实际调用端在 LifeOS/install/LIFEOS/TOOLS/CrossVendorAudit.ts它通过codex exec只读、--ephemeral执行第二厂商评审用codex --output-schema强制 JSON 输出结构并在运行前执行codex doctor --json预检对 codex 的定位支持 PATH、$CODEX_BIN环境变量与常见安装目录如~/.bun/bin/codex、/opt/homebrew/bin/codex的多级回退。Interceptor — 真实浏览器验证能力通过真实的 Chrome 验证一切 Web 面向的内容——截图、控制台日志、真实页面加载。LifeOS 的 doctrine 认为curl返回 200不算验证Interceptor 才是“做对这件事”的工具。安装技能随 LifeOS 分发需要真实浏览器二进制——Google Chrome 或 Brave。鉴权无。验证Doctor.ts→ interceptor ✅技能存在 浏览器已找到。从源码看这个探测远比“找到浏览器”严格Doctor.ts 的 interceptor 探测会依次检查——Interceptor 技能已安装、能找到 Chrome/Brave/Chromium 二进制含 macOS 的/Applications/Nix Apps/与 Linux 的brave-browser等候选路径以及 PATH 回退、interceptor CLI/守护进程存在、且preferences.env中已钉定INTERCEPTOR_TEST_CONTEXT_ID测试配置文件上下文。技能 浏览器二进制只是必要条件而非充分条件源码注释引用了 issue #1499运行时环境不完整时报broken并精确说明缺什么而不是给一个虚假的绿灯。Cloudflare / wrangler — 定时云端流能力支撑“你睡觉时它仍在运行”的 Arbol 层与 Worker 部署。安装wrangler 通过bunx wrangler运行——无需全局安装。鉴权创建 Cloudflare API TokenWorkers 权限写入configRoot/.envCLOUDFLARE_API_TOKEN...验证Doctor.ts --network→ cloudflare ✅会执行一次真实的wrangler whoami。不想要Doctor.ts decline cloudflare。细节上Doctor 的 cloudflare 探测Doctor.ts离线阶段检查CLOUDFLARE_API_TOKEN是否存在于环境或configRoot/.envenvKey()函数专门解析配置根目录的.env这是 LifeOS 安装的标准密钥文件见 Doctor.ts同时确认wrangler或bunx可用网络阶段才真正执行bunx wrangler whoami验证 token 有效性。ElevenLabs — 语音通知能力通过 Pulse 语音服务器发出朗读式通知。安装无——它是一个 API。鉴权在configRoot/.env中写入ELEVENLABS_API_KEY... ELEVENLABS_VOICE_ID...请从 ElevenLabs 库中选择premade预制或 cloned克隆声音——API 不允许使用“名人声音”会以famous_voice_not_permitted报错。使用仅含 TTS 权限的受限 API Key 完全可行。验证Doctor.ts --network→ voice ✅会在通知实际使用的同一条路径上执行一次真实的 2 字符合成。不想要Doctor.ts decline voice—— 通知保持仅在屏幕上显示。这是整张清单里探测设计最有讲究的一项。Doctor 的网络探测Doctor.ts直接 POST 到https://api.elevenlabs.io/v1/text-to-speech/{voiceId}——注释明确解释了原因仅 TTS 权限的受限 key 在元数据接口上返回 401 而 TTS 正常名人声音在 TTS 上 401 而元数据看起来正常issue #1461 bug 5所以唯一诚实的探测就是走通知真正使用的路径。探测还会区分两种典型失败famous_voice_not_permitted换一个 premade/cloned 声音与paid_plan_required免费套餐无法通过 API 使用库内声音需要升级套餐。语音的消费端在 LifeOS/install/LIFEOS/PULSE/VoiceServer/voice.ts实现细节包括三级声音设置解析调用方直传 → 按voice_id查settings.json的daidentity.voices→ 回退到main默认13 种情感预设excited、urgent、caution等叠加stability与similarity_boost基于USER/PRINCIPAL/PRONUNCIATIONS.json的发音规则预处理以及跨平台播放器解析macOS 用afplayLinux 依次尝试ffplay/mpg123/paplay/aplay源码注释记录了一次 afplay 挂起 9 小时阻塞队列的 incident因此加了 90 秒看门狗。gh — 工作系统的系统记录唯一非可选项能力工作捕获、工作与承诺清扫work and commitment sweeps、TASKLIST.md再生成以及 Pulse 的 Work 标签页。Work System 将系统记录保存在私有 GitHub 仓库中所有读取端都经由gh。安装brew install ghLinux 见官方 cli.github.com 安装指引鉴权gh auth login验证Doctor.ts→ gh ✅注意使用它的工具以无 fallback方式直接 spawngh因此没有它工作捕获会失败而非降级——这是本页唯一打破“一切皆可降级”承诺的条目也是最值得第一个安装的。源码印证这一点Doctor 的 gh 探测注释写明WorkSweep/CommitmentSweep/Pulse spawn gh with no fallbackDoctor.ts在 LifeOS/install/LIFEOS/TOOLS/WorkSweep.ts 中可以看到Bun.spawn([gh, issue, create, ...])、[gh, label, list, ...]、[gh, issue, edit, ...]等直接调用且文件头注释明确“Always exits 0. gh failures log but never propagate”——失败被记录但不会向上传播这让 Doctor 的静态探测成为发现问题的主要途径。ripgrep — 快速文件系统搜索能力ContextSearch 查询、工作清扫、模型漂移扫描。LifeOS 把文件系统当作自己的索引而不是向量存储因此内置工具直接 shell out 到rg。安装brew install ripgrepLinuxsudo apt-get install ripgrep鉴权无。验证Doctor.ts→ ripgrep ✅注意内置Grep工具本身已经是 ripgrep 驱动、无论如何都可用此项针对的是那些自行 spawnrg的工具。ImageMagick — 图像检查能力Interceptor 的空白帧保护blank-frame guard、它的精确缩放skills/Interceptor/Tools/Zoom.ts以及 Art 的合成步骤。安装brew install imagemagickLinuxsudo apt-get install imagemagick鉴权无。验证Doctor.ts→ imagemagick ✅注意没有它时Capture.sh仍会返回截图但会打印BLANK-FRAME GUARD SKIPPED——截图未经过黑屏/空白帧检查因此不要在没有亲眼查看的情况下把它当作像素级验证的证据。ffmpeg — 音视频处理能力AudioEditor 的剪辑管线、长录音的转写分段、Conveyor 渲染以及缺少 ImageMagick 时 Interceptor 的缩放回退。安装brew install ffmpegLinuxsudo apt-get install ffmpeg鉴权无。验证Doctor.ts→ ffmpeg ✅yt-dlp — YouTube 摄取能力Feed 系统的 YouTube 源与 Upgrade 技能的频道扫描。安装brew install yt-dlpLinuxsudo apt-get install yt-dlp鉴权无。验证Doctor.ts→ ytdlp ✅fabric — 提示词模式库能力Fabric 技能的模式库及其 YouTube 转写抓取。安装见 fabric 项目自身的安装说明。鉴权按 fabric 自身的配置。验证Doctor.ts→ fabric ✅jq — Shell Hook 中的 JSON 解析能力解析 JSON 的 shell hooks包括命令压缩重写。安装brew install jqLinuxsudo apt-get install jq鉴权无。验证Doctor.ts→ jq ✅注意需要它的 hooks 会先检查再静默跳过——缺失只损失该功能本身绝不会拖垮整个工具调用。更小的可选工具以下工具范围更窄——绑定单一终端、单一平台或单个 opt-in 工作流因此 Doctor 不检查它们。缺失时各自干净跳过。工具能力安装rtkBash pre-tool hook 上的透明命令压缩——压缩的是模型观察的内容git status、测试与构建输出从不压缩它读取的内容。缺失时静默跳过同时需要jq。brew install rtk或取 release 二进制。不要运行rtk init -g那会在 LifeOS 的ContextReduction.hook.sh旁边安装 rtk 自己的全局 hook导致同一条命令被两个重写器处理。rtk 还会在本地保留一份被代理命令的history.db遥测为 opt-in——rtk telemetry disable可显式关闭。kitten终端标签命名与复古横幅仅限 kitty 终端。随 kitty 附带cmuxCMUX agent cockpit 技能。仅 macOS。见 cmux 项目mkcertPulse 初始化期间的本地 HTTPS 证书。没有它 Pulse 以 HTTP 运行。brew install mkcertgwsPulse 任务输出邮件与 Conveyor YouTube OAuth 客户端。见 gws 项目降级机制是如何工作的为什么你可以信任它上述“诚实降级”不是口头承诺而是 Doctor.ts 中可验证的实现契约清单是缓存不是事实。capabilities.json带 TTL每项能力有独立的ttlHours如 codex/interceptor/gh 为 7 天cloudflare/voice 为 24 小时运行时会重新廉价检查。Doctor.ts --statusline会在清单被篡改时输出⚠ doctor: manifest tampered并在有新增回归时输出一个提醒 glyph已通过ack确认的破损集合不重复提醒。无分数、无百分比、无排名。输出是纯诊断登记表每行✅/❌/⏸/◌附带 powers该能力支撑什么与 detail一句话诊断broken附带fix:修复命令。拒绝是头等公民。decline cap会把该能力的状态永久写为declinedTTL 设为一年见 Doctor.ts此后探测循环直接跳过它if (prev?.state declined) continue;真正实现“永远安静”。运行时在点使用处重新验证。清单只是预警doctrine 关键的门禁在使用当下重查不让过期的缓存变成错误的绿灯。额外的核心接线检查。除外部工具外Doctor 还探测identity-placeholders身份占位符是否在模型面向的表面上被全部渲染防止安装时跳过替代步骤后系统用裸 token 称呼主人、shadow-home历史版本$HOME字面量插值造成的孤儿记忆树--reclaim可合并回收、hook-interpreterssettings.json中每个注册 hook 的解释器能否解析--hooks输出逐 hook 明细。这几项展示了 Doctor 超越“外部工具检查”的定位——它同时守护安装完整性与系统接线健康。与 Pulse 仪表盘的联动Doctor 的输出不只是终端表格。Pulse 的 doctor 模块LifeOS/install/LIFEOS/PULSE/modules/doctor.ts通过GET /api/doctor提供只读的“System Health”面它自身不持有任何事实只读取能力清单与心跳文件并透传给前端渲染。过期的 live 条目会被标记stale超过 7 天未运行的检查器heartbeat 过期会以红色条件被响亮地呈现SEVEN_DAYS_MS常量与stale7d逻辑。这意味着终端里的 Doctor 表格与 Pulse 仪表盘看到的永远是同一份数据源不会出现两套真相。实操完整接入流程结合 LifeOS/INSTALL.md 的 8.5 节一套完整的接入流程是核心安装落地后运行bun configRoot/LIFEOS/TOOLS/Doctor.ts获得每项能力的 live/broken/declined 全表。对每个broken项逐一向使用者确认现在配置、以后再说、还是永不decline。现在→ 执行表中给出的修复命令重跑 Doctor在授权下可加--network做端到端鉴权验证网络探测只触碰已配置的能力。以后→ 保持现状运行时会在降级能力被实际调用那一刻再次浮出并附修复命令。永不→bun configRoot/LIFEOS/TOOLS/Doctor.ts decline name获得干净、永久、静默的关闭。任何时刻觉得不对重跑 Doctor——它同时也是lifeos doctor路由背后的同一个命令见 LifeOS/SKILL.md 的 Workflow Routing 表doctor是唯一由工具支撑的路由因为Doctor.ts是自描述的。这套机制的最终契约可以用 GETTING-STARTED.md 结尾的一句话概括这里没有一样东西给你打分没有一样东西会纠缠你也没有一样东西会假装。每一项外部能力要么真实可用、要么被明确标注、要么被你永久静默地拒绝——三种状态都透明而Doctor.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),仅供参考
返回列表