资讯动态

LifeOS Cortex 本地契约完整解析:本地记忆 CLI 的隐私边界、确定性重建与证据门控

发布时间:2026/9/20 11:59:13 来源:尧图企业网站定制
LifeOS Cortex 本地契约完整解析本地记忆 CLI 的隐私边界、确定性重建与证据门控【免费下载链接】LifeOS⛰️ LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOSLifeOS 是开源 AI Harness 项目Cortex 是它的本地记忆 CLI一个构建在既有文件型记忆系统之上的 Bun CLI以 fail-closed 隐私边界提供可验证检索与受控写入不引入向量索引、守护进程或网络服务。本文完整解析 Cortex 本地契约——读完你将掌握 5 字段响应信封与语义退出码的读法、写权限如何逐次授予、privatespan 与确定性重建如何被强制以及如何运行检索基准与运营健康门控。Cortex v1 模块定位本地 Bun CLI而非记忆运行时**先给结论Cortex v1 不新增常驻进程、不新增索引、不新增网络面。**它不是 MCP 服务器不是 HTTP 服务不是第二个记忆运行时不引入 Chroma、CMEM、外部遥测不提供跨设备同步。实现入口是 Cortex.ts仅在被调用时启动写完全信封后退出。随系统发布的进程内适配器工厂是 CortexAdapter.ts。createCortexAdapter()识别claude、hermes、codex、subagent四种身份返回Object.freeze冻结的对象status/search/timeline/get/export全为只读remember/propose虽暴露在接口上但每次调用仍保持只读除非该次调用显式传入{allowWrite:true}。写权限是逐次授予身份只负责标识。源码writePermission()仅在选项对象恰好含allowWrite一个键且值为布尔true时放行向底层命令追加--allow-write选项对象出现任何其他键权限判定返回null整次调用按invalid_input拒绝。调用形式与规范根解析优先级所有命令的调用形式固定bun LIFEOS/TOOLS/Cortex.ts command [arguments] [options]规范根canonical root按四级优先级解析在 Cortex.ts 第 283 行可直接验证测试/运行时注入的memoryRoot--memory-root命令行选项环境变量CORTEX_MEMORY_ROOT默认值~/.claude/LIFEOS/MEMORY。响应信封与退出码怎么读5 字段信封与内建自校验每条命令向 stdout 恰好写一个 JSON 对象{schema:lifeos-cortex/v1,ok:true,command:status,data:{},error:null}失败时保持相同五个顶层字段ok:false、data:nullerror承载{code, message}额外顶层字段被禁止。发布版 schema 为LIFEOS/TOOLS/schemas/lifeos-cortex-v1.schema.jsonsuccess 与 failure 两形态均声明additionalProperties:false以oneOf互斥。源码层面validateCortexEnvelope()第 22–38 行校验字段集合恰好为command/data/error/ok/schema、schema常量、ok与error/data的一致性且ok(...)/fail(...)构造结果后都先过一遍该校验器——信封自校验内建于库不依赖调用方。语义化退出码退出码含义典型错误码0成功—1未预期的内部失败internal_error3显式 ID 或扩展根未找到not_found4非法命令、选项、payload、过滤器、边界值或规范完整性问题invalid_input、integrity_error5缺少写授权或既有治理拒绝变更write_refused、governance_refused调用方必须同时使用进程退出码和信封能解析出 JSON 不等于成功。这对应源码EXIT常量第 9 行与main()中写 stdout process.exit(result.exitCode)的双重约定。八个子命令怎么调严格选项、卡片与渐进披露parseArguments()第 215–230 行实现严格选项表每个命令有固定ALLOWED选项集合未知选项、重复选项、缺值、命令不适用某选项一律被拒绝而非被忽略进入退出码 4 的invalid_input。所有命令接受--memory-root dir与--adapter claude|hermes|codex|subagent。命令契约要点status只读、无位置参数报告规范根、记录数、mode:local-read-only、indexes:[]只报形状不测健康search本地 BM25只返回卡片从不返回正文timeline--anchor接受活跃记录 ID 或合法日期按created排序、同刻按 IDget/export只返回显式选中活跃 ID 的完整净化记录all-or-nothingexport不创建文件仅打印lifeos-cortex-export/v1到 stdoutrebuild必须带--from-canonicalSHA-256 对比构成只读可重建证明不创建任何索引remember/propose唯一的变更命令双重绑定授权见下search基于本地 BM25词元按[a-z0-9]切分。rankBM25()第 236–248 行参数化完整idf 取log(1 (n-df0.5)/(df0.5))tf 饱和系数 2.5长度归一化b 0.25 0.75·len/avgdl同分按 ID 字典序稳定排序。--type/--source/--session为精确匹配--from/--to对created做闭区间过滤--recency必须是有限非负数对updated加权但不替代词法相关性源码体现为score recency·Date.parse(updated)/1e13。可选图扩展从显式--expandID 出发沿规范relatedID 做广度优先遍历默认预算 10 节点 / 2,000 估算 token上限 100 节点 / 50,000 token——它不构建也不查询任何持久化图数据库。timeline的before/after默认各 5可为 0上限 100ID 锚点在中心记录仍落在所选过滤器内时包含中心记录本身。get/export单次最多 100 个 ID任一缺失、过期或尚未生效整条命令以退出码 3 失败。remember与propose的授权是双重绑定。其一身份与授权分离必须同时给出受识别的显式--adapter和--allow-write只命名适配器本身不授予任何写权限。其二命令与条目判别器绑定remember只接受type:memory|idea|knowledgepropose只接受type:proposal不匹配在调用MemorySystem.add()之前就被拒绝。每条命令恰好接受一个 JSON payload上限 262,144 字节把已授权条目委托给MemorySystem.add()既有的变更分层、目标钉住、提案审批、审计日志、快照、源所有权与收缩守卫保持权威地位。治理拒绝是退出码 5不存在部分成功。卡片字段、分页与硬上限search/timeline 卡片包含且仅包含id、type、created、updated、provenancesource、可空session、相对path、数值score、est_tokens。卡片不含content或任何摘录。est_tokens 净化后正文字符数除以 4 向上取整toCortexCard()第 234 行。列表响应含精确过滤后的total、从 1 开始的page、page_size与items默认第 1 页、每页 10 条页大小上限 100。各表面硬上限与源码LIMITS常量一致表面上限检索查询2,048 字符且 64 个词法词元列表页大小100Timelinebefore/after各自 0–100图扩展100 节点、50,000 估算 token显式get/exportID 数100CLI 写 payload262,144 字节类型化条目自由文本字段65,536 字符类型化元数据字符串1,024 字符提案目标路径4,096 字符热记忆集合48 条、每条 256 字符Related 链接数64类型化持久化还拒绝未知字段、非法枚举或字段类型、非有限/越界 confidence、控制字符、frontmatter/注释注入、含糊的 session 元数据、超尺寸数组以及隐私剥离后变空的必填文本。这些数字只是拒绝上限没有任何目标语义。 Fail-Closed完整性检查、隐私 span 与有效期窗口符号链接策略顶层别名允许钉住根之下全部禁止pinCanonicalRoot()对根做一次realpath解析、确认目标是目录把解析后的真实目录钉住作为信任边界并在status中报告该路径——这正是默认LIFEOS/MEMORY符号链接指向私有用户数据仓库时仍能工作的机制。但钉住根之下的任何符号链接都被禁止checkedRealpath()第 53–59 行每次遍历都做lstat判定并校验realpath不逃逸钉住的根任何越界抛IntegrityError。下列情况一律以integrity_error失败、退出码 4根之下的目录/文件符号链接、realpath 逃逸重复的记录 ID、格式错误的 JSONL不可能时间戳updated早于created、valid_from valid_until、非法日历日期非常规模块文件symlink、socket 等。语料级 fail-closed 上限CANONICAL_CORPUS_LIMITS第 12 行在读取任何内容之前检查最多 10,000 个文件、单文件 ≤ 8 MiB、总量 ≤ 128 MiB、记录数 ≤ 50,000超限同样报integrity_error。privatespan 的匹配语义public privatenever persist or export this/private publicCaptureEnvelope.ts 的stripPrivateContent()定义完整匹配语义匹配不区分大小写容忍无害空白与属性嵌套 span 用深度计数整体移除而非单条正则孤儿闭合标签作为控制标记移除保留其两侧公开文本未闭合的开头标签 fail closed从该位置起抑制字符串剩余部分归一化后形似 private 开头标签但格式不良的构造NUL/控制字符插入、全角 Unicode、丢失右尖括号一律视为不可信开头并 fail closed不做宽松 HTML 恢复。该边界应用于 reviewer 推断之前、reviewer 调试/错误序列化之前、类型化条目路由、规范词法排序、图扩展、get、export 与 rebuild 之前。规范读再次执行隐私净化防止旧的已标记内容绕过当前边界。类型化条目净化是递归的覆盖 content 及承载持久化语义的元数据标题、名称、rationale、session provenance、entries、related slugs剥离后变空的必填字段被拒绝。源中立的摄取助手是ingestCaptureEnvelope(input, consumer)先调createCaptureEnvelope()剥离私有内容只把净化后的 envelope 交给给定 consumer。必须同时承认边界外的事实原生 harness 转录可能在 harness 文档所述的 30 天保留期内保留private内容这超出 Cortex 的控制范围。Cortex 不触碰转录字节私有标签是持久化与处理边界不是对 harness 转录、终端滚动回显、上游提供方日志或标签到达前已发送内容的清洗承诺。有效期窗口valid_from含边界、valid_until不含边界缺失边界视为开放非法边界 fail closedisEnvelopeValidAt()Date.parse产生 NaN 即返回 false。search、timeline、get、export 默认排除查询时刻不生效的记录。--from/--to是另一维度它们约束created不覆盖、也不替代有效期判定。 证据链规范源、检索基准与运营健康规范源地位与 no-index-v1 标记Markdown 与 JSONL 保持规范地位派生索引可丢弃禁止成为事实源。默认检索语料是既有KNOWLEDGE/树排除下划线与点号前缀路径根级*_MEMORY.md一并纳入MEMORY/KNOWLEDGE/布局用于隔离测试canonicalFiles()按KNOWLEDGE→MEMORY/KNOWLEDGE→ 根本身三级回退。缺失 Markdown ID 的记录获得稳定路径派生 IDpath: 路径 SHA-256 前 16 位provenance 使用相对规范根的路径更换绝对根别名不改变记录摘要。系统发布的 CORTEX_INDEX_POLICY.json 是肯定性lifeos-cortex-index-policy/v1标记内容policy:no-index-v1。各状态语义索引证据状态结果标记在、清单缺健康的no-index-v1BM25 直读规范文件status报indexes:[]rebuild不创建任何东西不为证明未采用索引而遍历或哈希整个语料标记与清单双缺状态歧义健康检查仅告警index-evidence-missing标记格式错误critical合法已采用索引清单存在优先于 no-index 标记实际字节与哈希逐字节验证非法清单、路径违规、字节缺失、哈希不匹配均为 critical检索基准25 次重复与两条披露路径带标签查询集是LIFEOS/MEMORY/BENCHMARKS/cortex-retrieval-v1.jsonl。标签文件存放在私有 MEMORY 树中由操作者在自己的语料上、首次基准运行之前自行编写不随系统发布。每行必须携带lifeos-cortex-benchmark-label-provenance/v1溯源证明期望 ID 来自真实live-cortex-cli执行与人工语料核验。bun LIFEOS/TOOLS/CortexBenchmark.ts \ --labels LIFEOS/MEMORY/BENCHMARKS/cortex-retrieval-v1.jsonl \ --memory-root LIFEOS/MEMORY \ --output LIFEOS/MEMORY/BENCHMARKS/cortex-benchmark-v1-YYYYMMDD.json基准工具CortexBenchmark.ts导入生产代码——activeCortexRecords、rankBM25、toCortexCard与规范摘要函数——而非携带基准专用排序器。每条带标签查询运行 25 次每个查询/样本只做一次生产排序同一排序结果在两种披露测量间共享bm25-baseline序列化完整 top-5 记录progressive序列化 top-5 卡片、仅抓取被选中的第一条完整记录。排序质量因此被刻意保持完全相同被比较的是披露与注入成本。每个配置报告Recall5、MRR、时序成对排序准确率、假阳性召回、注入 token、p95 延迟、延迟样本数、语料盘上字节数、实测磁盘增长、后代进程数、峰值 RSS、执行路径名。报告 schema 为lifeos-cortex-benchmark/v1stdout 始终收到报告持久化输出经--output显式开启必须位于解析后的MEMORY/BENCHMARKS/之下、使用版本化文件名cortex-benchmark-vN-*.json且不覆盖已存在的报告。报告是操作者针对自己语料与标签的、可复现的时点本地测量。向量索引的采用门槛当前vector_config为null没有向量基准候选也没有向量索引。采纳向量或混合索引的前提是带标签报告证明了相对渐进式 BM25 的检索质量提升且索引可规范重建、保持在单独文档化的磁盘与进程边界内仅仅降低 token 用量不构成采纳证据。运营健康缺失的证据永远不产生绿灯Cortex.ts status报告契约可用性与语料形状运营健康由独立工具产出bun LIFEOS/TOOLS/MemoryHealthCheck.ts --json机器可读报告含overall、实测证据、生效阈值、findings以及按 ok/warn/critical 派生的健康退出码 0/1/2。核心原则**缺失的证据永远不产生绿灯。**默认阈值CortexHealth.ts的DEFAULT_CORTEX_THRESHOLDS证据默认阈值越界结果Reviewer 成功新鲜度7 天陈旧时 WARN进行中 reviewer 终行宽限10 分钟CRITICAL 超时检索证据新鲜度24 小时缺失/陈旧时 WARN待审提案积压大于 10WARN可观测性字节数大于 256 MiBWARN最老可观测性日志年龄大于 30 天WARN已采用索引新鲜度大于 7 天WARN判定规则最新 reviewer 证据优先于历史成功最新一次运行失败、解析失败、超时、格式错误、schema 不完整或无效均为 CRITICAL新运行目录在 10 分钟宽限后仍无终行即判超时格式错误的 JSONL 被暴露而不是静默跳回上一次成功非法或未来时间戳不能证明新鲜度提案证据只统计状态恰为pending的行可观测性证据递归测量MEMORY/OBSERVABILITY/下全部.jsonl与.log文件。阈值覆盖只接受有限正数值非法值产生 critical 的cortex-threshold-invalidfinding而不是让比较失效。运营覆盖变量CORTEX_RETRIEVAL_STALE_MS、CORTEX_PROPOSAL_BACKLOG、CORTEX_OBSERVABILITY_MAX_BYTES、CORTEX_OBSERVABILITY_MAX_AGE_MS。测试/自动化路径变量CORTEX_HEALTH_ROOT、CORTEX_HEALTH_NOW、CORTEX_INDEX_MANIFEST、CORTEX_HEALTH_NO_WRITE、CORTEX_HEALTH_REPORT_PATH。明确不声明与适用前提已实现的升级不提供MCP 服务器或网络 API跨设备或云端同步CMEM / CMEM Cloud / Chroma / SQLite FTS / 嵌入 / 向量索引外部 Cortex 遥测Cortex 守护进程或常驻 sidecar所有 hook/通道/采集表面的自动采纳对原生 harness 转录的清洗从搜索结果自动注入完整记录。适用前提全部描述以当前仓库LIFEOS/install/LIFEOS/TOOLS/的实现为准运行环境要求 Bun 运行时与已部署的~/.claude/LIFEOS/MEMORY或CORTEX_MEMORY_ROOT指定的规范根私有 MEMORY 树中的基准标签、检索日志与索引清单均为操作者本地资产不随开源仓库分发。【免费下载链接】LifeOS⛰️ LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价