門控)
LifeOS Cortex 本地契約完整解析本地記憶 CLI 的隱私邊界、確定性重建與證據(jù)門控【免費(fèi)下載鏈接】LifeOS?? LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/pe/LifeOSLifeOS 是開源 AI Harness 項(xiàng)目Cortex 是它的本地記憶 CLI一個(gè)構(gòu)建在既有文件型記憶系統(tǒng)之上的 Bun CLI以 fail-closed 隱私邊界提供可驗(yàn)證檢索與受控寫入不引入向量索引、守護(hù)進(jìn)程或網(wǎng)絡(luò)服務(wù)。本文完整解析 Cortex 本地契約——讀完你將掌握 5 字段響應(yīng)信封與語(yǔ)義退出碼的讀法、寫權(quán)限如何逐次授予、privatespan 與確定性重建如何被強(qiáng)制以及如何運(yùn)行檢索基準(zhǔn)與運(yùn)營(yíng)健康門控。Cortex v1 模塊定位本地 Bun CLI而非記憶運(yùn)行時(shí)**先給結(jié)論Cortex v1 不新增常駐進(jìn)程、不新增索引、不新增網(wǎng)絡(luò)面。**它不是 MCP 服務(wù)器不是 HTTP 服務(wù)不是第二個(gè)記憶運(yùn)行時(shí)不引入 Chroma、CMEM、外部遙測(cè)不提供跨設(shè)備同步。實(shí)現(xiàn)入口是 Cortex.ts僅在被調(diào)用時(shí)啟動(dòng)寫完全信封后退出。隨系統(tǒng)發(fā)布的進(jìn)程內(nèi)適配器工廠是 CortexAdapter.ts。createCortexAdapter()識(shí)別claude、hermes、codex、subagent四種身份返回Object.freeze凍結(jié)的對(duì)象status/search/timeline/get/export全為只讀remember/propose雖暴露在接口上但每次調(diào)用仍保持只讀除非該次調(diào)用顯式傳入{allowWrite:true}。寫權(quán)限是逐次授予身份只負(fù)責(zé)標(biāo)識(shí)。源碼writePermission()僅在選項(xiàng)對(duì)象恰好含allowWrite一個(gè)鍵且值為布爾true時(shí)放行向底層命令追加--allow-write選項(xiàng)對(duì)象出現(xiàn)任何其他鍵權(quán)限判定返回null整次調(diào)用按invalid_input拒絕。調(diào)用形式與規(guī)范根解析優(yōu)先級(jí)所有命令的調(diào)用形式固定bun LIFEOS/TOOLS/Cortex.ts command [arguments] [options]規(guī)范根canonical root按四級(jí)優(yōu)先級(jí)解析在 Cortex.ts 第 283 行可直接驗(yàn)證測(cè)試/運(yùn)行時(shí)注入的memoryRoot--memory-root命令行選項(xiàng)環(huán)境變量CORTEX_MEMORY_ROOT默認(rèn)值~/.claude/LIFEOS/MEMORY。響應(yīng)信封與退出碼怎么讀5 字段信封與內(nèi)建自校驗(yàn)每條命令向 stdout 恰好寫一個(gè) JSON 對(duì)象{schema:lifeos-cortex/v1,ok:true,command:status,data:{},error:null}失敗時(shí)保持相同五個(gè)頂層字段ok:false、data:nullerror承載{code, message}額外頂層字段被禁止。發(fā)布版 schema 為L(zhǎng)IFEOS/TOOLS/schemas/lifeos-cortex-v1.schema.jsonsuccess 與 failure 兩形態(tài)均聲明additionalProperties:false以oneOf互斥。源碼層面validateCortexEnvelope()第 22–38 行校驗(yàn)字段集合恰好為command/data/error/ok/schema、schema常量、ok與error/data的一致性且ok(...)/fail(...)構(gòu)造結(jié)果后都先過一遍該校驗(yàn)器——信封自校驗(yàn)內(nèi)建于庫(kù)不依賴調(diào)用方。語(yǔ)義化退出碼退出碼含義典型錯(cuò)誤碼0成功—1未預(yù)期的內(nèi)部失敗internal_error3顯式 ID 或擴(kuò)展根未找到not_found4非法命令、選項(xiàng)、payload、過濾器、邊界值或規(guī)范完整性問題invalid_input、integrity_error5缺少寫授權(quán)或既有治理拒絕變更write_refused、governance_refused調(diào)用方必須同時(shí)使用進(jìn)程退出碼和信封能解析出 JSON 不等于成功。這對(duì)應(yīng)源碼EXIT常量第 9 行與main()中寫 stdout process.exit(result.exitCode)的雙重約定。八個(gè)子命令怎么調(diào)嚴(yán)格選項(xiàng)、卡片與漸進(jìn)披露parseArguments()第 215–230 行實(shí)現(xiàn)嚴(yán)格選項(xiàng)表每個(gè)命令有固定ALLOWED選項(xiàng)集合未知選項(xiàng)、重復(fù)選項(xiàng)、缺值、命令不適用某選項(xiàng)一律被拒絕而非被忽略進(jìn)入退出碼 4 的invalid_input。所有命令接受--memory-root dir與--adapter claude|hermes|codex|subagent。命令契約要點(diǎn)status只讀、無位置參數(shù)報(bào)告規(guī)范根、記錄數(shù)、mode:local-read-only、indexes:[]只報(bào)形狀不測(cè)健康search本地 BM25只返回卡片從不返回正文timeline--anchor接受活躍記錄 ID 或合法日期按created排序、同刻按 IDget/export只返回顯式選中活躍 ID 的完整凈化記錄all-or-nothingexport不創(chuàng)建文件僅打印lifeos-cortex-export/v1到 stdoutrebuild必須帶--from-canonicalSHA-256 對(duì)比構(gòu)成只讀可重建證明不創(chuàng)建任何索引remember/propose唯一的變更命令雙重綁定授權(quán)見下search基于本地 BM25詞元按[a-z0-9]切分。rankBM25()第 236–248 行參數(shù)化完整idf 取log(1 (n-df0.5)/(df0.5))tf 飽和系數(shù) 2.5長(zhǎng)度歸一化b 0.25 0.75·len/avgdl同分按 ID 字典序穩(wěn)定排序。--type/--source/--session為精確匹配--from/--to對(duì)created做閉區(qū)間過濾--recency必須是有限非負(fù)數(shù)對(duì)updated加權(quán)但不替代詞法相關(guān)性源碼體現(xiàn)為score recency·Date.parse(updated)/1e13。可選圖擴(kuò)展從顯式--expandID 出發(fā)沿規(guī)范relatedID 做廣度優(yōu)先遍歷默認(rèn)預(yù)算 10 節(jié)點(diǎn) / 2,000 估算 token上限 100 節(jié)點(diǎn) / 50,000 token——它不構(gòu)建也不查詢?nèi)魏纬志没瘓D數(shù)據(jù)庫(kù)。timeline的before/after默認(rèn)各 5可為 0上限 100ID 錨點(diǎn)在中心記錄仍落在所選過濾器內(nèi)時(shí)包含中心記錄本身。get/export單次最多 100 個(gè) ID任一缺失、過期或尚未生效整條命令以退出碼 3 失敗。remember與propose的授權(quán)是雙重綁定。其一身份與授權(quán)分離必須同時(shí)給出受識(shí)別的顯式--adapter和--allow-write只命名適配器本身不授予任何寫權(quán)限。其二命令與條目判別器綁定remember只接受type:memory|idea|knowledgepropose只接受type:proposal不匹配在調(diào)用MemorySystem.add()之前就被拒絕。每條命令恰好接受一個(gè) JSON payload上限 262,144 字節(jié)把已授權(quán)條目委托給MemorySystem.add()既有的變更分層、目標(biāo)釘住、提案審批、審計(jì)日志、快照、源所有權(quán)與收縮守衛(wèi)保持權(quán)威地位。治理拒絕是退出碼 5不存在部分成功。卡片字段、分頁(yè)與硬上限search/timeline 卡片包含且僅包含id、type、created、updated、provenancesource、可空session、相對(duì)path、數(shù)值score、est_tokens??ㄆ缓琧ontent或任何摘錄。est_tokens 凈化后正文字符數(shù)除以 4 向上取整toCortexCard()第 234 行。列表響應(yīng)含精確過濾后的total、從 1 開始的page、page_size與items默認(rèn)第 1 頁(yè)、每頁(yè) 10 條頁(yè)大小上限 100。各表面硬上限與源碼LIMITS常量一致表面上限檢索查詢2,048 字符且 64 個(gè)詞法詞元列表頁(yè)大小100Timelinebefore/after各自 0–100圖擴(kuò)展100 節(jié)點(diǎn)、50,000 估算 token顯式get/exportID 數(shù)100CLI 寫 payload262,144 字節(jié)類型化條目自由文本字段65,536 字符類型化元數(shù)據(jù)字符串1,024 字符提案目標(biāo)路徑4,096 字符熱記憶集合48 條、每條 256 字符Related 鏈接數(shù)64類型化持久化還拒絕未知字段、非法枚舉或字段類型、非有限/越界 confidence、控制字符、frontmatter/注釋注入、含糊的 session 元數(shù)據(jù)、超尺寸數(shù)組以及隱私剝離后變空的必填文本。這些數(shù)字只是拒絕上限沒有任何目標(biāo)語(yǔ)義。 Fail-Closed完整性檢查、隱私 span 與有效期窗口符號(hào)鏈接策略頂層別名允許釘住根之下全部禁止pinCanonicalRoot()對(duì)根做一次realpath解析、確認(rèn)目標(biāo)是目錄把解析后的真實(shí)目錄釘住作為信任邊界并在status中報(bào)告該路徑——這正是默認(rèn)LIFEOS/MEMORY符號(hào)鏈接指向私有用戶數(shù)據(jù)倉(cāng)庫(kù)時(shí)仍能工作的機(jī)制。但釘住根之下的任何符號(hào)鏈接都被禁止checkedRealpath()第 53–59 行每次遍歷都做lstat判定并校驗(yàn)realpath不逃逸釘住的根任何越界拋IntegrityError。下列情況一律以integrity_error失敗、退出碼 4根之下的目錄/文件符號(hào)鏈接、realpath 逃逸重復(fù)的記錄 ID、格式錯(cuò)誤的 JSONL不可能時(shí)間戳updated早于created、valid_from valid_until、非法日歷日期非常規(guī)模塊文件symlink、socket 等。語(yǔ)料級(jí) fail-closed 上限CANONICAL_CORPUS_LIMITS第 12 行在讀取任何內(nèi)容之前檢查最多 10,000 個(gè)文件、單文件 ≤ 8 MiB、總量 ≤ 128 MiB、記錄數(shù) ≤ 50,000超限同樣報(bào)integrity_error。privatespan 的匹配語(yǔ)義public privatenever persist or export this/private publicCaptureEnvelope.ts 的stripPrivateContent()定義完整匹配語(yǔ)義匹配不區(qū)分大小寫容忍無害空白與屬性嵌套 span 用深度計(jì)數(shù)整體移除而非單條正則孤兒閉合標(biāo)簽作為控制標(biāo)記移除保留其兩側(cè)公開文本未閉合的開頭標(biāo)簽 fail closed從該位置起抑制字符串剩余部分歸一化后形似 private 開頭標(biāo)簽但格式不良的構(gòu)造NUL/控制字符插入、全角 Unicode、丟失右尖括號(hào)一律視為不可信開頭并 fail closed不做寬松 HTML 恢復(fù)。該邊界應(yīng)用于 reviewer 推斷之前、reviewer 調(diào)試/錯(cuò)誤序列化之前、類型化條目路由、規(guī)范詞法排序、圖擴(kuò)展、get、export 與 rebuild 之前。規(guī)范讀再次執(zhí)行隱私凈化防止舊的已標(biāo)記內(nèi)容繞過當(dāng)前邊界。類型化條目?jī)艋沁f歸的覆蓋 content 及承載持久化語(yǔ)義的元數(shù)據(jù)標(biāo)題、名稱、rationale、session provenance、entries、related slugs剝離后變空的必填字段被拒絕。源中立的攝取助手是ingestCaptureEnvelope(input, consumer)先調(diào)createCaptureEnvelope()剝離私有內(nèi)容只把凈化后的 envelope 交給給定 consumer。必須同時(shí)承認(rèn)邊界外的事實(shí)原生 harness 轉(zhuǎn)錄可能在 harness 文檔所述的 30 天保留期內(nèi)保留private內(nèi)容這超出 Cortex 的控制范圍。Cortex 不觸碰轉(zhuǎn)錄字節(jié)私有標(biāo)簽是持久化與處理邊界不是對(duì) harness 轉(zhuǎn)錄、終端滾動(dòng)回顯、上游提供方日志或標(biāo)簽到達(dá)前已發(fā)送內(nèi)容的清洗承諾。有效期窗口valid_from含邊界、valid_until不含邊界缺失邊界視為開放非法邊界 fail closedisEnvelopeValidAt()Date.parse產(chǎn)生 NaN 即返回 false。search、timeline、get、export 默認(rèn)排除查詢時(shí)刻不生效的記錄。--from/--to是另一維度它們約束created不覆蓋、也不替代有效期判定。 證據(jù)鏈規(guī)范源、檢索基準(zhǔn)與運(yùn)營(yíng)健康規(guī)范源地位與 no-index-v1 標(biāo)記Markdown 與 JSONL 保持規(guī)范地位派生索引可丟棄禁止成為事實(shí)源。默認(rèn)檢索語(yǔ)料是既有KNOWLEDGE/樹排除下劃線與點(diǎn)號(hào)前綴路徑根級(jí)*_MEMORY.md一并納入MEMORY/KNOWLEDGE/布局用于隔離測(cè)試canonicalFiles()按KNOWLEDGE→MEMORY/KNOWLEDGE→ 根本身三級(jí)回退。缺失 Markdown ID 的記錄獲得穩(wěn)定路徑派生 IDpath: 路徑 SHA-256 前 16 位provenance 使用相對(duì)規(guī)范根的路徑更換絕對(duì)根別名不改變記錄摘要。系統(tǒng)發(fā)布的 CORTEX_INDEX_POLICY.json 是肯定性lifeos-cortex-index-policy/v1標(biāo)記內(nèi)容policy:no-index-v1。各狀態(tài)語(yǔ)義索引證據(jù)狀態(tài)結(jié)果標(biāo)記在、清單缺健康的no-index-v1BM25 直讀規(guī)范文件status報(bào)indexes:[]rebuild不創(chuàng)建任何東西不為證明未采用索引而遍歷或哈希整個(gè)語(yǔ)料標(biāo)記與清單雙缺狀態(tài)歧義健康檢查僅告警index-evidence-missing標(biāo)記格式錯(cuò)誤critical合法已采用索引清單存在優(yōu)先于 no-index 標(biāo)記實(shí)際字節(jié)與哈希逐字節(jié)驗(yàn)證非法清單、路徑違規(guī)、字節(jié)缺失、哈希不匹配均為 critical檢索基準(zhǔn)25 次重復(fù)與兩條披露路徑帶標(biāo)簽查詢集是LIFEOS/MEMORY/BENCHMARKS/cortex-retrieval-v1.jsonl。標(biāo)簽文件存放在私有 MEMORY 樹中由操作者在自己的語(yǔ)料上、首次基準(zhǔn)運(yùn)行之前自行編寫不隨系統(tǒng)發(fā)布。每行必須攜帶lifeos-cortex-benchmark-label-provenance/v1溯源證明期望 ID 來自真實(shí)live-cortex-cli執(zhí)行與人工語(yǔ)料核驗(yàn)。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基準(zhǔn)工具CortexBenchmark.ts導(dǎo)入生產(chǎn)代碼——activeCortexRecords、rankBM25、toCortexCard與規(guī)范摘要函數(shù)——而非攜帶基準(zhǔn)專用排序器。每條帶標(biāo)簽查詢運(yùn)行 25 次每個(gè)查詢/樣本只做一次生產(chǎn)排序同一排序結(jié)果在兩種披露測(cè)量間共享bm25-baseline序列化完整 top-5 記錄progressive序列化 top-5 卡片、僅抓取被選中的第一條完整記錄。排序質(zhì)量因此被刻意保持完全相同被比較的是披露與注入成本。每個(gè)配置報(bào)告Recall5、MRR、時(shí)序成對(duì)排序準(zhǔn)確率、假陽(yáng)性召回、注入 token、p95 延遲、延遲樣本數(shù)、語(yǔ)料盤上字節(jié)數(shù)、實(shí)測(cè)磁盤增長(zhǎng)、后代進(jìn)程數(shù)、峰值 RSS、執(zhí)行路徑名。報(bào)告 schema 為lifeos-cortex-benchmark/v1stdout 始終收到報(bào)告持久化輸出經(jīng)--output顯式開啟必須位于解析后的MEMORY/BENCHMARKS/之下、使用版本化文件名cortex-benchmark-vN-*.json且不覆蓋已存在的報(bào)告。報(bào)告是操作者針對(duì)自己語(yǔ)料與標(biāo)簽的、可復(fù)現(xiàn)的時(shí)點(diǎn)本地測(cè)量。向量索引的采用門檻當(dāng)前vector_config為null沒有向量基準(zhǔn)候選也沒有向量索引。采納向量或混合索引的前提是帶標(biāo)簽報(bào)告證明了相對(duì)漸進(jìn)式 BM25 的檢索質(zhì)量提升且索引可規(guī)范重建、保持在單獨(dú)文檔化的磁盤與進(jìn)程邊界內(nèi)僅僅降低 token 用量不構(gòu)成采納證據(jù)。運(yùn)營(yíng)健康缺失的證據(jù)永遠(yuǎn)不產(chǎn)生綠燈Cortex.ts status報(bào)告契約可用性與語(yǔ)料形狀運(yùn)營(yíng)健康由獨(dú)立工具產(chǎn)出bun LIFEOS/TOOLS/MemoryHealthCheck.ts --json機(jī)器可讀報(bào)告含overall、實(shí)測(cè)證據(jù)、生效閾值、findings以及按 ok/warn/critical 派生的健康退出碼 0/1/2。核心原則**缺失的證據(jù)永遠(yuǎn)不產(chǎn)生綠燈。**默認(rèn)閾值CortexHealth.ts的DEFAULT_CORTEX_THRESHOLDS證據(jù)默認(rèn)閾值越界結(jié)果Reviewer 成功新鮮度7 天陳舊時(shí) WARN進(jìn)行中 reviewer 終行寬限10 分鐘CRITICAL 超時(shí)檢索證據(jù)新鮮度24 小時(shí)缺失/陳舊時(shí) WARN待審提案積壓大于 10WARN可觀測(cè)性字節(jié)數(shù)大于 256 MiBWARN最老可觀測(cè)性日志年齡大于 30 天WARN已采用索引新鮮度大于 7 天WARN判定規(guī)則最新 reviewer 證據(jù)優(yōu)先于歷史成功最新一次運(yùn)行失敗、解析失敗、超時(shí)、格式錯(cuò)誤、schema 不完整或無效均為 CRITICAL新運(yùn)行目錄在 10 分鐘寬限后仍無終行即判超時(shí)格式錯(cuò)誤的 JSONL 被暴露而不是靜默跳回上一次成功非法或未來時(shí)間戳不能證明新鮮度提案證據(jù)只統(tǒng)計(jì)狀態(tài)恰為pending的行可觀測(cè)性證據(jù)遞歸測(cè)量MEMORY/OBSERVABILITY/下全部.jsonl與.log文件。閾值覆蓋只接受有限正數(shù)值非法值產(chǎn)生 critical 的cortex-threshold-invalidfinding而不是讓比較失效。運(yùn)營(yíng)覆蓋變量CORTEX_RETRIEVAL_STALE_MS、CORTEX_PROPOSAL_BACKLOG、CORTEX_OBSERVABILITY_MAX_BYTES、CORTEX_OBSERVABILITY_MAX_AGE_MS。測(cè)試/自動(dòng)化路徑變量CORTEX_HEALTH_ROOT、CORTEX_HEALTH_NOW、CORTEX_INDEX_MANIFEST、CORTEX_HEALTH_NO_WRITE、CORTEX_HEALTH_REPORT_PATH。明確不聲明與適用前提已實(shí)現(xiàn)的升級(jí)不提供MCP 服務(wù)器或網(wǎng)絡(luò) API跨設(shè)備或云端同步CMEM / CMEM Cloud / Chroma / SQLite FTS / 嵌入 / 向量索引外部 Cortex 遙測(cè)Cortex 守護(hù)進(jìn)程或常駐 sidecar所有 hook/通道/采集表面的自動(dòng)采納對(duì)原生 harness 轉(zhuǎn)錄的清洗從搜索結(jié)果自動(dòng)注入完整記錄。適用前提全部描述以當(dāng)前倉(cāng)庫(kù)LIFEOS/install/LIFEOS/TOOLS/的實(shí)現(xiàn)為準(zhǔn)運(yùn)行環(huán)境要求 Bun 運(yùn)行時(shí)與已部署的~/.claude/LIFEOS/MEMORY或CORTEX_MEMORY_ROOT指定的規(guī)范根私有 MEMORY 樹中的基準(zhǔn)標(biāo)簽、檢索日志與索引清單均為操作者本地資產(chǎn)不隨開源倉(cāng)庫(kù)分發(fā)?!久赓M(fèi)下載鏈接】LifeOS?? LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/pe/LifeOS創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考