| name | capacities-batch |
| description | Capacities 批量原子化改写工具:把 Zettels 等源笔记按 doto 六要素原子笔记标准, 批量改写为合规的 Atomic note 并回写 Capacities,源笔记只读不写。 封装了 Capacities REST API 的私有调用、frontmatter 规范化坑、429 限流退避、增量落盘等操作性细节。 触发词:批量改写 Capacities、原子化一批 Zettels、batch rewrite notes、 把这批笔记改成原子笔记、capacities 批量创建原子笔记、batch create atomic notes |
Capacities 批量原子化改写
把一批源笔记(Zettels 等)按 doto 六要素原子笔记标准,批量改写为合规 Atomic note 并回写 Capacities。
铁律:源笔记全程只读,绝不修改。
何时使用
当用户要求「批量」处理 Capacities 笔记时——把一批 Zettels 改成原子笔记、原子化某个主题下的笔记、
或任何涉及「逐条创建多条 Atomic note」的场景。单条笔记改写用 doto-create 即可,不需要本工具。
前置(首次使用)
- 确认
CAPACITIES_API_TOKEN / CAPACITIES_SPACE_ID / CAPACITIES_ATOMIC_STRUCTURE_ID /
CAPACITIES_ZETTELS_STRUCTURE_ID 已设置(参考 .env.example)。
- 确认对象类型已存在:Atomic note(主笔记)、Zettels(源)。
标准流程(每批)
- 准备批次清单
batch_list.json:{"B01":[{"title":..,"id":..}, ...], ...}(见示例)。
- dump 诊断:
python dump_batch.py batch_list.json B01 读源正文,
判断每条是否单主题;仅真正含多个独立想法的源才拆分(一个源 = 一个主题 N,原子笔记 N.1)。
- 撰写
notes.json:每条 {fid, title, tags, body, src_id, src_title}(见示例)。
fid 用 doto Folgezettel:topic.number(如 187.1);拆分则 187.1..187.K。
body 用自己的话写原子想法(完整句子,一个想法)。
src_id / src_title 用于生成回链(A 方案:[src_title](url))。
- 创建:
python batch_create.py notes.json created.json(增量落盘,可断点续跑)。
- 校验:
python verify_batch.py created.json(按 fogglezettelId + 源回链双重检查)。
- 记账:
python mark_batch.py B01 created.json progress.json。
关键坑(脚本已内置,勿重复踩)
- 校验匹配串必须是
fogglezettelId: '{fid}'(规范化后驼峰 + 单引号),不是 Fogglezettel ID。
- 429 限流已内置退避;不要去掉
call() 的重试。
- 源 Zettels 的 structureId 在
CAPACITIES_ZETTELS_STRUCTURE_ID,主笔记在 CAPACITIES_ATOMIC_STRUCTURE_ID。
不要做的事
- 不要修改源 Zettels。
- 不要把真实 Token / spaceId 写进脚本或提交版本库(走环境变量)。
- 不要用
@[..](..)(旧 MCP 语法);回链用标准 Markdown [..](url)。