LLM 驱动的个人研究型知识库。 将原始来源(论文、文章、视频笔记)编译为结构化的、可回链的 wiki,而不是一次性 RAG 查询。
本项目直接受到以下内容的启发:
- Andrej Karpathy 在 X 上分享的「LLM 编译个人知识库」理念——用 LLM agent 将原始文档增量编译为互链 wiki,而非每次查询时从零检索。
- Steph Ango(kepano) 的回复——强调人类认知主体性的重要性,知识库应反映你的理解,而不是纯粹的 AI 自动产物。
- Karpathy 开源的 LLM Wiki gist(工作流蓝本):
https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
KK-Vault 在此基础上做了完整的工程化实现:分层信任模型、脚本化 I/O、Obsidian 双向联动、来源防污染机制。
| 维度 | Karpathy LLM Wiki | KK-Vault |
|---|---|---|
| 形态 | Idea file / prompt gist | 完整 Antigravity Skill(脚本 + 规则 + 模板) |
| 架构 | 单层 wiki | 四层信任模型(raw → wiki → outputs → curated) |
| I/O | LLM 直接读写 | 脚本处理 I/O,LLM 只做推理 |
| 来源管理 | 无 | source manifest + SHA-256 去重 + 增量编译 |
| 幂等性 | 无 | --full 全量重编译;默认增量 |
| Obsidian 联动 | 无 | 双向:seed(拉入)/ promote(推出,自动清洗内部引用) |
| 污染控制 | 无 | agent 产物默认不可信,显式 promote 才能跨层 |
| 日志 | 无 | append-only log.md,脚本自动写入 |
本项目是一个 Antigravity skill。克隆到你的 skills 目录后自动可用:
git clone https://github.com/YOUR_USERNAME/kk-vault.git D:\AI_Skills\kk-vault在首次使用前,按需修改以下两处默认路径(或通过环境变量覆盖):
| 环境变量 | 默认值 | 说明 |
|---|---|---|
KK_VAULT_BASE_DIR |
D:\KK-Vault |
所有 workspace 的存放根目录 |
KK_OBSIDIAN_VAULT |
(需手动配置) | 你的 Obsidian 主 vault 路径 |
也可以直接修改 scripts/init_workspace.py、scripts/promote_artifact.py、scripts/vault_bridge.py 顶部的 DEFAULT_BASE_DIR / DEFAULT_OBSIDIAN_VAULT 常量。
- Python 3.10+(标准库,无需额外安装)
- Antigravity agent
- 可选:
obsidianCLI(kk link和kk promote --target obsidian命令使用)
# 1. 新建研究 workspace
kk init quantum-computing
# 2. 把来源文件放入 inbox 或直接指定路径
kk ingest ~/papers/attention-is-all-you-need.pdf
# 3. 编译 wiki(LLM 提取概念、实体、论点)
kk compile
# 4. 基于 wiki 提问
kk ask "transformer 的核心创新是什么"
# 5. 将好的回答晋升到 curated
kk promote outputs/answers/2026-04-05_transformer-insight.md
# 6. 推送到 Obsidian 主库(可选)
kk promote outputs/... --target obsidian| 命令 | 说明 |
|---|---|
kk help |
显示帮助 |
kk init <name> |
新建研究 workspace |
kk init <name> --seed "<词>" |
新建并从 Obsidian 主库拉取种子笔记 |
kk ingest <path> |
纳入文件或目录 |
kk ingest --inbox |
处理 inbox 中所有文件 |
kk compile |
增量编译 wiki |
kk compile --full |
全量重编译 |
kk ask "<问题>" |
基于 wiki 回答问题 |
kk ask "<问题>" --format marp |
生成幻灯片 |
kk maintain |
快速巡检 wiki 质量 |
kk maintain --full |
深度巡检 |
kk promote <path> |
晋升产物到 curated/ |
kk promote <path> --target obsidian |
推送到 Obsidian 主库 |
kk link |
检索 wiki 实体在主库的关联 |
kk link --detail |
完整关联报告 |
kk link seed --topic "<词>" |
从主库拉取相关笔记 |
kk link discover |
跨 workspace 知识关联发现 |
D:\KK-Vault\
.active_workspace ← 当前活跃 workspace 名
<workspace-name>/
AGENTS.md ← LLM 必读 schema(init 自动生成)
log.md ← Append-only 操作日志
raw/
inbox/ ← 用户手动放入的新来源
sources/ ← 已登记来源(权威层,只读)
assets/ ← 关联图片/附件
manifests/
sources/ ← SRC-NNNN.json(每个来源一个)
source_index.csv ← 来源汇总索引
wiki/
indexes/ ← master_index.md
concepts/ ← 概念页(kebab-case.md)
entities/ ← 实体页(人/组织/产品)
themes/ ← 主题综述页
timelines/ ← 时间线页
outputs/
answers/ ← ask 回答
reports/ ← 综合报告
slides/ ← Marp 幻灯片
charts/ ← matplotlib 图表
maintain/
findings/ ← 巡检发现
gaps/ ← 知识缺口
candidates/ ← 新文章候选
curated/
promoted/ ← 经人工认可的最终产物
- 权威层优先:
raw/永远是 source of truth,wiki/是可重建的派生层 - 探索即积累:每次 ask/maintain 的产出回灌系统,不是一次性消耗
- 隔离晋升:agent 产物默认不可信,只有显式
promote才能跨层 - 主库联动:隔离保护"写入",但"读取"方向开放
kk-vault/
SKILL.md ← Antigravity skill 定义(命令路由 + 规则)
scripts/
init_workspace.py ← kk init
ingest_source.py ← kk ingest
compile_wiki.py ← kk compile
log_entry.py ← 日志写入工具
maintain_check.py ← kk maintain
promote_artifact.py ← kk promote
vault_bridge.py ← kk link
references/
compile-prompts.md ← compile 阶段的 LLM prompt 模板
schema.md ← workspace 目录 + manifest schema
policies.md ← 污染控制 + 晋升条件
marp-template.md ← ask --format marp 幻灯片模板
MIT