AI 写完,Diff 教回。
Ship with AI. Learn it back.
一个 local-first 的 verified diff learning layer。把 Claude / Codex / Cursor 等 AI 工具写出的 git diff,变成带代码证据链的学习笔记、概念图谱、主动回忆测验和 SRS 复习卡。
v1.2.0 · pip install ahadiff
每一行 AI 写的代码,都应该能把学习教回给你。AhaDiff
AI 工具让你 10x 产出,但学习曲线变成了一条平线。
Copilot / Claude 产出大量代码,你点了 Accept,却说不清它为什么有效、何时会失败。
diff 太大、上下文不够,review 变成形式主义。关键逻辑在 LGTM 中悄悄滑过。
用 AI 交付越快,技术债中「人脑里欠的那部分」累积越深,直到一次线上事故暴露一切。
每次 AI 写完代码,AhaDiff 用证据链帮你学会它。
捕获工作区、提交范围、时间窗口、patch URL、文件和目录对比等 10 种 diff 来源。
→生成 verified claims,每句解释绑定 file:line 证据。五种状态确保可信度。
→课文 + 测验 + SRS 卡片。三阶段撤架 (Full/Hint/Compact) 渐进掌握。
→8 维评估 100 分制。Git ratchet 只接受通过确定性门禁且不低于基线的 run,Phase 2.5 突破瓶颈。
这是一个让你和 AI 共同成长的学习系统。
每句解释都链接到 file:line 代码证据。5 种 claim 状态 (verified / weak / not_proven / contradicted / rejected) 确保可信。
采用 Anki 同源的 FSRS-6 算法,根据你的答题表现自动调整复习间隔。
Full → Hint → Compact 三阶段学习撤架。由 FSRS 记忆稳定度自动驱动,越熟悉提示越少。
accuracy / evidence / diff_coverage / learnability / quiz_transfer / spec_alignment / conciseness / safety_privacy = 100 分。
只进不退:improve loop 渐进优化,Phase 2.5 在卡住时触发结构性重写,突破质量瓶颈。
strict_local / redacted_remote / explicit_remote 三档隐私。远端请求前会执行隐私与脱敏门禁。
OpenAI / Anthropic / Gemini / Azure / Ollama 等 8 种 API 格式。BYOK,自动探测上下文长度。
Claude、Codex、Gemini、Cursor、GitHub Actions、Git hooks 等 CLI / IDE / CI 目标都能接入。
把学习记录导出、复习,或接进你的 agent 与 CI。
WebUI 一键导出 Anki .apkg;CLI 用 export-results 写 results.tsv,export preview 生成本地静态预览包。
Claude、Codex、Cursor、Copilot、GitHub Actions、Git hooks 等 CLI / IDE / CI 的项目级接入指引。
从 diff 捕获到 UI 渲染,每一层各司其职。
从 learn 到复习,一个真实 run 的完整演示(带字幕)。
在任何 git 仓库中运行 ahadiff,立刻获得带证据链的学习反馈。
示例输出。具体数字取决于你的 diff。
Dashboard、Lesson、Diff、Quiz、Review、Concepts、Settings:一个本地 React SPA。








保留 Code Review,再补上缺失的学习环。
| Tool | Verified Claims | SRS | Ratchet | Local-first | Evidence Chain | Agent Install |
|---|---|---|---|---|---|---|
| AhaDiff | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Code Wiki | – | – | – | – | ∼ | – |
| Diffity | ∼ | – | – | ✓ | – | – |
| Anki + Code | – | ✓ | – | ✓ | – | – |
| Exercism | – | – | ∼ | – | – | – |
本表反映 AhaDiff 自身的定位和设计重点,不是对其他工具的独立评测。
从捕获到复习,常用命令一览。
ahadiff init | 在仓库里初始化 .ahadiff/ 状态目录 |
ahadiff provider test | 注册并探测一个 LLM 供应商 |
ahadiff learn <range> | 把一段 diff 变成带证据的课程 |
ahadiff quiz <run_id> | 对刚学的 run 做主动回忆测验 |
ahadiff review | 按 FSRS 复习到期卡片 |
ahadiff verify <run_id> | 重新校验 claims 与评分 |
ahadiff improve --rounds N | 在 git worktree 里迭代优化生成 prompt(仅源码 checkout) |
ahadiff improve-run <run_id> | 重新生成课程,仅当确定性评分更高时保留;任何安装方式可用(含 pip) |
ahadiff serve | 打开本地 Web UI |
ahadiff export preview | 生成本地静态预览包 |
完整命令和 10 种捕获来源见使用指南。
几步之内,从安装到第一节课。
用 pip 安装已发布的 CLI 和内置 WebUI,然后配置一个 LLM 供应商。learn 在配置供应商前无法运行。
provider test 会发一个小探针请求,成功后把供应商写入 .ahadiff/config.toml。--api-key-env 填的是环境变量名,不是密钥本身。不想敲命令?先 ahadiff serve,在 Settings 里用表单添加供应商,保存前还能预览模型限额。在你的项目中运行 learn 命令,分析最近一次提交的 diff。
打开 Web UI 进行 SRS 复习和测验,巩固知识。
pip install ahadiff 安装已发布的 CLI 和内置 WebUI;源码 checkout 只适合贡献者开发。