# Anki live deck批处理助手 ## Before 每次 live Anki 修改都临时拼查询和脚本:先手动确认 `flag:1` 或 `tag:mood` 的数量,再单独导出 deck、删除或更新字段,最后重新写查询复核。流程能跑通,但风险点散落在对话里:expected count 可能记错,备份路径不统一,删除和更新的 postcheck 也需要每次重新设计。 ## After 新增批处理 plan: ```yaml batch_id: lyrics_mood_translation_20260523 mode: apply source: deck: 英文歌词 query: 'deck:"英文歌词" tag:mood' expected_note_count: 27 backup: decks: - 英文歌词 operation: type: update_fields fields: Translation: data/mood_translation_updates.json postcheck: queries: - query: 'deck:"英文歌词" tag:mood' expected_note_count: 27 - query: 'deck:"英文歌词" tag:mood Translation:*表达拆解*' min_note_count: 20 ``` Runner 执行顺序固定为 `AnkiConnect version -> findNotes -> notesInfo -> exportPackage -> updateNoteFields/deleteNotes -> postcheck`。如果 live 查询数量不是 27,直接失败并输出 report;如果成功,report 记录备份包、变更 note id、抽样字段和复核查询结果。