Skip to content

Jowitt13/code-learning-companion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

代码学习伴侣 · code-learning-companion

一个让 AI 真正"教会你"代码的 Skill —— 不是甩给你一段解释,而是从你当前的水平出发,逐行讲清楚每一个概念。

Skill Version Platform License


它解决什么问题

你有没有过这种体验:

  • 让 DeepSeek / Claude 写了段代码,能跑,但看不懂
  • 问 AI"这段代码什么意思",得到一堆术语解释术语 —— 更晕了
  • 网上搜解释,要么太浅("这是一个函数"),要么太深(直接上源码分析)
  • 同样的概念,每次问都要重新解释一遍

代码学习伴侣就是为这个场景做的。它让 AI 在讲解代码时:

  1. 先说人话,再讲概念 —— 每行先用大白话说"这行干什么",再引入术语
  2. 按你的水平调整深度 —— 不是固定一套讲法,而是 3 档可选
  3. 长程讲解导出 PDF —— 内容长了不在对话框刷屏,直接给你一份文档

三种深度模式

模式 什么时候用 你会得到什么
🟢 quick 代码很短(1-3 行),或你只想快速知道干啥用 一句话概览 + 每行一句 +(如有)一个坑
🟡 standard 默认。一个函数或一段逻辑(4-30 行) 完整 5 步:概览 → 逐行 → 为什么 → 常见错误 → 实际应用
🔴 deep 代码复杂、多函数、异步、你想理解设计权衡 5 步框架 + 逐行按段分块 + 设计权衡 + 延伸方向

模式怎么选

  • 直接说"简短讲""深入讲""只说重点" → 听你的
  • 不指定 → 按代码复杂度自动选
  • 用户意图优先:30 行代码 + "简短讲" → 依然走 quick
  • 讲完会问"要不要调整深度"

standard 模式的 5 步框架

1. 📋 概览     做什么 + 输入→输出(用比喻)+ 为什么需要
2. 🔍 逐行解释  每行 → 做什么(大白话开头)+ 关键概念 + 为什么
3. 🎯 为什么这样写 好处 + 替代方案 + 性能/最佳实践
4. ⚠️ 常见错误  2-3 个坑,每个含错误代码 + 症状 + 正确方式
5. 💡 实际应用  一个生活场景类比

逐行解释的"大白话原则"

这是 v2.2 加的核心规则,专门治"AI 用术语解释术语"的毛病:

  • ❌ "定义异步函数" → ✅ "先声明一个工具,叫 fetchAndCache,它将来会去取数据"
  • 一行有多个新概念 → 拆开讲,别塞进一句话
  • 给"如果不写这行会怎样"的对照,帮理解为什么需要
  • 首次出现的术语 → 先用比喻定义,再附原术语
  • 避免抽象动词("进行处理""执行操作")→ 换成具体动作("取出来""存进去")
  • 数字/符号先翻译成人话:!res.ok → "响应不正常(比如 404、500)"

适用人群

你是 适不适合 说明
跟着 AI 写代码但看不懂生成结果的学习者 ⭐⭐⭐⭐⭐ 这就是这个 Skill 的核心受众
编程新手,正在补基础 ⭐⭐⭐⭐ 比喻库 + 大白话原则对零基础友好
有基础、想理解某段复杂代码的设计 ⭐⭐⭐⭐ deep 模式专门做设计权衡分析
资深开发者,只想要快速确认 ⭐⭐⭐ quick 模式够用,但可能觉得讲解偏啰嗦
纯零基础、连"变量"都不知道 ⭐⭐ 比喻能帮上忙,但最好配合系统课程

怎么用

在 WorkBuddy 里

把整个 code-learning-companion 文件夹放到:

~/.workbuddy/skills/code-learning-companion/

下次对话里说类似这些话,Skill 会自动激活:

  • "解释这段代码"
  • "看不懂这行"
  • "DeepSeek 给我写了这段代码,讲讲"
  • "深入讲讲这段的设计"
  • "简短说下这行干啥"

在 Claude Code 里

放到:

~/.claude/skills/code-learning-companion/

用法一样。

给讲解者反馈

讲解过程中随时可以调:

  • "太详细了" → 降一档
  • "太浅了" → 升一档
  • "多用中文术语 / 英文术语" → 调术语密度
  • "这个比喻不好懂" → 换一个

PDF 导出(v2.3 新增)

长程讲解(deep 模式完成、或你说"导出""生成文档""太长了别在对话框显示")会自动生成 PDF 文件,不在对话框里贴长文

触发

  • 走了 deep 模式且讲解超过约 60 行 Markdown
  • 你说"导出""生成 PDF""存成文档""给我一份完整的"

退出(不导出,回到对话框):

  • 你说"直接看""就在这说""不用导出"
  • quick / standard 模式默认不导出(内容短,对话框够用)

对话框里只会看到

📄 已生成 PDF:代码讲解_async-await.pdf
路径:/Users/you/project/代码讲解_async-await.pdf

内容概览:异步请求函数 fetchUsers 的设计与容错

章节:
1. 概览
2. 逐行讲解
3. 为什么这样设计
4. 常见错误
5. 延伸阅读

技术细节:依赖 fpdf2,中文字体自动探测(Windows 微软雅黑 / Mac PingFang / Linux Noto CJK),支持标题、代码块(灰底等宽)、列表、引用、行内代码、加粗、自动分页。


项目结构

code-learning-companion/
├── SKILL.md          # Skill 主逻辑(模式系统、5步框架、大白话原则、PDF模式)
├── README.md         # 你正在看的这个
├── generate_pdf.py   # Markdown → PDF 渲染脚本(fpdf2)
├── test_cases.json   # 7 个测试用例,覆盖三种模式 + 边界情况
└── LICENSE

版本历史

版本 日期 改了什么
v2.3 2026-07-04 🆕 长程输出:PDF 文档模式。deep 完成或用户要求"导出"时调 generate_pdf.py 生成带样式 PDF,对话框只给摘要+路径。附退出机制
v2.2 2026-07-03 🆕 "逐行解释的大白话原则"(6 条),治 AI 用术语解释术语的毛病
v2.1 2026-07-03 🔧 模式选择冲突仲裁、deep 框架结构、quick 不硬凑坑、比喻库扩充
v2.0 2026-07-03 🔧 重构:加模式切换、省 token、双平台适配
v1.0 2026-06-18 🎉 初版,固定 5 步框架,定位零基础

设计理念

这个 Skill 背后有两条信念:

  1. 讲解不是堆信息,是搭台阶。 同一段代码,对新手和对老手该讲的不一样。固定一套讲法,要么太浅要么太深。所以做了 3 档可调。

  2. 术语是结果,不是入口。 很多人卡住,不是因为笨,是因为 AI 一上来就甩"Promise 是一个异步操作对象"这种话。先用比喻把画面建立起来,术语自然就挂上去了。所以定了"大白话原则"。


License

MIT —— 随便用,改了更好用的话欢迎提 PR。

About

让 AI 真正教会你代码的 Skill —— 三档深度讲解 + PDF 长程导出,适配 WorkBuddy / Claude Code

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages