Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MarginNote 4 × Obsidian Study Loop

把每日自然语言汇报、MarginNote 卡片和人工复盘,整理成一个会提醒你下一步做什么的本地学习数据库。

Obsidian Node.js 22+ macOS Local first Privacy reviewed

它解决什么问题 · 每天怎样使用 · 开始页结构 · 插件依赖 · 快速开始

Note

这是一个工作流配置与源码仓库,不是公开 Vault。真实笔记、附件、MarginNote 数据库、卡片 ID、学习进度和本机路径始终留在本地。

Important

本页不使用模拟产品截图,也不填充虚构的学习成果。效果展示来自真实脚本、真实配置结构和脱敏后的运行数量统计。

它解决什么问题

学习材料并不只来自一个地方:你可能在 MarginNote 里划卡片、在聊天里说今天完成了什么、拍下作业、补一句“这里还是没懂”。如果只做收藏,这些输入很快会再次散开。

这个工作流把它们变成四种可行动的结果:

输入 处理 进入 Obsidian 后
每日自然语言汇报 保留原话、确认薄弱点、拆分学科 每日记录、原子笔记、复习任务
图片与 PDF 保存原件、记录来源、按材料类型归类 附件引用与来源回链
MarginNote 卡片 SQLite 只读提取、合并父子卡片、按颜色分类 知识点、例题、未掌握习题
人工复盘判断 填写掌握度、薄弱类型和下一步 Bases 视图、Tasks 队列、开始页

它不是把 AI 当作“自动猜答案”的黑箱,而是一个 human-in-the-loop 系统:自动化负责搬运、整理和核验;掌握程度、错因和下一步由学习者明确表达,由 AI 助手协助结构化。

每天怎样使用

最重要的入口不是脚本,而是一次简短汇报。

学习者:
今天状态一般。完成了力学第二章听课和两道题,
第二题的守恒条件还是容易漏;教育史只完成了听课,没背诵。
附件是今天的错题照片。

AI 助手随后完成:

  1. 保存原话:建立当天的每日学习记录,不改写事实。
  2. 补齐判断:若没有说明未掌握或完成不理想之处,先追问,不凭空推断。
  3. 整理材料:保存图片/PDF,判断学科、类型和来源;不确定的放入收件箱。
  4. 拆成原子笔记:知识点与习题分别记录,并链接回每日记录和原附件。
  5. 生成复习动作:按“未掌握、模糊、基本掌握、已掌握”安排下次复习,并建立 #复习 任务。
  6. 刷新开始页:只保留今天重点、最新暴露问题、下一步和到期任务。
  7. 返回简短回执:告诉学习者写入了什么、还缺什么信息。

完整规则、字段和复习间隔见 每日汇报与 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: 返回整理结果与待补信息
Loading

真实的开始页结构

仓库不公开真实 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[今天做什么 / 下一步怎么做]
Loading

真实运行结果(已脱敏)

生成笔记 合并源卡片 同步附件 Vault 文件 Vault 大小 最近核验
1,014 1,077 219 1,396 约 39 MB 全部通过

三类实际批次与核验项目见 真实运行结果。这些数字用于展示工作流规模,相关笔记与附件没有上传。

需要哪些插件

必需

类型 插件 用途
Obsidian 核心插件 Bases 按 Properties 生成学习总览、薄弱点、错题、待复习视图
Obsidian 核心插件 Properties 保存 masterynext_reviewsubjectweakness_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。

快速开始

1. 获取配置

git clone https://github.com/fenbuxishu/mn4-obsidian-workflow.git
cd mn4-obsidian-workflow

2. 安装 Obsidian 配置

  • config/bases/ 复制到 Vault 的复习管理目录;
  • config/templates/ 复制到模板目录;
  • 参考 config/obsidian/ 启用核心插件并设置 Daily notes / Templates;
  • 从社区插件市场安装并启用 Tasks。

3. 创建仅本机可见的路径配置

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 排除。

4. 先做 dry run

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 和个人学习进度;
  • 教材原图或大段受版权保护的内容。

详细恢复方法见 工作流备份与恢复。这个仓库备份的是方法与配置,不是学习数据库本身。

About

把每日汇报与 MarginNote 卡片整理成 Obsidian 复习闭环:AI 协作、Bases、Tasks、增量同步与本地优先。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages