# study_project **Repository Path**: sdtm1016/study_project ## Basic Information - **Project Name**: study_project - **Description**: 基于 Next.js 的 AI 学习教练工具,帮助你快速自学任何知识。输入学习主题后,自动生成知识地图、提炼关键20%概念、用费曼法追问理解漏洞、生成学习复盘。所有数据本地存储为 Markdown/JSON 文件,支持导出和迁移。支持 OpenAI 兼容 API,无需数据库,开箱即用。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-06 - **Last Updated**: 2026-06-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 快速自学知识应用 基于 Next.js 的本地知识学习工具,使用 AI 帮助你快速建立知识地图、提炼关键概念、进行费曼式学习和生成复盘总结。 ![应用界面](./docs/功能截图/屏幕截图_10-6-2026_204010_localhost.jpeg) ## 核心功能 - **知识地图生成**:输入学习主题,自动生成全局知识结构 - **关键概念提炼**:识别最重要的 20% 核心概念 - **费曼式学习**:用自己的话解释概念,AI 追问你的理解漏洞 - **学习复盘**:根据学习记录生成薄弱点总结和改进建议 - **本地存储**:所有数据保存为 Markdown/JSON 文件,便于查看和迁移 ## 快速开始 ### 1. 安装依赖 ```bash npm install ``` ### 2. 配置 AI API(可选) 复制 `.env.example` 为 `.env.local`,填入你的 API 配置: 当前使用商汤提供的免费的deepseek-v4-flash,可按需调整 ```bash cp .env.example .env.local ``` 支持 OpenAI 或兼容格式的 API(如 Claude、智谱、通义等): ```env OPENAI_API_KEY=your-api-key OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-4 ``` **注意**:如果不配置 API Key,应用会使用内置模板生成内容,仍然可以正常使用。 ### 3. 启动开发服务器 ```bash npm run dev ``` 访问 开始使用。 ## 使用流程 1. **创建学习主题**:点击"开始一个学习主题",填写主题、目标、水平等信息 2. **生成知识地图**:在主题详情页点击"生成知识地图" 3. **生成学习计划**:知识地图生成后,点击"生成学习计划" 4. **进入学习工作台**:点击"进入学习工作台",用自己的话解释概念 5. **获得费曼反馈**:提交解释后,AI 会指出理解漏洞并提出追问 6. **生成复盘**:完成学习后,点击"生成复盘"查看总结和建议 7. **导出或删除**:可以导出 Markdown 文件或删除不需要的主题 ## 数据存储 所有学习数据保存在项目根目录的 `data/` 文件夹中: ``` data/ ├── index.json # 主题索引 └── topics/ └── topic-xxx/ ├── meta.json # 主题元信息 ├── knowledge-map.md # 知识地图 ├── plan.md # 学习计划 ├── review.md # 学习复盘 └── sessions/ # 学习会话记录 ├── session-1.md └── session-2.md ``` ## 构建和部署 ```bash # 构建生产版本 npm run build # 启动生产服务器 npm start ``` ## 开发命令 ```bash # 运行测试 npm test # 代码检查 npm run lint # 开发模式 npm run dev ``` ## 技术栈 - **框架**:Next.js 15+ (App Router) - **语言**:TypeScript - **样式**:CSS Variables - **测试**:Vitest - **数据存储**:本地文件系统(Markdown + JSON) - **AI 接入**:支持 OpenAI 兼容 API ## 设计理念 本应用基于快速自学方法论: 1. **先建全局地图**:避免陷入细节,先理解整体结构 2. **抓住关键 20%**:专注最重要的核心概念 3. **费曼式反馈**:用自己的话讲出来,发现理解盲区 4. **复盘沉淀**:每次学习都记录薄弱点,持续改进 详见 `docs/原始需求/` 目录。 ## 项目结构 ``` src/ ├── app/ # Next.js 页面和路由 │ ├── api/ # API 路由 │ ├── topics/ # 主题相关页面 │ ├── page.tsx # 首页 │ └── layout.tsx # 布局 ├── lib/ │ ├── ai/ # AI 生成逻辑 │ └── storage/ # 本地存储封装 ├── types/ # TypeScript 类型定义 └── components/ # React 组件 ``` ## 功能特性 - ✅ 无需数据库,纯本地文件存储 - ✅ 支持全文搜索(基于文件内容) - ✅ 导出 Markdown 格式学习资料 - ✅ 删除主题及所有相关文件 - ✅ 可选 AI API 接入,无 API 时使用模板 - ✅ 响应式设计,支持移动端 ## 许可证 MIT ## 贡献 欢迎提交 Issue 和 Pull Request。 ## 参考资料 - [产品需求文档](./docs/原始需求/快速自学知识软件产品需求文档.md) - [功能拆分](./docs/功能点拆分/) - [实现差异评估](./docs/实现差异评估-2026-06-06.md) ## 致谢 💡 需求灵感来源于 [大迁世界公众号](https://mp.weixin.qq.com/s/c_Xf2Ot0h3tOAX0eBXg19A) 的文章,感谢分享优质的学习方法论。