WeKnora 实战:从真实 PR 学贡献
调研日期:2026-07-01 · 15 篇精读 · 标杆 case-1828
本包不重复 RAG 原理——那些内容在 47 章系统性导读 和 WeKnora 竞赛贡献指南 中已经覆盖。这里做的事情是:拆解已合入的真实 PR,提炼可复用的贡献模式,并映射到目标 issue #1248。
PR 搜索目录:case-catalog.md(候选队列)· 写作标准:case-writing-standard.md
主路径(推荐)
案例索引 → 1785 → 1633 → patterns → bridge-1248
| 序号 | 文件 | 内容 | 预计时间 |
|---|---|---|---|
| 0 | 案例索引 | 12 案总表 + 阅读路径 + 候选目录 | 10 分钟 |
| 1 | case-1785 | 入门:Excel IMAGE 函数过滤(Python docreader,用户自己的 PR) | 20 分钟 |
| 2 | case-1633 | 前端:异步数据 null guard(Vue 3,无 PR 场景) | 15 分钟 |
| 3 | 模式提炼 | 从案例库提炼 issue 选择 / 定位 / 实现 / 反模式 | 25 分钟 |
| 4 | #1248 映射 | 子任务拆解 + API 草案 + 表结构 + 踩坑警告 | 30 分钟 |
总计约 100 分钟。
副路径
管线专项(适合关注 RAG 管道的读者)
case-1725(Go docparser HTML→Markdown)→ 模式提炼 §4 管线模式
Go 后端专项
case-1774(repository + service + handler 三层)→ #1248 映射 POST feedback API 子任务
前端状态管理专项
case-1761(Pinia 缓存失效,3 行修复)→ #1248 映射 对话气泡 UI 子任务
与旧材料的关系
| 旧材料 | 本包的角色 |
|---|---|
| 导读 Ch10 | Ch10 讲竞赛策略和 issue 地图;本包从具体 PR 出发,是 Ch10 的「实操补充」 |
| WeKnora 竞赛贡献指南 | 指南覆盖 5 条深度路径 + 评审标准;本包聚焦「如何写出被合入的 PR」 |
| 精读: WeKnora | 精读讲架构和技术方案;本包讲「改架构中的某个文件需要注意什么」 |
每章末尾有思考点
所有案例和枢纽章节末尾都有 3–5 道无标准答案的思考题。如果读不懂某个章节,可以用以下追问模板:
我在读 weknora-practice/case-{CASE}.md 的「{小节名}」。
已读懂的部分:{一句话} 卡住:{具体句/图/代码块}
请:
- 用 case-{CASE} 里的现象再讲一遍根因(换类比)
- 指出若我要做 #1248 的「{子任务}」,从本案借哪一步、哪一步不能借
- 不超过 15 行例子 不要重写整篇 case。
全部文件清单
| 文件 | 类型 | 字数(约) |
|---|---|---|
| case-index.md | 索引 | 1.5k |
| case-1785.md | 案例精读 | 3.5k |
| case-1633.md | 案例精读 | 3.2k |
| case-1725.md | 案例精读 | 2.8k |
| case-1761.md | 案例精读 | 3.0k |
| case-1774.md | 案例精读 | 3.3k |
| case-1743.md | 案例精读 | 2.5k |
| case-1784.md | 案例精读 | 2.0k |
| case-1700.md | 案例精读 | 2.2k |
| case-1668.md | 案例精读 | 1.8k |
| case-1754.md | 案例精读 | 2.0k |
| case-1808.md | 案例精读 | 2.0k |
| case-1772.md | 案例精读 | 3.0k |
| case-1828.md | 案例精读 · 标杆 | 4.5k |
| case-1759.md | 案例精读 | 3.8k |
| case-catalog.md | PR 候选目录 | 2k |
| case-writing-standard.md | 案例写作标准 | 2k |
| ch-patterns-from-cases.md | 模式提炼 | 3.8k |
| ch-bridge-1248.md | 目标映射 | 3.5k |
| 合计 | ~40k |