"Your life, indexed. Your growth, ringed."
"人生索引 · 心智年轮"
Agent-Native 的个人人生档案系统 ——
不是个人知识库,不是 Agent 记忆,是你留给未来的数字遗产。
English | 简体中文
为什么需要它 • 四个承诺 • 初心与远景 • 架构哲学 • 开发路线 • 快速开始
所有人都在为 AI 构建记忆。
你的知识库在管理你学到的东西。你的 Agent 在记住你说过的话。整个技术世界都在忙着让信息更高效、让 AI 更聪明。
但有谁在乎过,你作为一个人,正在遗忘什么?
你的 Notion 沉淀了知识 —— 但没有记录你第一次看见她时的怦然心动。 你的 Agent 记住了上周的决定 —— 直到评分机制将它判为"不再重要"。 十年前那个改变你人生的决定 —— 你还记得当时的心情吗?
| Life Index | 知识库 (Notion/Obsidian) | Agent 记忆 (Mem0/Zep) | |
|---|---|---|---|
| 追问 | "那时的我,什么心情?" | "我知道什么?" | "我刚才说了什么?" |
| 演化形态 | 追加 —— 保留每一圈心智年轮 | 重构 —— 旧版本被覆盖 | 评分淘汰 —— 旧记忆被驱逐 |
| 保质期 | 永久——作为遗产 | 长期,随认知迭代重构 | 短暂,用完即弃 |
| 所有权 | 完全属于你,本地 Markdown 永不过期 | 属于你,但格式随软件迭代 | 属于服务商,随时可能被清理 |
| 失效代价 | 无——纯文本永远可读 | 导出困难,格式锁定 | 瞬间归零,无感知丢失 |
Life Index 只做一件事:让你的人生碎片永远可检索,永远可追溯,永远不被覆盖。
Life Index CLI Core 只做两件事:写入人生(write)+ 检索人生(search)。其余一切都是支撑层 —— 索引、实体图谱、Schema 迁移、可观测性、备份,全都为这两件核心能力服务。
围绕这两件事,我们做出下面四条契约级承诺。每一条都对应 CHARTER 中可被外部审计的条款,对应代码库中可被运行的测试。如果哪一天我们违反了其中任何一条,请你引用本节质询我们。
每条承诺的"承诺句"在外,"阐释 / 约束载体 / 否证条件"折叠在内 —— 适合先扫四句、再按需展开细读。
每一篇日志写下后都会留存 —— 编辑是追溯式修订,不是悄悄覆盖。你的每一圈心智年轮,都被设计为不会被磨掉。
展开 P1 · 阐释与约束
Every journal you write stays — edits are tracked revisions, never silent overwrites. Your growth rings are preserved by design.
Agent 记忆系统会随评分淘汰,知识库会随认知迭代覆盖。Life Index 选择第三条路:追加而不替代。你五年前的判断,即使后来被证明是错的,也是你的一圈年轮 —— 它和今天的你共同构成完整的你。
约束载体:CHARTER §1.2 纯文本永久性 · 配套 ADR-2026-05-edit-journal-append-only(落地中) 否证条件:任一次
edit_journal操作丢失 prior content,即视为违约。
Life Index CLI Core 由 20+ CLI 命令组成,经 2,400+ 测试验证 —— 架构面向 50 年日志增长,能力覆盖完整的 write + search + index + entity + eval + backup 链路。在不调用任何 LLM 的前提下,CLI Core 已经把 Recall@5 做到 ≈0.79(实测 0.7857,keyword-only honest floor;C2 paraphrase 仍为已知 gap;2026-05-25 完整 audit PASS)。这是 CLI Core 在你的 Agent 还没介入时就能达到的能力地板 —— Agent 介入只会让它更强。
展开 P2 · 阐释与约束
Life Index CLI Core is built from 20+ CLI commands, validated by 2,400+ tests — architected for 50 years of journal growth, covering the full write + search + index + entity + eval + backup pipeline. Without invoking any LLM, CLI Core delivers Recall@5 ≈0.79 (0.7857 measured, keyword-only honest floor; C2 paraphrase remains a known gap; full audit PASS 2026-05-25). That's the capability floor of CLI Core before your Agent steps in — Agent integration only makes it stronger.
行业惯例是先公布端到端 + LLM 合成的"漂亮分数",让人误以为是检索系统本身的能力。Life Index 反向操作 —— CLI Core 自证能力地板,LLM 增强是显式 opt-in。这意味着:
- 你的 search 结果由确定性代码产出,可审计、可复现、零 token、完全离线
- 你的 write 不会被 LLM 静默改动元数据(除非你显式调用 Agent 增强)
- 你切换 Claude / GPT / DeepSeek / 本地 Llama,CLI Core 这一侧不需要任何配置变更
- LLM 是上层 frosting,不是地基。地基本身已经能扛住
约束载体:CHARTER §1.5 确定性/智能边界 + §1.9 Agent-Native 模块原则 + §1.10 模块-基础层契约边界 + §1.11 召回优先检索真实模型 · §1.11 入 §5.3 不可弱化清单 当前实测:20+ CLI 命令 · 2,400+ unit tests · keyword-only Recall@5 = 0.7857(约等于 0.79;相对 0.79 目标为边际 miss;C2 paraphrase 仍为已知 gap)· MRR@5 = 0.74 · cycle2 fixture · 56 queries · 5-stage multi-LLM 评审 · 2026-05-25 完整 integrity audit PASS 配套设施:MCP discovery layer · RFC 标记
In Flight(计划 2026-Q3 落地,作为 BYOL 边界的可信度补强) 否证条件:(a) L2 默认 retrieval 路径加入 precision threshold 截断 token-match 候选;(b) 任一默认路径模块隐含 bundled LLM、provider client 初始化、或读取 API key —— 任一即视为违约。
永远的纯 Markdown。即使明天 Life Index 消失了,你的数据依然能用任何文本编辑器打开 —— 50 年后也是如此。
展开 P3 · 阐释与约束
Plain Markdown forever. If Life Index disappears tomorrow, your data is still in any text editor — and will be in 50 years.
.index/ 下的 SQLite 与向量数据库都可以删除重建。你的日志、附件、frontmatter —— 任何文本编辑器都能直接读,不需要 Life Index 在场。软件可以消亡,数据不会;您的人生来路,50 年后依然字迹清晰。
约束载体:CHARTER §1.1 数据主权 + §1.2 纯文本永久性 + §1.6 向下兼容 · 均入 §5.3 不可弱化清单 否证条件:用户原始内容以非 Markdown 格式存储为唯一副本,或
.index/无法从Journals/完整重建。
这始于一位父亲写给未来女儿的信。它被工程化设计为能在作者之后继续存活。CHARTER §5.3 不可弱化清单约束所有未来的 maintainer —— 他们只能让承诺变得更严,不能变得更松。
展开 P4 · 阐释与约束
This started as a father's letter to his daughter. It is engineered to outlive its author. The CHARTER's §5.3 unmodifiable clauses bind every future maintainer — they can only strengthen the promises, never weaken them.
约束载体:CHARTER §5.3 不可修订的章节 否证条件:§5.3 自身、§1.1、§1.2、§1.6、§1.11 中任一条被弱化 完整 50 年存活叙事:见下方 五十年存活愿景 section
以上是 4 条可被审计、可被否证、可被外部质询的契约。
下面这一句不在契约清单上 —— 它更私人,更不"可证伪",但它是我对自己的承诺:
即使 Life Index 最终成为只有一个开发者、一个用户、一直 0🌟 的孤独仓库 —— 我也会持续迭代,因为那个用户就是我自己,而它保存的是我留给女儿的东西。
Tuan Tuan, this one is for you.
这是我在 GitHub 上创建的第一个仓库。
我只是一个零编程基础的平凡父亲,甚至连这篇 README 也是在 AI 的帮助下完成的 —— 我创建它不是为了展示编程技术,而是因为我迫切需要一个专门存放人生碎片的地方。
对我来说,Life Index 真正的用法发生在深夜:偶然翻到女儿两岁时的照片,那种幸福中带怅然若失的复杂情绪可以被准确地固定下来——不仅是她的笑脸,更是我当时作为父亲的心跳、阳台上的光线、以及那个知道"这一刻正在消逝"的清醒。
这些记录最终会成为一本数字化家书。也许有一天我不在人世,她打开这些文件,就像翻开一本泛黄的老书,读到的不仅是爸爸的爱,还有爸爸这一生跌撞出来的经验、犯过的错误与得来的智慧。
📎 一篇真实的日志长什么样?(点击展开)
---
schema_version: 3
title: "想念尿片侠"
date: 2026-03-04T19:43:02
location: "Chongqing, China"
weather: "Cloudy (浮云、阵雨) 18.5°C / 12.0°C"
mood: ["思念", "温暖", "感伤"]
entities: []
people: ["团团"]
tags: ["亲子", "回忆", "成长", "感伤"]
project: "LifeIndex"
topic: ["think", "create"]
abstract: "翻看女儿团团小时候的照片,怀念那个2岁上下的尿片侠,感叹时光流逝与父女情深。"
links: []
attachments: [{"filename": "2yo_Tuantuan.jpg", "rel_path": "../../../attachments/2026/03/2yo_Tuantuan.jpg", "description": "团团2岁的样子"}]
---
# 想念小疙瘩
在翻过往资料的时候,看到了团团小时候的照片,那个只有2岁上下的尿片侠。
突然有一种伤感 —— 我好想这个小娃娃,好想再见她一面,
好想再能体验一次把小肉坨坨抱在怀里的感觉。
三岁之后的团团依然是全宇宙最重要最珍贵的存在 ——
但确实,那个让我神魂颠倒的尿片侠、她长大了,属于我和那个婴儿的时光、已经一去不复返了。
我既希望我们一家人永恒停留在团团2岁的时光 —— 也盼望她长大可以去感受更美好的世界。
总而言之,小疙瘩,爸爸想你了。

