Skip to content

我用 Claude Code 给 7500+ 篇笔记做了 Johnny.Decimal 化

2026/01/26

1 月 6 日,Obsidian CEO Steph Ango 开源了 obsidian-skills,教 Claude Code 如何编辑 Obsidian 的三种文件格式:Markdown、Bases、Canvas。

我用了一下,确实好用。但用完之后我发现一个问题:

AI 知道怎么编辑文件了,但它不知道文件应该放在哪里。

这就像你雇了一个打字速度 200 WPM 的秘书,但她不知道公司的文件归档系统。

于是我花了一个周末,做了一个补丁:obsidian-jdex-steward


kepano 解决了「怎么写」,我解决「写在哪」

kepano 的三个 skills 覆盖了 Obsidian 的文件格式:

Skill解决什么问题
Markdown怎么写 frontmatter、链接、callouts
Bases怎么构建动态视图(类似 Notion database)
Canvas怎么画知识图谱

这些都是「格式能力」——AI 学会了 Obsidian 的语法。

但知识管理真正的难题不是格式,而是结构

  • 这篇笔记应该放在哪个文件夹?
  • 它跟哪些笔记有关系?
  • 怎么在 7000+ 文件里快速找到它?

这需要一套组织方法论。我选择的是 Johnny.Decimal。


Johnny.Decimal:写给人类也写给 AI 的编号系统

Johnny.Decimal(JD)是一套简单到有点傻的编号规则:

Area (10-19, 20-29, ...)
  └── Category (21, 22, ...)
        └── ID (21.01, 21.02, ...)

比如我的笔记库:

  • 20-29 = 个人知识
  • 26 = 产品哲学
  • 26.01 = 《J叔产品哲学 v3.0》

为什么选 JD?因为它对 AI 极其友好:

  1. 纯数字,无歧义 — AI 不需要理解「重要」「紧急」的语义
  2. 层级扁平 — 最多三层,不会迷路
  3. frontmatter 友好 — 一个 jd: "26.01" 搞定

实战:7526 文件,从 0% 到可用

我的 Obsidian 库有 7526 个 Markdown 文件,0% 有 JD 编号。

跑了一下我写的扫描脚本:

python scripts/jdex_scan.py /path/to/vault

输出:

{
  "total_markdown": 7526,
  "with_jd": 0,
  "coverage": 0.0
}

0%。意料之中。

然后我让 Claude Code 帮我创建 JD 骨架:

  1. 全局索引 00.00-JDex.md — 整个知识库的入口
  2. 系统 Inbox 00.01-Inbox.md — 新笔记的暂存区
  3. Category 索引 — 每个分类一个导航页,用 Dataview 动态生成

接着,我把产品哲学文件夹的 6 篇核心文档加上 JD frontmatter:

---
jd: '26.01'
aliases: [产品哲学, 产品哲学v3]
---

半小时后,扫描结果变成:

{
  "with_jd": 9,
  "coverage": 0.12
}

0.12% 看起来很小,但这 9 个文件是我最常用的核心文档。

这就是渐进式迁移的要义:不追求 100%,追求高频文件先覆盖。


Skill 的设计哲学:AI 是执行者,你是架构师

我的 JDex Steward skill 有几个核心原则:

1. 只读扫描,显式审批

扫描脚本永远只读。任何文件改动都需要你点头。这不是技术限制,是设计选择——AI 不应该擅自重组你的知识体系。

2. 渐进迁移,不搞大手术

Phase 0: Scan — 只看不动
Phase 1: Scaffold — 创建骨架(索引、模板)
Phase 2: New notes only — 新笔记用 JD,旧的不管
Phase 3: Touch-and-migrate — 打开旧笔记时顺手迁移
Phase 4: Weekly cleanup — 每周 15 分钟维护

目标不是 100% 覆盖,而是「找东西变快了」。

3. 用 alias 保留旧名

迁移文件时,旧文件名变成 alias。这样你的肌肉记忆还能用,搜索也不会断。


kepano + JDex = 完整的 AI 知识管理栈

现在我的 Claude Code 技能组合是:

层级Skill来源
格式层Markdown、Bases、Canvaskepano/obsidian-skills
结构层JDex StewardUncleJ-h/obsidian-jdex-steward

格式层解决「怎么写」,结构层解决「写在哪」。

两者组合,AI 终于可以像一个真正的知识管理助手一样工作:

  • 「帮我创建一篇关于 MCP 协议的笔记」→ 它知道用正确的 frontmatter 格式
  • 「这篇笔记应该放在哪里?」→ 它会根据 JD 结构建议分类和编号
  • 「生成产品哲学的索引页」→ 它会用 Dataview 查询动态生成

开源地址

JDex Steward: github.com/UncleJ-h/obsidian-jdex-steward

MIT 协议,随便用。

安装方法:

cp -r obsidian-jdex-steward ~/.claude/skills/

然后在 Claude Code 里说:「帮我扫描一下 Obsidian 库的 JD 覆盖率」。


写在最后

AI 时代的知识管理,核心问题不再是「怎么记」,而是「怎么找」。

kepano 的 obsidian-skills 让 AI 学会了 Obsidian 的语法。我的 JDex Steward 让 AI 学会了一套组织方法论。

你的笔记库可能不需要 Johnny.Decimal——任何让你能快速找到东西的系统都是好系统。

但如果你的库已经大到搜索也救不了,试试这个组合。

J叔

J叔

我用 Claude Code 给 7500+ 篇笔记做了 Johnny.Decimal 化 | J叔内参