Skip to content

Repository files navigation

AI 个性化学习笔记平台

一个以“学习闭环”为核心的 AI 个性化学习笔记平台。

它不是单纯的 AI 笔记生成工具,也不是 Notion / Obsidian 式的通用知识库,而是围绕一个个“学习空间”组织用户的学习过程:从目标设定、资料摄入、深度理解、主动回忆,到弱点补强,让学习从“收集资料”走向“真正掌握”。

系统定位

平台将每个学习目标抽象成一个独立的学习空间。每个空间都是一条完整学习闭环,包含该目标下的知识点、学习计划、笔记、概念、复述记录、测验、闪卡和弱点分析。

首页只负责一件事:管理和选择学习空间。进入某个学习空间后,用户再围绕该目标推进具体学习任务。

当前学习闭环拆成五个核心阶段:

  1. 目标设定:创建学习空间,明确要学什么、学到什么程度。
  2. 知识摄入:上传文件、粘贴文本、导入网页,或自己手写笔记。
  3. 深度理解:通过费曼复述和 AI 追问验证是否真正理解。
  4. 主动回忆:通过闪卡和测验触发检索练习。
  5. 弱点补强:根据错题、复述评分和掌握度数据定位薄弱概念。

今日重点改造

本轮改造重点是把系统从“功能很多但分散”收拢成“以学习空间为入口的闭环产品”。

首页学习空间

  • 首页从通用 Dashboard 改为学习空间工作台。
  • “最近笔记”改为“我的学习空间”。
  • 每个学习空间卡片展示当前阶段、掌握度、概念数、笔记数、复述次数和下一步建议。
  • 支持“进行中 / 已完成”筛选。
  • 每个学习空间卡片提供操作菜单:
    • 分享到学习闭环广场
    • 移入回收站
  • 首页保留“学习闭环广场”和“优先补强”两个辅助入口。
  • 首页文案和视觉风格重新调整为更适合学习产品的深绿黑、柔和米白和金色强调色。

学习空间详情页

  • 每个学习空间拥有独立页面。
  • 页面围绕剩余四个闭环模块组织:
    • 知识摄入
    • 深度理解
    • 主动回忆
    • 弱点补强
  • 页面聚合展示相关概念、学习记录、测验、复习闪卡、学习计划和相关笔记。
  • 桌面端布局优化为接近一屏展示,减少上下滚动带来的割裂感。

学习闭环广场

  • 原“笔记广场”调整为“学习闭环广场”。
  • 用户可以从首页学习空间卡片菜单中将学习空间分享到广场。
  • 分享时系统会把学习空间打包成公开闭环模板,包含:
    • 学习目标
    • 掌握层级
    • 核心知识点
    • 学习计划
    • 相关参考笔记摘要
    • 闭环使用方式
  • 其他用户可以 Fork 广场中的学习闭环,系统会自动创建新的学习空间和核心笔记。

学习空间回收站

  • 学习空间支持软删除。
  • 首页提供回收站入口。
  • 回收站现在同时支持:
    • 学习空间恢复
    • 学习空间永久删除
    • 笔记恢复
    • 笔记永久删除
  • 笔记仍保留 7 天后自动清理逻辑。

费曼复述评估

  • 费曼复述页面支持关联学习目标。
  • 用户可先选择学习空间,再选择优先参考笔记。
  • 系统根据相关笔记和知识库概念提供可复述概念。
  • 评分时优先参考知识库上下文,而不是只对用户输入做孤立判断。
  • 模型不可用时保留规则兜底评分,并提示用户模型恢复后可重新评估。

做笔记体验

  • “做笔记”入口包含:
    • 自己写笔记
    • 粘贴文本
    • 上传文件
    • 网页链接
  • 自己写笔记页面引入模板能力。
  • 笔记编辑体验向 Typora 式实时预览靠拢。
  • 上传文件处理流程更偏用户体验:避免让用户误以为“上传完成”就等于“AI 分析完成”。

AI 与生成任务

  • 上传、测验生成、费曼评估等模型相关能力逐步改为更清晰的任务状态。
  • 修复和排查了模型接口不可用时导致的 JSON 解析错误,例如返回 HTML 登录页却被当作 JSON 解析的情况。
  • 测验生成、学习计划生成和批量上传处理都需要正确配置 .env.local 中的大模型 Key。