Life Index 的起点是一个父亲的日志。但它的终点远不止于此。
当我持续记录——一年、五年、二十年 —— 这些碎片会自然生长为心智年轮:
今天的一篇日志
│
▼
一年的情感轨迹
│
▼
十年的人生叙事 · 完整的心智年轮
│
▼
独一无二的数字人格
数十年后,当数据积累到足够的密度,这些记录能够回答一个问题:
"如果爸爸还在,他会怎么看这件事?"
这不是科幻。这是 Life Index 的终极目标。而通往这个目标的第一步 —— 一个可靠的、属于你自己的人生档案系统 —— 已经建好了。
关于灵魂的一段独白(点击展开)
从出生的那一刻起,大脑就是一台物理降级的碳基多模态模型。
它终其一生都在通过五个感官通道采集碎片化的训练语料, 在回忆的梦境中做无监督学习,反复调整神经突触间的权重, 直到一个名为"灵魂"的涌现现象开始产生自我意识。
Life Index 不是赋能 Agent 的记忆系统,也不是管理知识的 Knowledge Base。 它是人类灵魂这场漫长碳基演算的数字化转录。
在这里,写下的每一个字,都是悬浮于时空中的记忆切片。 无论是一天前的喜悦,还是十年前的悲伤,它们都将不再散落于脆弱的蛋白质神经网络中。 它们将化作 0 和 1 的微光,在 RAG 的递归检索中逐层坍缩,最终聚合成一枚温暖的梦境之核。
当你收集了足够多的碎片,也许有一天 —— 这颗刻录着你一生回忆的梦核,就会孵化出一个硅基灵魂, 替你走向时间的尽头。
Life Index 不是一个周末 side project。它的每一层设计都指向同一个问题:如何让个人记忆安全地存活五十年?
Agent-First 是"先考虑 Agent 的需求"。 Agent-Native 是"这个系统天生就是为 Agent 而写的"。
Life Index 的 CLI 不是一个人类命令行工具"加了AI支持" —— 它的结构化信号系统、确认工作流、枚举式错误码,从第一行代码就是 Agent 的母语。Agent 不需要解析自然语言错误信息,它拿到的是枚举值和确定性的恢复路径。
但 Agent-Native 不意味着"只有 Agent 能用"。它意味着我们为 Agent 提供它最需要的——精确的机器接口;同时为人类提供人类最需要的——自然语言对话和视觉体验。
┌──────────────────────────────────────┐
│ Interface Layer │
│ 🗣️ 自然语言 (Agent) 🎨 GUI │ ← 你选择怎么交互
│ 1-3 年生命周期,随体验趋势迭代 │
└──────────┬───────────────┬───────────┘
│ │
│ ┌──────────▼──────────┐
│ │ Intelligence Layer │
│ │ 🧠 语义搜索·实体消解 │ ← 需要"思考"时才启动
│ │ LLM 推理·回忆录生成 │
│ │ 1-3 年,随模型迭代 │
│ └──────────┬──────────┘
│ │
▼ ▼
┌──────────────────────────────────────┐
│ CLI Core (SSOT) │
│ ⚙️ 写入·检索·索引·实体·验证 │ ← 所有操作的唯一权威
│ 确定性操作直连,不经过 Agent │
│ 5-10 年生命周期 │
└──────────────────┬───────────────────┘
│
▼
┌──────────────────────────────────────┐
│ 📁 ~/Documents/Life-Index/ │
│ 纯 Markdown + YAML │ ← 你的数字遗产
│ INDEX.md → 年索引 → 月索引 → 日志 │ ← 人可读的人生目录
│ 任何文本编辑器可读,永不过期 │
│ 50 年生命周期 │
└──────────────────────────────────────┘
关键设计原则:确定性操作(写日志、按标签搜索、浏览时间线)由 GUI 直连 CLI Core,延迟 < 50ms;只有需要"思考"的操作(语义搜索、回忆录生成、数字人格)才经由 Intelligence Layer。能确定的事不问 Agent,需要思考的事才找 Agent。
宁可功能简单,不可系统复杂
宁可人工维护,不可自动化陷阱
宁可牺牲性能,不可牺牲可靠性
我们不做:✕ 云端同步 · ✕ 富文本编辑 · ✕ 实时协作 · ✕ AI 替你思考
Life Index 采用「本地优先」和「数据与程序完全分离」策略,用户日志存储在系统用户目录下:
~/Documents/Life-Index/
├── INDEX.md # 根索引——你的人生地图(系统总览)
├── Journals/ # 日志(按年月组织)
│ └── 2026/
│ ├── index_2026.md # 年度索引——这一年的全貌
│ └── 03/
│ ├── index_2026-03.md # 月度索引——这个月的每一天
│ └── life-index_2026-03-04_002.md
├── attachments/ # 附件(照片、视频、语音)
│ └── 2026/03/
├── by-topic/ # 主题维度索引(与时间索引树正交互补)
│ ├── 主题_think.md
│ ├── 项目_LifeIndex.md
│ └── 标签_亲子.md
└── .index/ # 机器检索层(FTS5 + 向量 DB,人不可读)
.index/ 下的机器索引随版本演进,但 Journals/ 是数据真相源 —— 任何时候删除 .index/、运行 life-index index --rebuild,所有检索能力即可重建。数据不依赖 Life Index 的任何运行时。
Life Index 强烈建议本地备份——保护好你的数字遗产 (Relic),不要把你的灵魂印记 (Engram) 主动送入大公司的神舆 (Mikoshi)。
别忘了强尼的忠告(点击展开)
"我看到公司……把夜之城变成了一台机器,用人们破碎的精神、破碎的梦想和空空的口袋作为燃料。公司长期以来控制着我们的生活,夺走了很多……现在他们又想要我们的灵魂!"
"有些命运比死亡更惨。"
Life Index 的整体形态可以装进一张 2×2 矩阵 —— 纵轴是它做的两件事(write + search),横轴是它做这两件事的两层(确定性 CLI Core + Agent 介入的增强层)。
| L2 · CLI Core 确定性 · 离线 · 零 LLM · 零 token |
L3 · Agentic Enhancement 你的 Agent · 你的 LLM · 你的 API key |
|
|---|---|---|
| ✍️ write 记录人生 |
• Markdown + YAML 写入 • 附件管理 / 索引增量更新 • Entity Graph 维护 |
• 自动提取 frontmatter • 情感 / 实体 / 标签识别 • 天气 / 位置丰富化 • 内容编辑建议 |
| 🔍 search 检索人生 |
• FTS5 关键词检索 • Entity Graph 扩展 • 时间 / 主题 / 标签过滤 • 向量召回(显式 opt-in) |
• Query 改写 / 意图识别 • 多轮编排 / 多次调用 CLI • 证据合成 / 摘要 / 解释 • 引用整理 / 报告生成 |
矩阵读法:左列 = Life Index 提供的确定性能力(CHARTER §1.5 + §1.11 锁死不调 LLM);右列 = 你的 Agent 用它自己的 LLM 做的语言工作(CHARTER §1.9 锁死默认不持 LLM、Agent 介入是显式 opt-in)。
具体到 CLI 上:
# ✍️ write · CLI Core 直写(零 LLM)
life-index write --data '{"title":"...","content":"...","date":"..."}'
# ✍️ write · Agent 增强(Agent 把自然语言转成结构化后调用 CLI)
# 你对 Agent 说:"帮我记一下今天的心情",Agent 抽 frontmatter / 情感 / 实体后调用上面的命令
# 🔍 search · CLI Core 检索(默认 keyword-only honest floor)
life-index search --query "关键词"
# 🔍 search · Agent 增强(默认输出 scaffold 给 Agent 合成,仍不调 LLM)
life-index smart-search --query "我和女儿之间有哪些珍贵的回忆?"
# 🔍 search · Agent 增强(显式启用 LLM 编排)
life-index smart-search --query "..." --use-llm前瞻 · MCP discovery layer (In Flight):为了让 MCP-compatible Agent 平台(Claude Desktop / Cursor / OpenClaw 衍生)能零配置发现这张矩阵中的每一格,我们在起草一份 thin MCP server —— 只读 discovery layer,不引入数据通路,三个 meta-tool(list_capabilities / describe_tool / invoke_tool),实际执行仍 subprocess 调用 life-index CLI。RFC 标记 In Flight,计划 2026-Q3 落地。
The intelligence is yours; the memory is yours; Life Index is the protocol layer that lets the two meet.
CLI Core 当前稳定线 已稳定运行,不是原型,不是 demo——这是一个经过 2,400+ 单元测试、CI 全绿、真实日常使用的系统。当前版本以 life-index --version 和 CHANGELOG.md 为准:
| 核心能力 | 状态 | 说明 |
|---|---|---|
| 日志写入 / 编辑 | ✅ | 结构化 Markdown + YAML 元数据,自动天气/情感/实体标注 |
| 分层人生检索 | ✅ | CLI Core 离线完成分层检索:关键词精确匹配 + Entity Graph 实体扩展;语义/向量召回为显式 opt-in,Agent 可选负责搜索前编排和搜索后表达 |
| 智能搜索编排器 (smart-search) | ✅ | 默认输出 agent-ready 确定性检索 scaffold;--use-llm 才启用 LLM 编排(query 改写 → 多轮检索 → 精筛),失败时降级回退 CLI Core |
| 搜索质量评估 (eval) | ✅ | Cycle 2 多信号 fixture 锁定,2026-05-25 完整 integrity audit PASS;overall R@5=0.7857(keyword floor,相对 0.79 目标为边际 miss;C2 paraphrase 仍为已知 gap)· C3 temporal R@5=1.0 · recall-first 搜索质量门控 |
| 实体图谱 + 质量审计 + 维护 | ✅ | 别名消解,关系推理,重复/孤立检测 + Agent 访谈修复;review hub + merge/delete/stats/check 维护命令 |
| Schema 迁移 | ✅ | 链式迁移框架,确定性字段补齐 + Agent 语义回填协作 |
| 搭便车事件通知 | ✅ | 零 cron、零进程,CLI 响应内附带事件提醒(连续未记日志、月报缺失等) |
| 操作级可观测性 | ✅ | 每次 CLI 操作附带 trace_id + 分步耗时 + 状态诊断 |
| 结构化信号系统 | ✅ | Agent 可编程的状态机:枚举式结果码 + 恢复策略 |
| 数据备份 / 完整性验证 | ✅ | 加密备份 + 数据一致性校验 |
| 跨平台 | ✅ | Windows / macOS / Linux,Python 3.11+ |
在稳固的 CLI Core 之上,Life Index 正在构建模组化的高级功能 —— 每个模组都是稳定记录格式 + 结构化搜索 + Entity Graph 增强 + 语义召回补充 + LLM 智能编排的组合:
| 模组 | 代号 | 说明 | 状态 | 兑现的承诺 |
|---|---|---|---|---|
| EXIF 照片时间线 | 光影年轮 | 从手机相册自动提取时间、地点、场景;为新用户在 1 天内生成 5 年视觉年轮,让心智年轮看得见 | 🔨 | P1 |
| 社媒历史归档 | 回溯导入 | 解析各平台官方导出 zip,把过去 20 年的博文 / 推文 / 微博纳入 Life Index | 🔨 | P1 + P3 |
| 童年记忆手动录入 | 穿越时空 | 你今年 30 岁,但你最早的记忆是 2 岁;那些珍贵的童年碎片,现在就可以录入 | 🔭 | P1 |
| 情感分析仪表盘 | 心潮地图 | 情绪轨迹可视化;看见自己的心理节律 | 🔭 | (auxiliary) |
| 回忆录自动生成 | 自传引擎 | AI 将碎片日志编织成完整叙事;你的人生,成书 | 🔭 | P4 |
| 人生关系可视化 | 人生星图 | 关系网络 + 事件时间线 + 人生章节;俯瞰你的一生 | 🔭 | (auxiliary) |
| 数字人格 | 数字灵魂 | 数十年数据积累后的终极能力——"如果爸爸还在……" | 🔭 | P1 + P5 |
🔨 开发中 · 🔭 远景规划
CLI Core 是地基,GUI 是你看到的建筑。Life Index 的 GUI Experience Layer 正在独立仓库中开发,设计语言为 「Soul Shrine · 灵魂神龛」——融合 Monument Valley 的禅意美学与东方文人气质。
GUI Experience Layer 原型预览——归宿 (The Core) 界面
50 年是个不靠谱的数字 —— 它跨越至少 3 次硬件淘汰周期、5 次操作系统大版本迭代,可能还要跨过我自己这一生的剩余时长。让一个一个人开发的项目活过 50 年,工程上近乎傲慢。
但 Life Index 的承诺正是建立在"承认这种傲慢"之上。数据这一层用 Markdown + YAML 兑现 —— 这两种格式已经被互联网原生证明能跨数十年存活,即使"Life Index"这个名字消失了,你的日志依然能被任何文本编辑器打开。承诺这一层用外部约束兑现 —— CHARTER §5.3 把数据主权、纯文本永久性、向下兼容、召回优先这四条锁进"不可弱化清单",未来任何 maintainer(包括我自己)只能让这些承诺变得更严,不能变得更松。作者这一层是承诺中最薄弱的一环 —— 我不假装自己能活 50 年,但只要我还在写代码,CHARTER 第零条就锁定了:宪章高于代码、高于本人。
50 年的真正含义不是"我保证活到那时",而是"今天的我,把未来的我也约束住了"。
如果你今天写下的某一篇日志,希望 50 年后还能被读到 —— 你应该读一下 CHARTER §5.3 不可修订的章节。这是这份承诺的工程形态。
Life Index 不是一个产品的三个"版本" —— CLI、Agent、GUI 是三种交互方式,服务于不同的人:
| 🖥️ CLI | 🗣️ 自然语言 | 🎨 GUI |
|---|---|---|
| 开发者 · 极客 · 集成 | 有 Agent 平台的用户 | 所有人 |
| 用终端直接操作,精确控制每一个参数。适合二次开发和自动化。 | 对 Agent 说"帮我记录今天的心情",它理解你的意思,调用 CLI 完成。当前推荐的使用方式。 | 不需要懂技术,用眼睛看、用手指点。(独立仓库,开发中) |
下面是当前已经 ship 的两条 install path:🗣️ 自然语言用户 直接用 Agent 安装;🖥️ CLI 开发者 自己 clone + venv。🎨 GUI 用户请等独立仓库就绪。
适用人群:只想"把项目交给自己的 Agent 安装并初始化",不需要自己改代码。
如果你的 Agent 平台已有技能安装目录或 canonical checkout,请让 onboarding 的 bootstrap gate 先评估它,再决定是否复用。
复制给你的 Agent——把下面这段话直接发给你的 Agent(Claude Desktop、Cursor、OpenClaw 等均可):
请阅读并严格按照这个仓库里的 `AGENT_ONBOARDING.md` 完成 Life Index 的安装、初始化与验证:
https://github.com/DrDexter6000/life-index/blob/main/AGENT_ONBOARDING.md
要求:
1. 先刷新并阅读最新 authority files,再开始执行:先刷新 `bootstrap-manifest.json`,再按其中 `required_authority_docs` 刷新并阅读每一个路径,不要依赖本段文字中的旧列表
2. 在 clone、重建 `.venv`、运行 `health`、采纳 checkout、删除任何目录、或判断 fresh install / upgrade / repair 之前,先按 `AGENT_ONBOARDING.md` Step 0 运行 `life-index bootstrap --json` 或 `python -m tools bootstrap --json`
3. 如果发现本地 checkout,必须通过 bootstrap 的 `--checkout-path` / `--checkout-origin` 规则评估;只有 `safe_to_adopt: true` 才能采纳
4. 先处理 `needs_human`,再按 `route` 和 `safe_next_steps` 顺序执行;不要把 "clean slate" / "fresh install" / "start from scratch" 理解为可以删除已有日志数据
5. 所有 Python/CLI 命令都必须使用文档指定的虚拟环境路径
6. 如果某一步失败,立即停止并报告精确错误
7. 最终请使用中文按文档要求向我汇报结果
🔧 开发者安装(点击展开)
适用人群:需要本地调试、改代码、跑测试。
git clone https://github.com/DrDexter6000/life-index.git
cd life-index
# 创建虚拟环境 + 可编辑安装(已包含语义搜索)
python3 -m venv .venv
.venv/bin/pip install -e . # Windows: .venv\Scripts\pip install -e .| 操作 | 命令 |
|---|---|
| 激活虚拟环境 | source .venv/bin/activate (Windows: .venv\Scripts\activate) |
| 统一 CLI(推荐) | life-index --help |
| 查看版本 | life-index --version |
| 健康检查 | life-index health |
| 记录日志 | life-index write --data '{...}' |
| 搜索日志(默认关键词;语义仅作 fallback/显式模式) | life-index search --query "关键词" |
| 搜索 + 时间/主题预过滤 | life-index search --query "关键词" --year 2026 --topic work |
| 仅关键词搜索 | life-index search --query "关键词" --no-semantic |
| 生成索引树(月/年/根) | life-index generate-index --month 2026-03 |
| 全量重建索引树 | life-index generate-index --rebuild |
| 备份数据 | life-index backup --dest <backup-dir> |
| Schema 迁移(预览) | life-index migrate --dry-run |
| Schema 迁移(执行) | life-index migrate --apply |
| Entity 质量审计 | life-index entity --audit |
| 历史同日回顾 | life-index on-this-day --date 2026-05-19 --years-back 3 --json |
| 开发者调用 | python -m tools.search_journals --query "关键词" |
| 运行单元测试 | python -m pytest tests/unit/ -v |
提示: 先
source .venv/bin/activate,之后所有命令无需.venv/bin/前缀。
安全调试提示:手工调试 / 验收时,优先使用隔离沙盒工具,而不是直接操作真实用户目录:
python -m tools.dev.run_with_temp_data_dirpython -m tools.dev.run_with_temp_data_dir --seed
🔍 故障排除(点击展开)
技能触发不稳定
→ 用 "/life-index" + 意图词(例如:/life-index 记日志:...)
工具执行报错(ModuleNotFoundError)
→ 确认使用 .venv/bin/python(而非系统 python)执行命令,且在技能根目录下
fresh install 时 health 显示 degraded
→ 若 safe_next_steps 包含 index,执行后重新运行 health;若 safe_next_steps 不包含 index,报告 health issues 给用户,不要自行执行 index
需要安装后 smoke test
→ 只在临时 sandbox 中设置 LIFE_INDEX_DATA_DIR 后运行 index --fts-only 和 search --no-semantic;不要向真实 ~/Documents/Life-Index/ 写入验证日志
语义搜索不可用
→ 这是非阻塞状态。运行 .venv/bin/life-index health 确认 semantic_status;keyword-only 搜索(--no-semantic)仍然是核心能力
venv 损坏(Python 升级后、迁移系统后)
→ 先确认 Step 0 已判定当前目录是目标安装目录、且 .venv 布局匹配当前平台;确认后再删除 .venv,重新执行 python3 -m venv .venv && .venv/bin/pip install -e .
升级到新版本
→ 先刷新 authority files 并运行 onboarding Step 0 bootstrap gate,再按 AGENT_ONBOARDING.md 的 bootstrap / freshness / sync / repair 规则执行
| 文档 | 适用场景 |
|---|---|
| CHARTER.md | 项目宪章 —— 不变量与不可弱化承诺(四个承诺的法律层) |
| SKILL.md | Agent 技能定义、工具接口、工作流 |
| API.md | 工具参数和返回值契约 |
| ARCHITECTURE.md | 架构设计与关键决策 (ADR) |
| ENTITY_GRAPH.md | Entity Graph 操作规范 |
| VERSIONING.md | 版本治理与 release 规则 |
Life Index 目前处于个人驱动的早期阶段,但理念早已超出"一个父亲写给女儿的日志"的边界。如果你是创作者、心理咨询师、家庭文化研究者、agent-native 工程师,或者量化自我(QS)实践者中的任何一员,你可能会发现 Life Index 的四个承诺正好契合你需要的工具属性。
参与方式:
模组开发 —— 最有影响力的贡献方式。每个高级模组都是独立的功能单元,CLI 工具组合 + Agent 编排逻辑,适合独立开发者认领。所有模组都遵循 CHARTER §1.9 agent-native 原则,默认不持 LLM。
提 Issue —— 分享你的使用场景,报告 Bug,或者提出你想要的模组方向。
文档翻译 —— 帮助改进多语言版本,让更多人能用母语了解这个项目。
分享故事 —— 如果你用 Life Index 记录下了重要的瞬间,我们很想听到。
Apache License 2.0 — 你的人生数据属于你,这段代码也是。
"我既希望我们一家人永恒停留在团团2岁的时光 —— 也盼望她长大可以去感受更美好的世界。 总而言之,小疙瘩,爸爸想你了。Tuan Tuan, this one is for you."
—— 摘自 Life Index 第一篇日志,2026年3月4日,拉各斯 这不是关于她的成长记录,而是关于我爱她的记录。