📌 项目地址:AgriciDaniel/claude-obsidian | ⭐ 11,710 颗星 | 🔧 Python | 📜 未标注
问题先说清楚
用 AI 记笔记的常见流程:把材料丢给模型,拿回一份摘要,存档,结束。三个月后想核对一个数字,摘要还在,原文找不到了。两段不同时间生成的笔记互相矛盾,你看不出来——矛盾藏在通顺的文字里,没有标记,没有账目。
claude-obsidian(11710 星,Python)做的是这两件事:原文必须活着,主张必须有账。
它跑在 Claude Code 或兼容 Agent Skills 的宿主上,是一个本地优先的知识系统。功能上分四块:把源材料变成带来源引用的链接笔记;回答问题只基于库里已有的证据;提供研究、检索、维护、可视化的明确工作流;保持 vault 本身的健康。
核心循环四步
README 把流程拆得很清楚:
- Capture。本地资料先经过一个可见的 inbox,在综合处理之前保存一份不可变的、内容寻址(content-addressed)的原始副本。也就是说,AI 生成的任何摘要,背后永远有一份没被动过的原文。
- Ground。两套账本:来源账本(source ledger)和主张账本(claim ledger)。每条主张记录权威性、新鲜度、支持状态、矛盾状态、置信度、审阅状态。
- Connect。生成互相链接的页面、索引、Map of Content、以及 Obsidian Canvas 视图。
- Reuse。对库做查询、lint、检索、汇总,下次对话不从零开始。
我觉得 claim ledger 是整个项目最值钱的设计。无依据的主张、和别处矛盾的主张,在普通 AI 笔记里是隐形的;这里被显式标记,长期可见。读一条摘要时想确认某句话靠不靠谱,翻账本就行,不用重新去怀疑整篇。
Vault 就是普通目录
产出物是 Markdown、JSON 和源文件组成的普通目录。README 列了三个“不”:不藏在插件缓存里,不锁在云数据库里,不被静默上传到模型。网络出口是单独的、显式的决策。
实际后果很直接:哪天不用 Claude 了,这个库还是一个完整的 Obsidian vault。Graph view 照开,Canvas 照用,文件随便迁移。产出物离开 agent 依然有用——很多“AI 知识库”产品做不到这一点,它们的价值和引擎锁死在一起。
两个工程细节
并发写入。 多个 agent 同时写一个 vault,库会被写坏。这个项目在架构上处理了:worker 只产出草稿,由唯一的 orchestrator 检查后,以一个可恢复的事务应用。跑过并行 agent 工作流的人知道这个坑出现得有多频繁,同类项目基本没管。
能力声明说实话。 可选工具会被检测,成熟度被声明,缺失的 adapter 明确降级,不假装功能存在。README 还写了四条“不是什么”:不是自动转录记录器,不是云同步服务,不是事实预言机,不替代备份和版本控制。你的 vault 该备份还得备份,该进 git 还得进 git。
上手
README 快速开始的第一步:
git clone https://github.com/Agri
(README 在此处截断,完整安装见仓库的 Installation guide,Windows 用户有专门的 WSL 指引。)
有两条实践值得照做:首次运行用源码 checkout 加一个单独的用户 vault,别直接指向主力库;所有会修改文件的 setup 命令,执行前都会预览确切操作,确认了才会应用。
技能域覆盖 ingestion、querying、linting、retrieval、research、rollups、visual mapping,全部共享同一个 provenance-aware 的数据模型——这是“知识能复利”的技术基础:所有操作基于同一套来源追踪,而不是各干各的。
我的判断
有个取舍要想清楚:文件格式开放、本地优先,但处理引擎绑定 Claude 生态。数据是你的,引擎不是免费替代品。好在最坏情况下你只是失去引擎,数据完整保留。
如果你在用 Obsidian,并且被“AI 总结完原文就没了”困扰很久,这个项目把来源保全、主张追踪、并发写入三件事一次做掉了。11710 星说明踩中这个痛点的人不少。