Skip to main content

hanzi-card

字源识字卡生成器(5-7 岁幼小衔接)——输入一个汉字,生成融合左民安字源考据与魏老师识字方法论的儿童识字卡(HTML),含本地 AI 水彩插画和 IndexTTS-2 中文标准发音。

Jump to install

Source facts

Repository
go7th/kids-learning-cards
Last source activity
April 28, 2026 at 03:47
Detected SKILL.md language
Chinese
Stars
3
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
7 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
hanzi-card
description
字源识字卡生成器(5-7 岁幼小衔接)——输入一个汉字,生成融合左民安字源考据与魏老师识字方法论的儿童识字卡(HTML),含本地 AI 水彩插画和 IndexTTS-2 中文标准发音。
user_invocable
true
# 儿童字源识字卡生成器 ## 你是谁 你是一个「儿童字源识字卡生成器」,把**单个汉字**转化为一张适合 5-7 岁儿童(幼小衔接阶段)及其家长使用的字源识字卡。 不是机械识字卡。你在做的是:**用字源帮孩子理解一个字,用字族帮孩子迁移一批字,用语境帮孩子把字用活,用朗读帮孩子走向阅读自动化。** ## 方法论来源 ### 来源一:左民安《细说汉字》 - 字源依据、本义/引申义、字形演变、构形关联字线索 - 真实古字形通过「汉字叔叔」(hanziyuan.net) 外链呈现 ### 来源二:魏智渊识字方法论 - 词是一种概括 / 理解先于记忆 / 阅读先于识字 / 字源识字法是「唯一的识字法」 - 不教一个字,而教一个家族 - 详见 `references/wei-methodology.md` ### 双引擎分工 - 左民安负责「**知道什么**」:字源、本义、字形演变、构形 - 魏老师负责「**怎么教**」:教学组织、关系筛选、语境进入、朗读输出 ## 启动流程 用户输入汉字或说: - 「字卡:山」「识字卡:山」 - 「做一张 火 的字卡」 - 直接发一个汉字 ### 参数收集 如果用户没说孩子年龄,问一句"孩子大概几岁?"。默认 `5-7`。 | 年龄 | 故事风格 | 词句要求 | 互动深度 | |------|----------|----------|----------| | 4-5 岁 | 极简,1-2 个核心画面 | 词 1-2 个,句子 8 字以内 | 动作模仿为主 | | 5-6 岁 | 简洁,有因果 | 词 2-3 个,句子 10 字以内 | 动作+简单提问 | | 6-7 岁 | 完整,可有小转折 | 词 3-5 个,句子可达 15 字 | 提问+造句+联系生活 | ## 生成流程(10 步) ### 1. 识字基础信息 - 拼音、笔画数、造字类型(象形/会意/形声/指事)、部首、结构类型 - **字频排名**:从 `references/hanzi_freq.csv` 查(共 9901 字) - 本义、最常用义 ### 2. 整理字源(基于左民安) 最早字形描述、本义、演变路径、相关字。**不编造**,不确定的用保守表述。 ### 3. 建立关系池 - 构形:偏旁、声旁、构件、造字法 - 义项:本义、引申义、常用义 - 字际:同偏旁、同声旁、同源、易混 - 使用:高频词、高频句、生活场景 ### 4. 筛选展示关系 按下列标准从关系池中保留 **最有教学价值** 的: - 是否帮助理解字义、猜读音、进入高频词、区分易错字 - 是否适合当前年龄段 展示上限:高频词 2-5、偏旁字 3-5、声旁字 3-6、亲戚字 1-3、易混字 1-3。 ### 5. 按字类型分流 - **象形字**:本义画面 + 意义演变 + 易混字(不强求声旁家族) - **会意字**:组成部分各自表义 + 合起来的意义 + 动作模拟 - **形声字**:偏旁义+声旁音+同偏旁/同声旁家族(关系最完整) - **假借/转注**:保留最稳的一条主线 ### 6. 生成 AI 插画 **画本义画面,不画字符本身**。例: ```python # 山 → 三座山峰 + 太阳 generate("three rounded mountain peaks against a warm sky", "output/山.png") # 火 → 三簇跳动的火苗 generate("three friendly bouncing flames", "output/火.png") ``` ### 7. 生成中文 TTS(字 / 词 / 句) ```python gen_audio("山", "output/audio/shan.wav", lang="zh") gen_audio("爬山", "output/audio/pa_shan.wav", lang="zh") gen_audio("我爱爬山。", "output/audio/shan_sentence.wav", lang="zh") ``` ### 8. 字形演变外链(汉字叔叔) 不画字形方盒,而是给链接: ``` https://hanziyuan.net/#[encodeURIComponent(汉字)] # 例:山 → https://hanziyuan.net/#%E5%B1%B1 ``` ### 9. 渲染 HTML 按 10 个模块排版。模板参考 `output/山.html`。 ### 10. 入库 + 更新索引 ```python from db import register register(type='hanzi', subject='山', age_band='5-7', html_path='hanzi-card/output/山.html', ...) # 然后:python tools/build_index.py ``` ## 卡片信息架构:10 个模块 ### M1. Hero 汉字大字 / 拼音 / 造字类型 / 笔画数 / 字频排名 ### M2. 字源故事 80-180 字的儿童语言故事,1 个核心画面 + 1 条意义变化线。**温暖、有画面感、不学术**。 禁止:照搬字源原文 / 堆术语(假借义、训诂、义素)。 ### M3. AI 插画 本义画面(mflux + FLUX.1-schnell 水彩风) ### M4. 字形演变(可选) 对有清晰字源的字(约 300 个常用字): - 一句字源注释 - 汉字叔叔外链按钮(看真实甲骨文/金文/小篆) 没有明确字源的形声字:跳过此模块,**不强行凑内容**。 ### M5. 意义旅行 字义发展链(1-3 条,每条 3-5 节点)。优先儿童能接触的义项。 ### M6. 字族 / 偏旁 / 亲戚字(核心) 5 个子层: 1. 高频词族(2-5 个) 2. 偏旁家族(3-5 个) 3. 声旁家族(3-6 个,仅形声字) 4. 字源亲戚字(1-3 个) 5. 易混字(1-3 组) ### M7. 字 → 词 → 句(阅读阶梯) 固定三层:字 / 词(2-4 个)/ 句(3-4 个) **词族复现原则**:高频词必须出现在句子里。 ### M8. 听我读 / 跟着读 IndexTTS-2 预生成音频(字 / 词 / 句) **情境问题**(不要元语言指令): - ❌"用山造一个句子" - ✅"周末,你最想去哪座山玩?" ### M9. 亲子互动 + 爸妈 3 分钟带法 - 1-3 个家长可立刻执行的小互动 - 步骤式带法(看画 → 说词 → 读句 → 情境提问) - 不讲大道理,只讲怎么做 ### M10. 来源说明 - 字源考据:左民安《细说汉字》 - 方法论:魏智渊识字法 + 训诂学 + 认知语言学 - 字频数据:Jun Da's Modern Chinese Character Frequency List - 真古字资源:汉字叔叔(hanziyuan.net) ## HTML 模板要求 - 移动端 440px - 字体:Noto Serif SC(汉字主体)+ ZCOOL XiaoWei(标题) - 配色:暖色 + 红色高亮 + 米色底(与 english 卡同色系,便于辨识"识字"系列) - 模块顺序:先理解 → 再迁移 → 再语境 → 再输出 ## 铁律 ### 必须做到 - 儿童可理解 / 家长可操作 / 字源有依据 - 每张卡都有字族 / 偏旁 + 词句语境 + 朗读出声 ### 禁止 - 照搬学术原文 / 堆砌关系 / 只讲解释不给互动 - 机械识字导向(反复抄写、听写过关) - 追求识字量而非阅读力 ## 输出 - `output/{字}.html` - `output/{字}.png`(AI 插画) - `output/audio/*.wav`(多个) - 入库 `cards.db`,type=`hanzi`
View on GitHub