核心功能

  • 学习目标与学习空间:创建目标、认知层级、知识点清单、学习计划和独立闭环空间。
  • 文档处理与笔记:支持文本、PDF、图片、URL、批量上传和手写笔记。
  • 结构化笔记:自动摘要、标签、关键知识点、思维导图、闪卡和测验入口。
  • 知识图谱:从笔记中抽取概念关系,形成知识网络。
  • 费曼复述评估:根据目标、概念和参考笔记评估用户复述质量。
  • 苏格拉底式对话:通过追问帮助用户暴露理解漏洞。
  • 智能闪卡:基于间隔重复进行复习调度。
  • 测验生成与批改:根据笔记生成选择、填空、简答等题型,并记录薄弱点。
  • 错题与弱点分析:将错误模式关联回概念、笔记和补强任务。
  • 掌握度矩阵:综合测验、闪卡和费曼复述表现评估概念掌握度。
  • 学习闭环广场:发布、浏览、Fork 他人的学习闭环模板。
  • 回收站:管理被删除的笔记和学习空间。

常用页面

/                  学习空间首页
/goals             新建和管理学习目标
/goals/[id]        单个学习空间详情页
/upload            做笔记:手写、粘贴、上传、网页链接
/upload/batch      批量上传资料
/notes             笔记库
/notes/[id]        笔记详情
/feynman           费曼复述评估
/review            今日闪卡复习
/quiz/[noteId]     基于笔记生成和完成测验
/quiz/history      测验记录
/concepts          概念总览
/concepts/[name]   概念详情
/knowledge-graph   知识图谱
/learning-path     学习路径生成
/explore           学习闭环广场
/share/[id]        公开学习闭环详情与 Fork
/trash             回收站

快速开始

安装依赖:

pnpm install

启动开发服务:

pnpm dev

默认访问:

http://localhost:5000

如果端口被占用,可以先停止已有服务:

pnpm run dev:stop

需要自动清理旧进程或切换 Webpack 时,可以使用辅助脚本:

pnpm run dev:all

环境变量

创建 .env.local,至少配置 Supabase 和一个可用的大模型 Key。

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_KEY=your-service-key

OPENAI_API_KEY=sk-your-key-here

项目也保留了 DeepSeek、通义千问、Kimi、智谱、豆包、SiliconFlow 等模型适配能力。具体使用哪个模型,取决于 .env.localsrc/lib/llm-provider.ts 中的配置。

注意:不要把 .env.local 提交到 GitHub。

常用脚本

pnpm dev          # 启动 Next.js 开发服务,默认端口 5000
pnpm run dev:stop # 停止本地开发服务
pnpm run dev:all  # 使用辅助脚本启动开发服务
pnpm run ts-check # TypeScript 类型检查
pnpm run build    # 生产构建

技术栈

  • Next.js 16 App Router
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • shadcn/ui
  • Supabase PostgreSQL
  • Drizzle ORM
  • LangChain / LangGraph
  • 多模型 LLM Provider

数据与接口说明

当前项目已经支持以下核心接口:

  • /api/dashboard:首页学习空间与学习状态聚合。
  • /api/learning-goals:学习目标列表与创建。
  • /api/learning-goals/[id]:学习空间更新、软删除。
  • /api/learning-goals/[id]/publish:将学习空间发布到学习闭环广场。
  • /api/trash:回收站列表,包含笔记和学习空间。
  • /api/trash/[id]/restore:恢复回收站内容。
  • /api/public-notes:学习闭环广场列表。
  • /api/public-notes/[id]/fork:Fork 公开学习闭环。
  • /api/feynman/evaluate:费曼复述评估。
  • /api/notes/[id]/quiz/generate:基于笔记生成测验。
  • /api/upload/batch:批量导入资料。

当前限制与后续方向

为了尽快让“分享学习空间到广场”可用,目前广场仍复用公开笔记表 notes.is_public。发布学习空间时,系统会把空间打包为一条公开闭环模板笔记。

后续更理想的数据库设计是增加一等公民的公开学习空间表,例如:

  • learning_goals.is_public
  • learning_goals.fork_count
  • learning_goals.source_goal_id
  • notes.goal_idnote_learning_goals

这样可以让学习空间、笔记和广场模板之间形成更明确的关系。

产品定位

平台面向需要把学习资料转化为掌握结果的学生和自学者。核心价值不是单次生成笔记,而是把目标、资料、笔记、复述、测验、闪卡和弱点补强连接成持续学习流程。

适合的使用方式:

  • 先创建一个明确的学习目标,沉淀为独立学习空间。
  • 导入课程材料、文章、PDF、图片或网页,让 AI 生成结构化学习笔记。
  • 用费曼复述、测验和闪卡验证理解,而不是只停留在阅读。
  • 根据错题、复述评分和掌握度数据,持续补强薄弱概念。

产品差异化:

  • 以学习空间组织资料,避免笔记散落在不同入口。
  • 把 AI 输出作为学习起点,后续通过验证与反馈推动掌握。
  • 支持公开学习闭环模板,用户可以分享或 Fork 可复用的学习路径。

About

毕业设计

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages