AI编程学习系统

VibeLearning是一个通过间隔重复学习系统帮助开发者在AI辅助编程过程中学习和巩固知识的工具,适用于各种编程平台。

  • by 12OneTwo12
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 12OneTwo12/vibe-learning

使用说明

VibeLearning

边学习边编码 -人工智能编码代理的空间重复学习系统

把你的编程课程变成学习机会。VibeLearning会自动询问您正在使用的概念,帮助您真正理解在人工智能帮助下编写的代码。

目录

特性

  • 自动学习触发器:只需安装,即可在所有会话中运行
  • SM-2算法:科学间隔重复(如Anki)
  • 5级系统:认可→ 理解→ 比较→ 边缘案例→ 建筑
  • 疲劳管理:15分钟冷却,连续跳跃后自动暂停
  • 未知的未知:跟踪你不知道的概念
  • 报告导出:将学习报告另存为markdown文件

运作原理

  1. 请求任务 来自您的AI编码代理
  2. AI会问2-3个问题 关于你的方法(高级模式)
  3. 解释你的推理 -为什么采用这种方法?什么替代品?
  4. AI实现 在你表现出理解之后
  5. 任务后问题 强化学习(After Mode)
  6. 跟踪进度 使用间隔重复以获得最佳保留

建筑

┌───────────────────────────────────────────────────────────┐
│                      VibeLearning                         │
├───────────────────────────────────────────────────────────┤
│                                                           │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐    │
│  │   OpenCode   │  │  Claude Code │  │    Cursor    │    │
│  │   (Plugin)   │  │(Plugin+Hooks)│  │    (MCP)     │    │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘    │
│         │                 │                 │             │
│         ▼                 ▼                 ▼             │
│  ┌───────────────────────────────────────────────────┐   │
│  │               MCP Server (Core)                   │   │
│  │  - SM-2 Algorithm                                 │   │
│  │  - SQLite Database                                │   │
│  │  - 14 Tools                                       │   │
│  └───────────────────────────────────────────────────┘   │
│                                                           │
└───────────────────────────────────────────────────────────┘

支持的平台

平台 自动安装 功能
开源代码 ✅ 插件+MCP+/学习命令
克劳德代码 ✅ 插件+钩子+MCP+/learn命令
光标 📋 手动 仅限MCP服务器
克莱恩 📋 手动 仅限MCP服务器

安装

开源代码

# Install VibeLearning for OpenCode
npx vibe-learning install opencode

# Restart OpenCode to apply changes

安装内容:

  • MCP服务器中 ~/.config/opencode/opencode.json
  • 插件: vibe-learning-opencode (通过npm自动安装)
  • 命令: ~/.config/opencode/command/learn.md (用于自动补全)
    • 插件处理所有 /learn 通过chat.message钩子执行命令

克劳德代码

  1. 打开克劳德代码并运行 /plugins
  2. 首选 市场 标签
  3. 点击 +添加市场
  4. 输入: 12OneTwo12/vibe-learning
  5. 首选 发现 标签
  6. 选择 氛围学习 然后进入 安装
  7. 重新启动Claude代码

安装内容:

  • MCP服务器(通过 .mcp.json)
  • 钩子:会话启动、PostToolUse、停止
  • 命令: /vibe-learning:learn

自动批准MCP权限(推荐):

Claude Code每次新会话都会要求MCP工具权限。要跳过此操作,请添加到 ~/.claude/settings.json:

{
  "permissions": {
    "allow": ["mcp__vibe-learning"]
  }
}

手动安装(光标、线等)

添加到MCP配置中:

{
  "mcpServers": {
    "vibe-learning": {
      "command": "npx",
      "args": ["-y", "vibe-learning", "serve"]
    }
  }
}

检查状态

npx vibe-learning status

用法

/学习命令

OpenCode和Claude Code都支持 /learn 命令:

状态与控制

命令 描述
/learn 显示当前状态
/learn on 全学习模式(高级+高级后,默认)
/learn off 关闭学习(继续录制)
/learn senior 启用高级模式(实施前问题)
/learn senior off 禁用高级模式
/learn after 启用后模式(实施后问题)
/learn after off 禁用后模式
/learn pause 暂停1小时
/learn focus [area] 将问题集中在特定领域

统计与报告

命令 描述
/learn stats 学习统计仪表板
/learn report 每周学习报告
/learn report month 月度学习报告
/learn report --save 将报告另存为markdown文件
/learn unknowns 未知未知仪表板
/learn unknowns --save 将未知值保存为markdown文件
/learn review 开始复习应有的概念
/learn interview 面试练习模式

学习模式

VibeLearning使用两个独立的开关:

切换 默认 行为
高级模式 ✅ On 实施前提问(2-3轮)
模式后 ✅ 关于 任务后间隔重复问题

模式组合:

高级 之后 结果
✅ ✅ 全面学习(默认)-前后问题
✅ ❌ 仅限高级人员-深入的实施前审查
❌ ✅ After only-任务后快速提问
❌ ❌ 关闭-无问题(录制继续)

高级模式

模拟一位严格的高级开发人员审查您的决策:

**[VibeLearning Senior Mode]**
[Round 1/3] Why this approach?

[Round 2/3] What alternatives did you consider? Tradeoffs?

[Round 3/3] (if needed) Hint: ... What do you think?

Good thinking! [Summary]. Implementing now.
  • 最少2轮 -不会跳过第一个答案的实施
  • 严格求值 -只有当你表现出理解时才能进行
  • 教育总结 -在实施之前提供简要说明
  • 然后执行 -轮次完成后,AI继续实施

模式后

任务完成后问间隔重复问题:

**[VibeLearning]**
_Learning Question (Level 3)_
What's the difference between JWT and session-based authentication?
  • SM-2调度 -根据您的答案安排的评论
  • 评论链 -回答后可以提出一个适当的复习问题
  • 疲劳管理 -冷却15分钟,连续跳过2次后自动暂停

学习水平

级别 名称 问题样式
1 识别 “你知道X是什么吗?”
2 理解 “你能解释一下X是如何工作的吗?”
3 比较 “你什么时候会用X代替Y?”
4 边缘案例 “X的陷阱是什么?”
5 建筑 “你会如何按比例设计X?”

新概念从第三级开始 尊重有经验的开发人员。

回答问题

当被问及学习问题时,请自然回答。AI评估:

  • 正确的 -理解得很好→ 升级可能
  • 部分 -部分理解→ 保持在当前水平
  • 不正确 -回答错误→ 降低级别以找到真实级别
  • 跳过 -太忙了→ 稍后再问

常见问题解答

我真的需要一个插件吗?

老实说,没有。VibeLearning的大多数功能都可以通过提示或CLAUDE.md指令来实现。您可以仅通过精心设计的系统提示设置间隔重复问题。

然而,我们将其作为插件构建给那些:

  • 不想为每个项目手动配置系统提示
  • 比起复制粘贴CLAUDE.md指令,更喜欢一键安装
  • 想要一些只有MCP/插件才能提供的额外功能:
    • 持久SQLite数据库 用于跨会话跟踪进度
    • SM-2算法计算 具有自动审核日程安排功能
    • 跨项目统计 和报告

如果您喜欢自己配置东西,请随时从我们的 CLAUDE.md 并使其适应您的工作流程。

发展

# Clone the repository
git clone https://github.com/jeongjeong-il/vibe-learning.git
cd vibe-learning

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Lint
npm run lint

数据存储

  • 数据库: ~/.vibe-learning/learning.db (SQLite)
  • 报告: ~/.vibe-learning/*.md

MCP工具参考

对于直接MCP集成或自定义实现:

工具 说明
should_ask_question 检查是否是提问的好时机
get_concept_level 获取概念的当前级别(1-5)
record_learning 记录学习结果
record_unknown_unknown 注册一个用户可能不知道的概念
get_stats 获取学习统计数据
get_report_data 获取全面的报告数据
get_unknown_unknowns 获取未探索概念列表
mark_explored 将一个概念标记为已探索
get_due_reviews 获取概念以供审查
get_mode / set_mode 管理学习模式
save_report 将报告保存到markdown文件
save_unknowns 将未知值保存到markdown文件
get_interview_data 获取掌握程度的面试准备数据

卸载

自动

npx vibe-learning uninstall

克劳德代码

跑 /plugins → Find 氛围学习 → Click 卸载

完成数据删除

rm -rf ~/.vibe-learning/

许可证

麻省理工学院