LifeOS 如何安装 Conduit 感知采集服务并查看今日记录
2026/9/14 13:26:59 网站建设 项目流程

LifeOS 如何安装 Conduit 感知采集服务并查看今日记录

【免费下载链接】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,想让它持续记录“你的注意力实际花在了哪里”——前台应用、git 提交、Claude Code 会话——并在一天结束时看到一份确定性的当日时间记录,那么需要安装的就是 Conduit(Conduit v1.0.0,随 LifeOS 6.1.0 发布)。它是 LifeOS 的“current-state”感知层:本地、持续、按源可选地采集信号,写成只追加的原始事件日志,再在跨天时滚动成daily/<date>.{md,json}记录,供 Cortex、TELOS、WorkSweep 和 Pulse 使用。所有采集数据都落在USER/CONDUIT/下,不离开本机。

本文覆盖两件事:把 Conduit 的定时采集服务装起来,以及用 CLI 查看今天的记录。前提是 LifeOS 已经完成安装(核心步骤见 INSTALL.md),并安装了 bun——安装工具本身是 TypeScript,由 bun 运行。

安装采集服务

Conduit 的定时任务是无状态的一次性轮询:macOS 上由 launchd 的com.lifeos.conduit每 120 秒(默认pollIntervalSec)拉起一次conduit capture,Linux 上由systemd --user接管同一逻辑(InstallConduit.ts 按平台分发,安装时不会两个调度器并存)。

安装命令(在终端执行,~/.claude是默认配置根;若你的 harness 用了CLAUDE_CONFIG_DIR,请换成DetectEnv.ts报告的实际 config root):

bun ~/.claude/LIFEOS/PULSE/Conduit/InstallConduit.ts

注意副作用:该命令会写入~/Library/LaunchAgents/com.lifeos.conduit.plist(Linux 上是对应的 systemd unit),并调用launchctl加载它,这是需要本地用户权限的操作。执行成功的输出形如(文档示例):

Installed com.lifeos.conduit → polls every 120s plist: /Users/<you>/Library/LaunchAgents/com.lifeos.conduit.plist logs: ~/.claude/LIFEOS/USER/CONDUIT/logs

安装器还会把 stdout/stderr 写到USER/CONDUIT/logs/conduit.{out,err}.log,后续排查时可以直接看这两个文件。

验证服务已加载:

bun ~/.claude/LIFEOS/PULSE/Conduit/InstallConduit.ts --status

输出会显示loaded: …com.lifeos.conduit…(来自launchctl list的一行)或com.lifeos.conduit not loaded

替代路径:LifeOS 用 Services.ts 统一管理所有后台服务(见 BackgroundServices.md)。Conduit 在注册表中属于capture类、非 opt-in 的核心服务,其 Install 列就是上面这条InstallConduit.ts命令。你可以用bun ~/.claude/LIFEOS/TOOLS/Services.ts status(只读,随时可跑)查看三个桶——running / installed, not running / available, not installed——来确认 Conduit 落在哪一档。

确认采集在产生数据

装完后服务每 2 分钟自动跑一次capture。手动查看当前配置与今日事件数:

bun ~/.claude/LIFEOS/PULSE/Conduit/conduit.ts status

文档示例输出(数值会随你的机器变化):

Conduit v1.0.0 enabled: true poll: 120s sources: appFocus, git, claudeSession repos: 0 data root: ~/.claude/LIFEOS/USER/CONDUIT events today: 43

events today大于 0 说明至少有一个源在出事件。原始事件按天存放在USER/CONDUIT/events/<date>.jsonl(每条只含 span 与元数据,不含按键内容或窗口标题)。

