VibeLearning
边学习边编码 -人工智能编码代理的空间重复学习系统
把你的编程课程变成学习机会。VibeLearning会自动询问您正在使用的概念,帮助您真正理解在人工智能帮助下编写的代码。
目录
特性
- 自动学习触发器:只需安装,即可在所有会话中运行
- SM-2算法:科学间隔重复(如Anki)
- 5级系统:认可→ 理解→ 比较→ 边缘案例→ 建筑
- 疲劳管理:15分钟冷却,连续跳跃后自动暂停
- 未知的未知:跟踪你不知道的概念
- 报告导出:将学习报告另存为markdown文件
运作原理
- 请求任务 来自您的AI编码代理
- AI会问2-3个问题 关于你的方法(高级模式)
- 解释你的推理 -为什么采用这种方法?什么替代品?
- AI实现 在你表现出理解之后
- 任务后问题 强化学习(After Mode)
- 跟踪进度 使用间隔重复以获得最佳保留
建筑
┌───────────────────────────────────────────────────────────┐
│ 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钩子执行命令
克劳德代码
- 打开克劳德代码并运行
/plugins - 首选 市场 标签
- 点击 +添加市场
- 输入:
12OneTwo12/vibe-learning - 首选 发现 标签
- 选择 氛围学习 然后进入 安装
- 重新启动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/许可证
麻省理工学院
