anki

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Anki Flashcard Generator

Anki闪卡生成器

Generate Anki flashcards from any source material. Produces TSV files ready for direct import.
从任意源材料生成Anki闪卡,输出可直接导入的TSV文件。

Reference Files

参考文件

FileRead When
references/card-design-rules.md
Default: card construction, anti-patterns, bidirectional rules
references/tsv-format-spec.md
Formatting output as TSV
references/difficulty-calibration.md
Applying difficulty and quantity settings
文件适用场景
references/card-design-rules.md
默认:卡片构建、反模式、双向卡片规则
references/tsv-format-spec.md
将输出格式化为TSV
references/difficulty-calibration.md
应用难度与数量设置

Parameters

参数

Ask the user for these before generating. Default to Standard / Medium if not specified.
生成前需向用户确认以下参数,未指定时默认使用标准数量/中等难度。

Number of cards

卡片数量

SettingCardsStrategy
Fewer15-25High-priority concepts only. Every card earns its place.
Standard30-50Balanced coverage. Core concepts plus important supporting detail.
More60-100+Comprehensive. Includes nuance, edge cases, and worked examples.
设置卡片数策略
较少15-25仅保留高优先级概念,每张卡片都有存在的价值
标准30-50平衡覆盖核心概念与重要辅助细节
较多60-100+全面覆盖,包含细节、边缘案例与实例

Difficulty

难度等级

LevelCognitive taskCard style
EasyRecognition, definition, identification"What is X?", "Define X", single-fact cloze
MediumApplication, comparison, analysis"Why does X matter?", "Compare X and Y", multi-cloze
HardSynthesis, evaluation, multi-step reasoning"How would you apply X to Y?", scenario-based, chained cloze
等级认知任务卡片样式
简单识别、定义、区分"什么是X?"、"定义X"、单事实完形填空
中等应用、比较、分析"X的重要性是什么?"、"比较X与Y"、多空完形填空
困难综合、评估、多步骤推理"如何将X应用于Y?"、场景化问题、链式完形填空

Workflow

工作流

- [ ] 1. Collect source material
- [ ] 2. Confirm parameters
- [ ] 3. Identify key concepts
- [ ] 4. Assign topics and priorities
- [ ] 5. Choose card types
- [ ] 6. Draft cards
- [ ] 7. Format as TSV
- [ ] 8. Self-review
- [ ] 9. Output
- [ ] 1. 收集源材料
- [ ] 2. 确认参数
- [ ] 3. 识别核心概念
- [ ] 4. 分配主题与优先级
- [ ] 5. 选择卡片类型
- [ ] 6. 撰写卡片初稿
- [ ] 7. 格式化为TSV
- [ ] 8. 自我审核
- [ ] 9. 输出结果

1. Collect source material

1. 收集源材料

Read the provided content (transcript, document, skill, etc.). Every card must trace to the source material. Do not generate cards from general knowledge.
读取提供的内容(文字记录、文档、技能资料等)。每张卡片的内容必须源自源材料,不得基于通用知识生成。

2. Confirm parameters

2. 确认参数

Ask the user for card count and difficulty if not specified. Default to Standard / Medium.
若用户未指定,需询问卡片数量与难度等级,默认使用标准数量/中等难度。

3. Identify key concepts

3. 识别核心概念

Extract core facts, definitions, relationships, formulas, benchmarks, and frameworks from the source. Group by topic.
从源材料中提取核心事实、定义、关系、公式、基准与框架,按主题分组。

4. Assign topics and priorities

4. 分配主题与优先级

Map each concept to a topic tag (kebab-case). Assign priority levels:
  • priority::high
    — Core concepts that appear repeatedly or underpin other ideas
  • priority::medium
    — Supporting detail that strengthens understanding
  • priority::low
    — Reference knowledge, nice to have
为每个概念分配短横线命名法(kebab-case)的主题标签,并设置优先级:
  • priority::high
    —— 反复出现或作为其他概念基础的核心概念
  • priority::medium
    —— 辅助理解的支撑细节
  • priority::low
    —— 参考性知识,有则更佳

5. Choose card types

5. 选择卡片类型

Select the card type based on what is being tested:
Basic — Direct Q&A for explanations, reasoning, comparisons, processes.
  • Front: A specific question. Never yes/no. Never vague ("Tell me about X").
  • Back: Concise answer with
    <b>bold</b>
    on the key phrase the learner must recall.
Reversed (bidirectional) — For terminology, translations, concept ↔ example pairs.
  • Generate two separate Basic cards: Term → Definition AND Definition → Term.
  • Only reverse when both directions produce useful recall. Do NOT reverse explanatory or reasoning cards.
  • Tag both cards with
    reversed
    modifier.
Cloze — For port numbers, specific values, command syntax, formulas, numeric benchmarks.
  • Text: Complete sentence with
    {{c1::blanks}}
    replacing key values.
  • Use multiple deletions (c1, c2, c3...) when values belong to one coherent fact.
  • Tag with
    formulas
    for formulas,
    benchmarks
    for numeric thresholds.
根据测试内容选择对应卡片类型:
基础型(Basic) —— 用于解释、推理、比较、流程类的直接问答。
  • 正面:具体问题,禁止是非题或模糊问题(如“告诉我关于X的内容”)。
  • 反面:简洁答案,需将学习者必须回忆的关键短语用
    <b>加粗</b>
    标记。