配置在USER/CONDUIT/config.json,首次读取时自动写出默认值(也可用conduit.ts init显式初始化)。可调整的关键项(来自 config.ts):

  • enabled:总开关,falsecapture直接空转,是最快的“kill switch”;
  • pollIntervalSec:轮询间隔,默认 120,最小被钳到 15;改完需要重新跑一次InstallConduit.ts让 plist 的StartInterval跟上;
  • sources:按源 opt-in——appFocusgitclaudeSession默认开,github默认关,需显式设为true
  • repos:被监视新提交的仓库绝对路径列表,默认空;
  • retentionDays:原始事件日志保留天数,默认 30,超过后在 rollup 时清理,daily 记录保留。

查看今日记录

“今日记录”有两个入口,一个是看实时计算结果,一个是落盘的历史记录:

# 打印今天的实时分布(内存计算,不落盘) bun ~/.claude/LIFEOS/PULSE/Conduit/conduit.ts today # 构建并持久化今日记录(默认今天;也可传日期,如 conduit.ts rollup 2026-09-10) bun ~/.claude/LIFEOS/PULSE/Conduit/conduit.ts rollup

today的输出就是一段 markdown,字段来自 rollup.ts 的确定性聚合:Tracked time、Creation / Consumption / Neutral 三类时长、Creation ratio、Commits、LifeOS sessions,以及一张“App / Kind / Time”表。rollup会把同样的记录原子写入USER/CONDUIT/daily/<date>.md<date>.json,并打印Rolled up <date> → <path>

即使不手动执行,capture也会“懒滚动”:每次轮询都会检查是否有已过期但还没有 daily 记录的日期(例如笔记本休眠过周末),逐个补建记录再清理过期原始日志,多天缺口不会丢天。

如果装了 Pulse(Life Dashboard,http://localhost:31337),还可以直接走 JSON API 查看(只读,见 Pulse modules/conduit.ts):

  • GET /api/conduit/today— 今天的实时确定性记录;
  • GET /api/conduit/recent?days=N— 最近 N 天的已落盘记录;
  • GET /api/conduit/status— 模块健康,含今日事件数。

可选:每小时内容类型解读

Conduit 的确定性部分不依赖任何模型;唯一用模型的环节是“今天流进来的是什么类型的内容”这一小时级解读(ConduitSystem.md)。安装它是独立的一步:

bun ~/.claude/LIFEOS/PULSE/Conduit/InstallConduitInsight.ts

它注册com.lifeos.conduit.insight,每小时读取当日事件、构建只含元数据的有界摘要,调用Inference.ts --level low(按文档说明为订阅计费),把narrative+ 加权contentTypes[]写入USER/CONDUIT/insights/<date>.json。它幂等:空闲时段由since水位跳过调用,失败的解读不会覆盖好结果。如果你只想要确定性的时间记录,可以完全跳过这一步。

边界与排查

  • 浏览器时间看不到:v1 没有浏览器适配器。整天在浏览器里工作会读成近乎空白——文档明确这是“诚实的不完整”:能读的源(编辑器、git 仓库)显示为真实时间,读不到的源直接缺席,而不是报“你什么都没做”。
  • appFocus依赖 macOS 的osascript:在其他平台上它不产出焦点时间,当日没有 focus 时间时,记录会改由 claude-session 事件间隔推导时长,并在记录中以 “Claude Code (derived from session cadence)” 标签标明,不冒充实测焦点时间。
  • 记录为空时先查状态:依次用conduit.ts statusenabled是否为trueevents today是否增长;用InstallConduit.ts --status确认服务确实 loaded;再看USER/CONDUIT/logs/conduit.err.log
  • 隐私与退出:关闭某个源改config.jsonsources;整体关闭用enabled: false;彻底移除用:
bun ~/.claude/LIFEOS/PULSE/Conduit/InstallConduit.ts --uninstall

该命令会卸载 launchd 任务并删除对应 plist(不删除USER/CONDUIT/下已采集的数据)。

装好后的下一件事:让 Conduit 跑上一天,第二天早上看today的输出是否与你的实际工作分布对得上——这正是 Conduit 的设计合同:把一天的注意力原样还给你,判断由你做。

更多背景(事件 schema、与 TELOS 的 join、路线图)见 ConduitSystem.md。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询