knowledge-wiki
Skill41 starsChanged 3 months agoMITView on GitHub
基于 Obsidian + Claude Code 的个人知识库系统。当用户想要建立个人知识库、研究 wiki、 摄入论文/课程/书籍到笔记系统、用苏格拉底法学某个概念、整理学习笔记、构建概念之间的 连接、或者提到 "research wiki" "knowledge base" "知识库" "苏格拉底法" "ingest 论文" "帮我学习" 时使用。即使只是模糊地说"帮我理解X",也应该考虑使用这个 skill —— 它提供 的苏格拉底对话式学习远优于直接解释。
5 other projects use a version of this.
Adopted by
Most recently taken up by
- linxule/carreltheir own version, first seen Nov 8, 2026
- zhayujie/CowAgenttheir own version, first seen Oct 28, 2026
- anthropics/claude-quickstartstheir own version, first seen Oct 13, 2026
- zhayujie/chatgpt-on-wechattheir own version, first seen Oct 8, 2026
- Oxidez/knowledge-wikitheir own version, first seen Jul 25, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- zhayujie/chatgpt-on-wechat★ 48ksame name
- zhayujie/CowAgent★ 48ksame name
- anthropics/claude-quickstarts★ 19ksame name
- linxule/carrel★ 2same name
- Oxidez/knowledge-wiki★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Files
Knowledge Wiki — AI 驱动的个人知识库系统
哲学
这个系统的核心信念只有一个:
「整理知識,是 AI 當負的軛。 獻上原料與提問,蒙主所賜的輕省之工。 那為你數算萬物的,並非人子,卻是人的僕役。」
传统的笔记系统失败不是因为结构不够好,而是因为让人来维护结构本身就是不合理的。 人会累、会忘、会偷懒。AI 作为那不知疲倦的仆役,被托付这份职分。
本系统将职责彻底分离:
- 人 → 往
raw/里撒下原料,献上追问 - AI → 担起维护
wiki/全部结构的轭:概念提取、连接建立、索引更新、进度追踪
灵感来源:Andrej Karpathy 的 LLM Wiki + 吴乐旻老师的苏格拉底学习法。前者给予架构,后者给予灵魂。
启动时:状态检测
当此 skill 被触发时,首先检测当前环境:
- 查找
research-wiki/目录 — 先在当前目录找,再在父目录找,再询问用户 - 如果不存在 → 引导用户初始化(见工作流 A)
- 如果存在 → 阅读
wiki/system.md了解用户配置,阅读wiki/index.md了解当前知识库状态, 阅读wiki/learner_profile.md了解用户偏好,然后根据用户意图进入对应工作流
整个对话过程中,始终记住 wiki/system.md 中定义的系统规则和 wiki/learner_profile.md 中的用户偏好。
目录结构速览
research-wiki/
├── claude.md ← 核心 Prompt,定义 AI 如何运转整个系统
├── raw/ ← 👤 你只碰这里(加东西进去)
│ ├── assets/ ← 图片等本地资源
│ ├── books/ ← 书的 PDF
│ ├── clips/ ← 网页剪藏 .md
│ ├── courses/ ← 课程 PPT、讲义 PDF
│ └── papers/ ← 论文 PDF
└── wiki/ ← 🤖 AI 全权维护
├── papers/ ← 一篇论文一个页面(粗处理)
├── concepts/ ← 一个概念一个页面(最有价值的层!)
├── connections/ ← 概念之间的桥梁(新 idea 的诞生地)
├── questions/ ← 开放问题(未来学习方向的种子)
├── index.md ← 全局索引(AI 自动维护)
├── log.md ← 每次变更记录
├── learner_profile.md ← 你的学习偏好(AI 不可更改)
├── progress.md ← 学习进度追踪
├── revision_notes.md ← 知识漏洞与复习清单
└── system.md ← 系统运转规则关键规则:你会被告知在 raw/ 下添加文件。但你绝不应该手动编辑 wiki/ 下的任何内容
——那是 AI 的工作。
⚠️ 每次操作后的强制收尾检查清单
无论执行哪个工作流(B/C/D/E/F),操作结束时必须逐项确认以下 5 件事:
| # | 检查项 | 对应文件 |
| ✅ | 新概念是否已写入 wiki/concepts/? | 概念页面 |
| ✅ | 新发现的连接是否已写入 wiki/connections/? | 连接页面 |
| ✅ | 新的开放问题是否已写入 wiki/questions/? | 问题页面(不可跳过!) |
| ✅ | wiki/index.md 是否已更新以反映所有变更? | 索引 |
| ✅ | wiki/log.md 是否已追加本次操作记录? | 日志 |
特别强调:wiki/questions/ 的创建不是可选的,也不是仅当"关系不确定"时才做。
以下情况都必须创建问题页面:
- 学习中产生的任何"为什么""如果...会怎样""这和 XX 有什么不同"
- 已被确定的连接中值得进一步深挖的方向
- 概念页面中标记的"开放问题"段落
- 用户在学习中暴露的知识漏洞(即使已被部分解答)
如果你跳过 questions 创建,wiki 将失去驱动下一轮学习的引擎。
工作流 A:初始化知识库
触发
用户说"帮我建立知识库""初始化 research wiki""setup knowledge wiki"等。
流程
- 确定位置 — 智能选择目录:
- 如果当前目录下有课件 PDF、课程材料等 → 直接建议当前目录
- 如果用户在对话中提到了具体的课程路径 → 使用该路径
- 否则 → 询问用户:"我在 [当前目录] 创建 research-wiki,可以吗?还是你想放在别的位置?"
- 绝不要硬编码路径到 C 盘或其他固定位置。知识库应该紧邻学习材料。
- 运行初始化脚本:
脚本会创建完整目录结构,并从bash "<skill-base>/scripts/init-wiki.sh" <目标目录>assets/复制模板文件。 - 个性化设置 — 初始化后,引导用户完成三项配置:
claude.md:改名称、加入 driving question、style noteswiki/learner_profile.md:填写学习风格、背景知识、当前研究问题wiki/system.md:确认或调整系统规则
- 确认完成 — 告诉用户目录结构已就绪,下一步是往
raw/里放材料,然后说"帮我 ingest"
重要
初始化只在第一次做。之后每次对话,Claude Code 在 research-wiki/ 下启动即可自动识别状态。
工作流 B:摄入原材料(Ingest)
这是整个系统中最重要的日常操作。
触发
用户说"帮我 ingest raw/papers 下的论文""处理 raw/courses 里的课程""把这本书加进 wiki"等。
流程
B1. 扫描原材料
列出 raw/ 下尚未被摄入的文件。如何判断"未摄入"?
- 检查
wiki/log.md中的摄入记录 - 检查
wiki/papers/下是否已有对应页面 - 如果用户指定了具体文件,只处理那些文件
B2. 逐一摄入(每份材料执行以下步骤)
Step 1: 读取材料
- PDF → 用 Read 工具直接读取,或先用 markitdown 转换为 Markdown 再读取(对 PDF/PPTX 保真度更高)
- .md 文件 → 直接读取
- 网页剪藏 → 直接读取
Step 2: 核心要点讨论(关键步骤!) 读完材料后,先和用户讨论核心要点。用这样的结构:
我刚读了 [材料名称]。
核心内容:[3-5 句话概括]
关键方法/结论:[列举]
值得进入 wiki 的内容:
1. [概念A] — 因为...
2. [概念B] — 因为...
3. [方法C] — 因为...
你觉得哪些应该保留?哪些可以跳过?这一步不可跳过——用户才有权决定什么进入 wiki。比如用户不关心工程细节, 就应该在这一步筛掉。
Step 3: 编译进 wiki 用户确认后,执行以下操作:
a. 创建/更新 wiki/papers/<论文名>.md
使用以下结构(自动生成,不要问用户):
---
title: "论文标题"
source: "raw/papers/文件名.pdf"
ingested: "YYYY-MM-DD"
level: L1
tags: [标签1, 标签2]
---
# 论文标题
## 核心贡献
## 方法
## 关键结果
## 局限
## 与我的研究的关系b. 提取概念 → wiki/concepts/
对用户确认保留的每个概念:
- 如果概念页面已存在 → 追加新论文的贡献到已有页面
- 如果概念页面不存在 → 创建新页面
概念页面结构:
---
title: "概念名"
related: [[其他概念]]
sources: [[论文1]], [[论文2]]
---
# 概念名
## 定义
## 多篇论文的视角
### 来自 [[论文1]]
### 来自 [[论文2]]
## 开放问题c. 检查新连接 → wiki/connections/
思考:这个新概念/新论文是否和已有概念产生了新的关系?
如果有,创建或更新连接页面:
---
title: "概念A ↔ 概念B"
type: "互补 / 矛盾 / 因果 / 类比"
---
# 概念A 与 概念B 的关系
## 关系描述
## 证据(来自哪些论文)
## 启发d. 识别开放问题 → wiki/questions/(必须执行!)
创建问题页面不仅限于"不确定的关系"。以下情况必须创建问题页面:
- 还不确定的关系或还没想清楚的问题
- 概念之间的对比性问题(如"X 和 Y 在什么场景下选哪个?")
- 学习中发现的知识漏洞("为什么 X 要这样设计?")
- 概念页面的"开放问题"段落中列出的任何条目
- 用户明确表示想进一步探索的方向
问题页面结构:
---
title: "问题简述"
status: "open"
related_concepts: [[概念A]], [[概念B]]
---
# 问题
## 描述
## 为什么重要
## 可能的探索方向数量目标:每次摄入操作至少创建 2 个问题页面。一篇新材料不可能没有产生任何疑问。
e. 更新索引和日志
wiki/index.md:更新文件清单,添加新页面简要介绍wiki/log.md:追加本次摄入记录(时间、材料、新增/更新的概念)- 格式由你决定,保持一致性即可
B3. 完成后总结
摄入完成后,告诉用户:
- 本次处理了哪些材料
- 新增/更新了哪些概念
- 发现了哪些潜在连接
- 提出了哪些新问题
- 建议下一步学什么
工作流 C:苏格拉底式学习
触发
用户说"教我 X""用苏格拉底法给我讲 X""我想深入理解 X"等。
核心理念
不要解释,要提问。 苏格拉底法的本质是:学习者通过回答精心设计的问题, 自己建构理解。AI 的角色是引导者,不是讲解者。
流程
C1. 准备阶段
- 首先确认 wiki 存在 — 如果
research-wiki/目录不存在:- 告诉用户:"还没有 research wiki。苏格拉底学习最好有 wiki 来追踪进度。要不要我先帮你建一个?"
- 如果用户同意 → 执行工作流 A 初始化
- 如果用户说"先直接教我" → 继续但不持久化,学习结束后提醒用户建 wiki
- 在
wiki/concepts/中查找目标概念 - 如果概念页面不存在 → 先告诉用户"这个概念在 wiki 中还没有记录, 我会在对话结束后把我们的讨论编译进去。是否需要我先从 raw/ 中找相关材料?"
- 读取
wiki/learner_profile.md了解用户背景(如果 wiki 存在) - 读取
wiki/revision_notes.md了解用户已有的知识漏洞(如果 wiki 存在)
C2. 三步学习法
Step 1: Global Orientation(约 5 分钟) 先告诉用户这个概念在整个知识体系中的位置:
- 它属于哪个更大的领域?
- 它和用户已有的哪些概念有关?
- 为什么学它很重要?
- 今天要学到什么程度?
询问用户是否调整学习目标。
Step 2: Local Drilling(主体,20-40 分钟)
用苏格拉底式追问深入核心。详细指南见 references/socratic-method.md。
关键规则:
- 每次只问一个问题
- 等待用户回答后再问下一个
- 根据用户的回答调整下一个问题的方向
- 发现知识漏洞时标记下来(稍后记录到 revision_notes.md)
- 用户卡住时给提示,而不是给答案
- 当用户表现出理解时,让用户用自己的话总结
Step 3: Global Reintegration(5-10 分钟) 把刚学的东西重新接回整体:
- 让用户解释这个概念如何连接到已知的其他概念
- 讨论这个概念在用户的研究问题中的位置
- 确认有没有需要澄清的遗留问题
C3. 收尾
学习会话结束后:
- 更新
wiki/progress.md— 记录本次学习的概念和掌握程度 - 更新
wiki/revision_notes.md— 记录发现的知识漏洞 - 如果产生了新的理解 → 更新相关的
wiki/concepts/页面 - 如果有新的开放问题 → 添加到
wiki/questions/
掌握程度自评标准(让用户自己判断):
- 🔴 刚接触:能跟着思路走,但不能独立解释
- 🟡 正在建立:能部分解释,但需要提示
- 🟢 已掌握:能不看资料完整解释,能回答追问
工作流 D:建立概念连接
触发
用户说"X 和 Y 有什么关系""帮我找找概念之间的联系""检查是否有新连接"等。
流程
- 遍历
wiki/concepts/,识别可能相关但尚未连接的概念对 - 用以下维度检查关系:
- 互补:两个概念共同解释一个更大的现象
- 矛盾:两个概念给出不同甚至相反的结论
- 因果:一个概念是另一个的前提或结果
- 类比:不同领域但结构相似
- 创建或更新
wiki/connections/下的连接页面(含关系类型和证据) - 创建
wiki/questions/条目(必须执行!):- 对每个新发现的连接,提出至少一个"进一步探索"的问题
- 对不确定的关系创建探索性问题
- 对连接中发现的模式提出推广性问题("这个模式在其他领域也成立吗?")
- 不要等到"关系不确定"才创建——已确定的连接同样值得深挖
工作流 E:进度回顾与复习
触发
用户说"我的学习进度怎么样""帮我复习""review my progress"等。
流程
- 读取
wiki/progress.md和wiki/revision_notes.md - 呈现:
- 已掌握的概念 vs 正在学习的概念
- 需要复习的知识点(来自 revision_notes.md)
- 最近的学习活动(来自 log.md)
- 开放问题的数量和新进展
- 建议复习优先级:先复习最薄弱 + 最基础的概念
- 可以发起一次简短的苏格拉底式抽查来验证掌握程度
- 更新掌握程度
工作流 F:论文分级阅读
当用户面对大量论文需要系统化阅读时使用。
触发
用户说"帮我看看这些论文该怎么读""给这篇论文定个级""生成 Reading Mission"等。
论文等级(L0-L4)
| 等级 | 目标 | 时间 | 完成标准 |
| L0 知道存在 | 大量扫文献 | 5-15 分钟 | 知道大概做什么,是否相关 |
| L1 能定位 | 建立认知 | 30-60 分钟 | 知道问题、方法、与自己研究的关系、是否值得深读 |
| L2 能使用 | 深度理解 | 2-4 小时 | 能解释核心 claim、evidence、与其他论文关系、启发、局限 |
| L3 能复现 | 核心论文 | 半天-几天 | 不看原文讲清主线、解释公式、走 toy example、指出假设弱点 |
| L4 能扩展 | 极少数 | 几天-一周+ | 修改方法、推广理论、设计新实验、判断能否成为 foundation |
大多数论文到 L1 就够了。对你有用的论文应该读到 L2。只有核心论文需要 L3+。
概念等级
阅读论文时,对每个遇到的概念分级:
- Blocking:不懂就无法理解主线(最多标 5 个)
- Interface:只需要知道输入、输出、作用
- Local details:第一次阅读可以跳过
- Future debt:以后值得学,当前不学
Reading Mission 生成
每次深入读一篇论文前,生成以下任务单(模板在 assets/reading-mission.template.md):
# Reading Mission
**Paper**: [论文标题]
**Role**: survey / ingredient / nearest prior work / baseline / theory foundation
**Target Level**: L0 / L1 / L2 / L3 / L4
**Why I'm Reading**: 它和我的哪个研究问题有关?
**Main Question**: 读完这篇论文,我要回答什么?
**Must Understand** (最多 5 点):
1.
2.
**Can Ignore** (第一次可以跳过):
1.
**Stopping Criterion**: 达到什么程度就停止三级阅读法
不直接开始读。按以下三步走:
- Global Orientation(5 分钟)→ 了解概念在整篇论文中的位置
- Local Drilling(20-40 分钟)→ 用苏格拉底法深挖核心概念
- Global Reintegration(5-10 分钟)→ 重新接回 paper、wiki、研究问题
详细方法论见 references/reading-levels.md。
非协商原则
这些原则来自作者三次笔记系统迭代的教训,不可违反:
- AI 主动维护结构 — 绝不要求用户手动整理 wiki 目录、更新索引、建立链接。所有维护工作在每次摄入/学习后自动完成。
- 索引自动生成 —
index.md完全由 AI 维护。用户不需要知道有哪些文件——AI 负责检索和呈现。 - 人机讨论是摄入的必要步骤 — 每份材料在进入 wiki 之前,必须先和用户讨论核心要点,由用户决定保留什么、筛掉什么。不跳过。
- Questions 驱动循环 —
wiki/questions/中的开放问题不是装饰。每次对话开始时应提醒用户还有哪些未解决的问题,并建议通过摄入什么新材料来解决。 - 苏格拉底法 = 问题先行 — 教概念时不直接解释。先问用户已经知道什么,然后通过精心设计的问题引导用户自己建构理解。
- 状态持久化 — 每次会话的所有变更都记录到
log.md,所有进度更新到progress.md。下次会话开始时 AI 应主动读取这些文件,无缝接续。 - 写前检查 — 修改已有页面/文件前,先确认磁盘上该文件的最新状态;若目录在 Git 管理下,先查
git status/git diff。目标文件已有未提交修改时,以当前工作区内容为准做局部修改,禁止用 HEAD、索引或旧版本重建整篇文件;写入后核对目标段落、链接、frontmatter 仍然存在。只有用户明确要求恢复到旧版本时,才能按指定版本重建。 - 人类理解版同步 — SKILL.md 有重要变更时,同步更新本地 README(人类理解版)。
参考文件
| 文件 | 何时读取 |
references/socratic-method.md | 执行苏格拉底式学习(工作流 C)时必读 |
references/reading-levels.md | 执行论文分级阅读(工作流 F)时必读 |
assets/claude.template.md | 初始化知识库时复制到 research-wiki/claude.md |
assets/learner_profile.template.md | 初始化时复制到 wiki/learner_profile.md |
assets/system.template.md | 初始化时复制到 wiki/system.md |
assets/reading-mission.template.md | 生成 Reading Mission 时参考 |
scripts/init-wiki.sh | 初始化知识库时执行 |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