双向型(Reversed) —— 用于术语、翻译、概念↔实例配对。
  • 生成两张独立的基础型卡片:术语→定义 以及 定义→术语。
  • 仅当两个方向的回忆都有价值时才使用双向型,禁止对解释或推理类卡片使用。
  • 为两张卡片都添加
    reversed
    修饰标签。
完形填空型(Cloze) —— 用于端口号、特定数值、命令语法、公式、数值基准等。
  • 文本:完整句子,用
    {{c1::blanks}}
    替换关键数值。
  • 当多个数值属于同一连贯事实时,可使用多个空白(c1、c2、c3...)。
  • 公式类添加
    formulas
    标签,数值阈值类添加
    benchmarks
    标签。

6. Draft cards

6. 撰写卡片初稿

Write each card following the design rules in
references/card-design-rules.md
. Apply difficulty calibration from
references/difficulty-calibration.md
.
遵循
references/card-design-rules.md
中的设计规则撰写每张卡片,参考
references/difficulty-calibration.md
调整难度。

7. Format as TSV

7. 格式化为TSV

Format cards following the exact specification in
references/tsv-format-spec.md
.
严格按照
references/tsv-format-spec.md
中的规范格式化卡片。

8. Self-review

8. 自我审核

Check every card against the quality checklist below. Remove or rewrite any that fail.
对照下方质量检查表检查每张卡片,删除或重写未通过的卡片。

9. Output

9. 输出结果

Present Basic cards and Cloze cards as separate TSV code blocks. Include count summary and import instructions:
  1. Open Anki → File → Import
  2. Select the TSV file
  3. Set note type to "Basic" or "Cloze" as appropriate
  4. Map fields: Field 1 → Front/Text, Field 2 → Back/Extra, Field 3 → Tags
将基础型卡片与完形填空型卡片分别作为独立的TSV代码块展示,同时包含卡片数量汇总与导入说明:
  1. 打开Anki → 文件 → 导入
  2. 选择TSV文件
  3. 根据卡片类型设置笔记类型为“Basic”或“Cloze”
  4. 映射字段:字段1 → 正面/文本,字段2 → 反面/补充,字段3 → 标签

Quality Checklist

质量检查表

Every card must pass all of these:
  • Atomic — Tests exactly one fact. If you need "and" to describe what it tests, split it.
  • 8-second rule — A prepared learner can answer in under 8 seconds.
  • Source-grounded — The answer comes from the provided source material, not general knowledge.
  • Useful for recall — Tests meaningful knowledge, not trivial facts.
  • No orphans — The learner can understand this card without needing another card first.
  • Bold highlight — The answer has at least one
    <b>bold</b>
    phrase marking the key recall target.
  • Specific question — The front asks a precise question, not "Tell me about X".
  • No yes/no — Never a question answerable with yes or no.
  • No shopping lists — Never "List the 7 types of..." (break into individual cards or use cloze).
  • Tagged — Has exactly one topic tag and one priority level.
  • Difficulty-appropriate — Matches the requested difficulty level.
每张卡片必须全部满足以下要求:
  • 原子性 —— 仅测试一个事实。若需要用“和”来描述测试内容,需拆分卡片。
  • 8秒规则 —— 有准备的学习者可在8秒内作答。
  • 源材料依托 —— 答案来自提供的源材料,而非通用知识。
  • 回忆价值 —— 测试有意义的知识,而非琐碎事实。
  • 独立性 —— 学习者无需依赖其他卡片即可理解当前卡片。
  • 加粗标记 —— 答案中至少有一个
    <b>加粗</b>
    短语标记关键回忆点。
  • 问题明确 —— 正面提出精准问题,而非“告诉我关于X的内容”。
  • 非是非题 —— 禁止使用可用“是”或“否”回答的问题。
  • 非列表题 —— 禁止使用“列出7种X类型...”的问题(拆分为独立卡片或使用完形填空型)。
  • 标签完整 —— 包含且仅包含一个主题标签与一个优先级等级。
  • 难度匹配 —— 符合用户要求的难度等级。

Tag Syntax

标签语法

Tags are space-separated within the Tags field. Order: topic tag, then priority, then modifiers.
topic-name priority::high
topic-name priority::medium formulas
topic-name priority::low reversed
  • Topic tags: kebab-case (
    python-basics
    ,
    web-security
    )
  • Hierarchical topics: use
    ::
    separator (
    networking::protocols
    )
  • Priority:
    priority::high
    ,
    priority::medium
    ,
    priority::low
  • Modifiers:
    formulas
    ,
    benchmarks
    ,
    reversed
标签在标签字段中用空格分隔,顺序为:主题标签 → 优先级 → 修饰标签。
topic-name priority::high
topic-name priority::medium formulas
topic-name priority::low reversed
  • 主题标签:短横线命名法(如
    python-basics
    web-security
  • 层级主题:使用
    ::
    分隔(如
    networking::protocols
  • 优先级:
    priority::high
    priority::medium
    priority::low
  • 修饰标签:
    formulas
    benchmarks
    reversed

Output Format

输出格式

Basic cards:
Question text here	Answer with <b>bold</b> key terms	topic-tag priority::level
Cloze cards:
Text with {{c1::blanks}} for key values		topic-tag priority::level formulas
Note: Cloze cards have an empty second field (two consecutive tabs).
基础型卡片:
问题文本	包含<b>加粗</b>关键术语的答案	topic-tag priority::level
完形填空型卡片:
包含{{c1::blanks}}关键数值的文本		topic-tag priority::level formulas
注意:完形填空型卡片的第二个字段为空(两个连续制表符)。