把每日自然语言汇报、MarginNote 卡片和人工复盘,整理成一个会提醒你下一步做什么的本地学习数据库。
它解决什么问题 · 每天怎样使用 · 开始页结构 · 插件依赖 · 快速开始
Note
这是一个工作流配置与源码仓库,不是公开 Vault。真实笔记、附件、MarginNote 数据库、卡片 ID、学习进度和本机路径始终留在本地。
Important
本页不使用模拟产品截图,也不填充虚构的学习成果。效果展示来自真实脚本、真实配置结构和脱敏后的运行数量统计。
学习材料并不只来自一个地方:你可能在 MarginNote 里划卡片、在聊天里说今天完成了什么、拍下作业、补一句“这里还是没懂”。如果只做收藏,这些输入很快会再次散开。
这个工作流把它们变成四种可行动的结果:
| 输入 | 处理 | 进入 Obsidian 后 |
|---|---|---|
| 每日自然语言汇报 | 保留原话、确认薄弱点、拆分学科 | 每日记录、原子笔记、复习任务 |
| 图片与 PDF | 保存原件、记录来源、按材料类型归类 | 附件引用与来源回链 |
| MarginNote 卡片 | SQLite 只读提取、合并父子卡片、按颜色分类 | 知识点、例题、未掌握习题 |
| 人工复盘判断 | 填写掌握度、薄弱类型和下一步 | Bases 视图、Tasks 队列、开始页 |
它不是把 AI 当作“自动猜答案”的黑箱,而是一个 human-in-the-loop 系统:自动化负责搬运、整理和核验;掌握程度、错因和下一步由学习者明确表达,由 AI 助手协助结构化。
最重要的入口不是脚本,而是一次简短汇报。
学习者:
今天状态一般。完成了力学第二章听课和两道题,
第二题的守恒条件还是容易漏;教育史只完成了听课,没背诵。
附件是今天的错题照片。
AI 助手随后完成:
- 保存原话:建立当天的每日学习记录,不改写事实。
- 补齐判断:若没有说明未掌握或完成不理想之处,先追问,不凭空推断。
- 整理材料:保存图片/PDF,判断学科、类型和来源;不确定的放入收件箱。
- 拆成原子笔记:知识点与习题分别记录,并链接回每日记录和原附件。
- 生成复习动作:按“未掌握、模糊、基本掌握、已掌握”安排下次复习,并建立
#复习任务。 - 刷新开始页:只保留今天重点、最新暴露问题、下一步和到期任务。
- 返回简短回执:告诉学习者写入了什么、还缺什么信息。
完整规则、字段和复习间隔见 每日汇报与 AI 整理闭环。这个步骤目前是协作式写入,不需要把任何 AI API Key 放进仓库,也不等同于无人值守的后台脚本。
sequenceDiagram
participant L as 学习者
participant A as AI 助手
participant D as 每日记录
participant K as 原子笔记
participant R as Bases / Tasks
participant H as 开始页
L->>A: 汇报状态、完成情况、材料、薄弱点
A->>L: 信息不足时追问掌握情况
A->>D: 原话与附件按日期保存
A->>K: 拆分知识点 / 习题并建立回链
A->>R: 更新掌握度、复习日期与任务
A->>H: 刷新今日重点、复盘结论与下一步
A-->>L: 返回整理结果与待补信息
仓库不公开真实 Vault,因此这里不展示伪造截图。可复制的 开始页模板 与实际工作流使用相同的栏目、Tasks 查询和 Bases 嵌入,但所有个人学习内容均保留为明确的“待汇报”占位符。
开始|每日学习总览
├── 今日三个重点 ← 最近一次汇报整理后写入
├── 今天及逾期的复习任务 ← Tasks 实时查询
├── 今日完成情况 ← 状态、已完成、待改进
├── 最新复盘结论 ← 科目、当前问题、下一步
├── 快速入口 ← 每日记录、学科首页、收件箱
└── 学习数据库 ← Bases 薄弱点、待处理、学习总览
开始页只承担“行动仪表盘”的职责:
- 今日三个重点:从最近一次汇报与复盘中压缩出来;
- 今天及逾期:由 Tasks 查询实时汇总;
- 最新复盘结论:显示问题和下一步,不重复整篇每日记录;
- 学习数据库:嵌入薄弱点、待处理材料与学习总览 Base;
- 快速入口:连接每日记录、学科首页、复习任务和整理规则。
flowchart TB
subgraph Daily[每日汇报管线 · 人工把关]
U[自然语言 / 图片 / PDF] --> Q{薄弱点说明完整?}
Q -->|否| Ask[追问,不猜测]
Q -->|是| Log[每日记录 + 原话保留]
Ask --> Log
Log --> Atom[知识点 / 习题原子笔记]
end
subgraph MN4[MarginNote 管线 · 后台增量]
Cards[卡片 + 父子关系 + 附件] --> Read[SQLite 只读查询]
Read --> Classify[颜色 / 章节 / 节次分类]
Classify --> Atom2[自动笔记 + 附件 + 原卡片回链]
end
Atom --> Vault[(Obsidian Vault)]
Atom2 --> Vault
Vault --> Bases[Bases: 总览 / 薄弱点 / 错题]
Vault --> Tasks[Tasks: 到期复习]
Vault --> Verify[完整性核验]
Bases --> Start[开始页]
Tasks --> Start
Start --> Next[今天做什么 / 下一步怎么做]
| 生成笔记 | 合并源卡片 | 同步附件 | Vault 文件 | Vault 大小 | 最近核验 |
|---|---|---|---|---|---|
| 1,014 | 1,077 | 219 | 1,396 | 约 39 MB | 全部通过 |
三类实际批次与核验项目见 真实运行结果。这些数字用于展示工作流规模,相关笔记与附件没有上传。
| 类型 | 插件 | 用途 |
|---|---|---|
| Obsidian 核心插件 | Bases | 按 Properties 生成学习总览、薄弱点、错题、待复习视图 |
| Obsidian 核心插件 | Properties | 保存 mastery、next_review、subject、weakness_type 等结构化字段 |
| Obsidian 核心插件 | Templates | 插入每日学习记录模板 |
| Obsidian 核心插件 | Daily notes | 按日期创建每日记录并放入固定目录 |
| 社区插件 | Tasks | 查询今天及逾期的 #复习 任务 |
| 插件 | 什么时候有用 | 是否影响主流程 |
|---|---|---|
| MarginNote Companion | 希望在 Obsidian 内增加 MarginNote 交互入口时 | 否;脚本直接只读 SQLite |
| Omnisearch | 笔记规模较大,需要更强全文搜索时 | 否 |
| Local Backup | 想额外保留本机压缩备份时 | 否;GitHub 只备份工作流配置 |
| Obsidian Git | Vault 不在 iCloud,且明确想用 Git 管理整个 Vault 时 | 否;当前设计不让它操作真实数据库 |
不依赖 Dataview、Templater、QuickAdd、Excalidraw 或 Linter。插件设置与官方文档链接见 插件与核心功能。
- 本地优先:MarginNote 数据库、Vault、附件和日志不离开本机。
- 原话优先:每日汇报先存原文,摘要不能替代证据。
- 不猜掌握度:缺少反思时标记“待补充”并追问。
- 增量更新:来源签名未变化时不重写笔记。
- 人工区保护:自动区块可更新,人工补充区保持不变。
- 保守清理:只有确认由脚本生成且没有人工补充的过期笔记才会删除。
- 同步后核验:逐批检查数据库卡片、笔记文件、附件引用与重复 ID。
git clone https://github.com/fenbuxishu/mn4-obsidian-workflow.git
cd mn4-obsidian-workflow- 将
config/bases/复制到 Vault 的复习管理目录; - 将
config/templates/复制到模板目录; - 参考
config/obsidian/启用核心插件并设置 Daily notes / Templates; - 从社区插件市场安装并启用 Tasks。
mkdir -p ~/.config/mn4-obsidian-sync
cp config/config.env.example ~/.config/mn4-obsidian-sync/config.env填写 Vault、MarginNote SQLite 和 Topic ID。真实 config.env 已被 .gitignore 排除。
node scripts/mn4_auto_sync.mjs \
--vault="/path/to/vault" \
--database="/path/to/MarginNotes.sqlite" \
--studyset="普通物理" \
--color=COLORA \
--dry-run=true确认分类、目标目录和报告后,再运行正式同步并安装 scheduler/ 中的 launchd 示例。
Warning
脚本会写入 Vault,并在严格条件下清理旧的自动生成笔记。首次使用前必须备份,并阅读 写入与删除边界。
.
├── config/
│ ├── bases/ # 5 个真实 Base 查询配置
│ ├── obsidian/ # 不含插件 data.json 的核心设置
│ ├── templates/ # 每日记录与无虚构数据的开始页模板
│ └── 工作流说明.md
├── docs/ # 架构、每日闭环、插件、效果与恢复
├── scheduler/ # macOS launchd 示例
└── scripts/ # 同步、分类、总览和完整性核验
这个公开仓库不会包含:
- MarginNote SQLite、WAL、备份和媒体目录;
- Obsidian 真实笔记、附件和同步状态 JSON;
- Local REST API、OCR 或其他插件密钥;
- 用户名、绝对路径、真实 Topic ID、卡片 ID 和个人学习进度;
- 教材原图或大段受版权保护的内容。
详细恢复方法见 工作流备份与恢复。这个仓库备份的是方法与配置,不是学习数据库本身。