SunnyBoy-y/LearnGraph
LearnGraph 是一个 AI 驱动的智能学习平台。你只需说出一个真实的学习目标,AI 便会帮你生成可生长的知识路线图,并作为学习伙伴全程陪伴,引导你高效进入并掌握陌生领域。
LearnGraph – AI 增强的自托管学习工作区
它是什么
- 一个自托管的 Web + Android 应用程序,帮助用户设定具体的学习目标,为该目标构建 知识图谱,并让 AI 代理 引导用户完成学习、练习和评估。
- 系统持续更新图谱和证据的 记忆(用户阅读、回答或编码的内容),以便代理推荐下一步。
关键能力
| 功能 | 您获得什么 |
|---|---|
| 增长的知识图谱 | 从自然语言目标,后端生成一个版本化、可编辑的主题和先决条件关系图谱。用户可以审计和修改它。 |
| 代理原生学习 | AI 代理规划行动 – 获取来源、解释概念、创建练习、在 Docker 沙箱中运行代码,并记录结果。 |
| 全双工语音导师 | 集成了语音转文本和文本转语音(DashScope ASR + Volcano TTS);您可以同时说话和收听,并带有实时字幕,突出显示所说的句子。 |
| Docker 隔离沙箱 | 代理执行的代码在默认离线的 Docker 容器中运行;出站网络需要明确批准,提供强大的安全边界。 |
| Android 客户端 | 原生 Kotlin/Jetpack-Compose 应用(GeckoView)镜像 Web 界面,并添加相机、文件共享、二维码扫描、生物识别登录、TTS 和推送通知。 |
| 事件溯源长期记忆 | 每次交互都存储为不可变事件。投影层按需构建可搜索的上下文,支持重放、审计和防止提示注入。 |
| 交互式学习页面 | 每个图谱节点可以生成一个完整的学习页面,包含材料、交互式实验、迷你游戏和分级测验。进度被持久化并可恢复。 |
| “魔法卡片”组件 | AI 生成的 UI 小部件(多项选择、填空、图表等),带有状态,可在学习页面中重用。 |
| 多模型提供商支持 | 支持 OpenAI、Anthropic、Qwen、DeepSeek、Ollama、Copilot 等的插件架构,并统一处理凭据。 |
架构概览
- 前端:React 19 + TypeScript (Vite) 用于 Web 界面;Kotlin/Jetpack-Compose 用于 Android。使用 TanStack Query、React Flow 和自定义 可信渲染器 来安全处理 AI 生成的 HTML。
- 后端:FastAPI (Python 3.11+) 提供 HTTP + SSE 端点。核心服务实现 G-R-E-M-A 学习循环(目标 → 表示 → 证据 → 掌握 → 行动)。
- 记忆:SQLite (WAL) 中的事件存储,带有分层投影,用于混合向量 + 关键词检索。
- 沙箱:
sandboxd守护进程控制执行代理工具的 Docker 容器;出口代理强制执行“默认离线,批准后上线”策略。 - 数据持久化:所有用户数据、图谱版本、证据和加密的提供商密钥都存储在 Docker 卷(或绑定挂载目录)中,并在容器升级后保留。
如何尝试
- Docker compose(推荐)
git clone https://github.com/SunnyBoy-y/LearnGraph.git cd LearnGraph docker compose up -d --build # 构建 web+API 镜像和沙箱服务- 在浏览器中打开
http://127.0.0.1:18000。 - 使用容器日志中打印的临时管理员密码登录,然后更改密码。
- 在浏览器中打开
- 开发模式(如果您想贡献)
npm run dev:install # 安装 Node 和 Python 依赖,创建 .env 文件 npm run dev # 启动 Vite 前端和 FastAPI 后端- 前端:
http://127.0.0.1:5173 - API:
http://127.0.0.1:8000
- 前端:
- Android 客户端
- 在
mobile/native中构建 Kotlin 应用,或安装预构建的 APK。 - 将其指向主机地址(例如
http://192.168.1.5:18000)。
- 在
典型工作流程
- 设定学习目标 – “在两周内学习用于数据分析的基础 Python。”
- 审查生成的图谱 – 批准如 变量、pandas、可视化 等节点。
- 与代理聊天 – 请求解释、请求代码示例,或让代理创建练习。
- 做练习 – 界面呈现交互式页面;结果存储为证据。
- 获取下一个推荐 – 系统更新您的 掌握 状态,并建议下一个影响最大的节点。
谁可能使用它
- 希望在新领域获得结构化、AI 引导路径的个人学习者。
- 研究代理驱动辅导、记忆审计或沙箱工具执行的研究人员。
- 构建内部知识入门流程的小团队(自托管保持数据私有)。
当前限制
- 仍处于 早期开发 阶段;不建议用于生产工作负载。
- 语音功能依赖云提供商(DashScope、Volcano);它们将音频发送到这些服务。
- 沙箱仅支持 Docker;没有 Docker 的环境无法运行代码执行功能。
- 多用户协作仅限于基本 RBAC;实时共同学习尚未实现。
了解更多
- 开发者指南和文档:https://sunnyboy-y.github.io/LearnGraph/
- 源代码:https://github.com/SunnyBoy-y/LearnGraph
- 许可证:MIT(欢迎分叉和扩展)。
LearnGraph 是一个真正的开源 AI 代理学习平台,结合了知识图谱规划、自主辅导代理、语音交互和 Docker 隔离的执行沙箱。
相关
- 项目
- 项目
- 项目
- 项目
- 项目