基于MCP构建的智能学习工作流平台,实现从纸质资料到数字知识库的端到端自动化,目标是成为AI时代的知识共享平台
sophie 是一个集成了 PaddleOCR 和 Notion 的智能学习笔记助手项目。它利用 MCP 协议无缝连接不同服务,通过 LangGraph 编排工作流,实现从图片识别(OCR)到知识整理(Notion 笔记)的无缝衔接,为学习者和知识工作者提供高效的自动化工具。
项目采用前后端分离架构:
- Frontend: 基于 React + Vite + TailwindCSS 的现代化 Web 界面
- Backend: 基于 Node.js + LangChain + MCP 的智能代理服务
🎯 知识管理效率困境
- 信息载体碎片化:学习资料同时存在于纸质笔记本、PDF 电子文档、照片图片等多种形态,学习者需要在不同工具间频繁切换
- 手动整理耗时巨大:将纸质笔记、课件图片等内容逐个手工录入和整理,占据大量学习时间,影响学习专注度
- 知识记忆衰减:缺乏智能化的笔记回顾和知识强化机制,导致学习效果难以持续
🔄 工作流衔接瓶颈
- 工具技术壁垒:不同工具使用独立的 API 和配置文件,技术栈学习成本高昂
- 处理流程断层:从识别提取到知识整理的多个环节需要人工干预,未能形成自动化闭环
💼 专业技能转换困难
- 知识迁移效率低:难以将学习到的专业知识快速应用到实际工作中
- 学习进度追踪缺失:缺乏系统化的学习轨迹记录和目标达成度评估
- PaddleOCR 图像识别 - 支持中英文、表格等多场景识别
- Notion 集成 - 自动创建结构化笔记与知识库
- MCP 协议支持 - 标准化工具连接和扩展
- LangGraph 工作流 - 可编排的学习辅助流程
- 前后端完整交互 - Web 端到后端服务的全链路支持
- 实时处理反馈 - 用户可见的处理状态和结果展示
🌟 V2.0 - 多模态智能识别扩展
- 手写文字识别:支持各种笔迹样式的个性化识别
- 数学公式解析:自动识别并转换为 LaTeX 格式
- 图表结构理解:解析表格、流程图、思维导图等复杂图形结构
- 代码块提取:从教学材料中识别并格式化编程代码片段 ⟡ 示例场景:数学课堂笔记自动公式化,代码教学材料智能整理
🎨 V2.1 - AI 辅助内容增强
- 智能摘要生成:基于内容理解自动提炼核心要点
- 内容重写优化:根据学习需要对原文进行不同难度的改写
- 多语言翻译:支持中英日等多种语言的自动翻译和对照学习 ⟡ 核心技术:LLM文本理解与生成,查重去污,学习难度适配
🏷️ V2.2 - 智能知识分类系统
- 自动标签分配:基于内容语义自动生成适切的分类标签
- 知识图谱构建:建立知识点间的关联网络,实现系统化学习
📊 V3.0 - 个性化学习引擎
- 学习风格诊断:分析用户的学习偏好和认知特点
- 自适应内容推荐:根据学习进度和目标推荐相关学习材料
- 认知负荷评估:监控学习难度,动态调整内容呈现方式 ⟡ 智能排程:基于艾宾浩斯遗忘曲线安排最佳复习时间点
👥 V4.0 - 团队协作知识平台
- 多人协同编辑:支持团队成员同时编辑和完善知识库
- 权限层次管理:根据角色分配不同的访问和编辑权限
- 知识共享验证:建立知识点的质量评估和版本管理机制
🔌 协议驱动的架构设计
- 标准化集成:通过 MCP 协议实现不同工具的标准化接入
- 模块化扩展:支持插拔式服务组件,新增工具只需遵循协议标准即可集成
- 统一配置管理:通过中心化的配置系统管理所有 MCP 服务,实现跨平台兼容 ⟡ 技术实现:采用 JSON-RPC over stdio 通信协议,支持本地和远程服务
🎭 灵活的工作流编排引擎
- 可视化流程设计:提供图形化的流程编辑界面
- 实时状态监控:支持工作流执行过程的实时追踪和问题定位
- 容错与重试:具备完善的错误处理机制和任务恢复能力
🌐 开放共生的技术生态
- 开发者友好:提供完整的 SDK 和 API 文档,支持第三方开发者贡献
- 插件市场:规划建立插件商店,汇集社区开发的优秀功能扩展
⚡ 用户体验驱动的设计理念
- 渐进式交互:支持从简单用例到复杂场景的平滑过渡
- 智能化引导:基于用户行为提供学习路径建议和操作提示 ⟡ 场景适配:根据不同行业需求提供定制化的工作流模板
for-com-ate/
├── backend/ # 后端服务 (Node.js + LangGraph + MCP)
│ ├── src/ # 核心业务逻辑
│ ├── mcp-config.jsonc # MCP 服务器配置文件
│ └── ...
├── frontend/ # 前端界面 (React + Vite + Tailwind)
│ ├── src/ # 用户界面组件
│ └── ...
├── requirements.txt # Python 环境依赖 (PaddleOCR MCP)
└── README.md # 项目说明文档
- Node.js: >= 18.0.0
- Python: >= 3.9 (推荐使用 Conda 管理环境)
- Conda: 推荐用于管理 Python 环境(如
paddle-agent)
推荐使用 Conda 创建一个名为 paddle-agent 的虚拟环境,用于运行 PaddleOCR MCP 服务。
conda create -n paddle-agent python=3.10
conda activate paddle-agent
pip install -r requirements.txt后端负责处理业务逻辑、OCR 识别和 Notion 集成。
-
进入后端目录:
cd backend -
安装依赖:
npm install
-
配置环境变量: 确保你的环境中设置了以下变量(可以在终端 export 或使用
.env文件):PADDLEOCR_MCP_AISTUDIO_ACCESS_TOKEN: 百度 AI Studio 访问令牌(用于 OCR)NOTION_MCP_TOKEN: Notion 集成 TokenWENXIN_API_KEY: 文心一言 API Key(如果使用)OPENAI_API_KEY: OpenAI API Key(如果使用)
-
启动后端服务:
# 启动 HTTP 服务器 npm run server # 或者运行命令行 Demo npm run demo
前端提供用户交互界面。
-
进入前端目录:
cd frontend -
安装依赖:
npm install
-
启动开发服务器:
npm run dev
访问终端显示的地址 (通常是
http://localhost:5173)。
项目使用 mcp-config.jsonc 来定义 MCP 服务器。主要包含:
- paddleocr: PaddleOCR 服务配置 (支持本地或 AI Studio 远程调用)。
- notion: Notion MCP 服务配置。
- filesystem: 文件系统访问权限配置。
默认配置中,paddleocr 使用 paddle-agent conda 环境中的 paddleocr_mcp 命令。请确保你的 conda 环境路径与配置文件中的路径一致 (/opt/anaconda3/envs/paddle-agent/bin/paddleocr_mcp),如果不一致请修改 backend/mcp-config.jsonc。
- 后端开发: 主要逻辑在
backend/src下。graph/目录定义了 LangGraph 工作流,clients/封装了 MCP 客户端调用。 - 前端开发: 主要页面在
frontend/src/pages,组件在frontend/src/components。
以下是项目运行时的实际效果展示,作为产品功能的真实佐证:
- 产品演示视频: [productvideo.mp4]https://download.csdn.net/download/2501_90285932/92408859
- 功能截图示例: image.png
-
由于知道活动的时间太晚了,等我们正式开始做的时候只剩下三天的时间。在这三天里,我和我的伙伴@Sophie618尽我们所能地将我们的产品理念实践出来,呈现给各位老师。她负责前端组件以及前后端的一些交互,我负责整个后端的逻辑的搭建,我们尽力想把这个产品做好
-
因此我们几乎复核了ai生成每一段代码,努力从技术和产品的角度使我们的产品更加完善
-
虽然可能这个产品目前功能目前比较单一,但是我们相信它所展现出来的生态化、集成化的潜力以及它的商业化、可落地性的可能。目前的笔记市场需要这样的一个产品
-
我们致力于给有需求的用户提供高效便捷,使用逻辑清晰的服务。我们也一定能做好!
那么以上就是关于产品的大致介绍,希望你们能喜欢。
如果您对我们的项目感兴趣,也欢迎随时联系我的邮箱:3771829673@qq.com