如何快速上手 DeepTutor:搭建个人 AI 家教与知识库的入门实战指南
【免费下载链接】DeepTutorDeepTutor: Lifelong Personalized Tutoring. https://deeptutor.info/.项目地址: https://gitcode.com/GitHub_Trending/dee/DeepTutor
把课程讲义和历年真题放进本地知识库,再在网页里提问,得到的答案都出自你自己的材料——这是 DeepTutor 最日常的用法。它是一个开源、agent 原生的个人学习工作区,把对话答疑、知识库检索、出题、引导学习和文件化记忆整合进同一套可自托管的应用里。
DeepTutor 是什么
一句话概括:DeepTutor 是能装在自己机器上的“AI 家教 + 知识工作台”。它的定位和门槛,可以从四方面看:
- 它是什么:HKUDS 团队主导的开源项目(Apache 2.0 许可),后端 FastAPI 服务、前端 Next.js,附带一个同名的
deeptutor命令行工具。 - 给谁用:想围绕自有资料搭“家教”的自学者、需要整理课程资料的教师,以及希望从其他 agent 里调用学习能力的开发者。
- 核心能力:Chat、Quiz、Research、Visualize、Solve、Mastery Path 六种能力跑在同一个 agent 循环上;知识库、题库、笔记本、Co-Writer 草稿、三层记忆在这些能力之间共享,而不是散落在各自独立的工具里。
- 使用门槛:
pip install -U deeptutor安装、deeptutor init配置、deeptutor start启动;需要提供 LLM API key(本地 Ollama 也可以),或者直接用 Docker 单容器部署。
下面挑三个最核心的功能展开。每个功能都对应仓库里一个独立的模块目录,想深入可以直接翻源码。
核心功能详解
用自有资料建知识库(RAG)
解决“AI 回答只靠模型通用知识、来源不可考”的问题。
每个知识库绑定一个检索引擎:默认 LlamaIndex(本地向量 + BM25),也可选 PageIndex、GraphRAG、LightRAG,或链接一个 Obsidian 笔记库。索引按version-N目录版本化管理,重建索引不会毁掉可用的旧索引,生命周期管理见 deeptutor/knowledge/,检索管线在 deeptutor/services/rag/。
用户实际得到的是:Chat、Co-Writer、Book 生成引用的是同一套知识库;某篇文档解析失败时,只删除该文档即可,不必整库删除重建。
能调用工具的聊天循环
解决“普通聊天只会说话,不能查资料、跑工具、咨询别的 agent”的问题。
模型按轮次思考,需要时调工具、观察结果,最终以一条无需工具的消息收尾;信息不够时ask_user会暂停当前回合、提出一个结构化澄清问题,等你回答再恢复。循环实现在 deeptutor/core/agentic/,聊天侧的流程与提示词在 deeptutor/agents/chat/。
用户实际得到的是:同一个线程里可以从提问自然过渡到查库、联网检索、生成测验;从该线程切到 Quiz、Research 或 Mastery Path 时,上下文会跟着走,不用重新粘贴背景。
带掌握度门槛的引导学习
解决“通用聊天无法回答‘这个人哪些知识点还没过关’”的问题。
deeptutor/learning/ 负责掌握度判定(mastery)、学习调度(scheduler)与题目判分(grading);引导学习流程构建在同一个聊天 agent 循环之上,按题型设置掌握度门槛,判分结果流入题库,进度在/learning页面以看板形式展示。
用户实际得到的是:学习看板里能看到哪些知识点尚未过关;生成过的题目带着你的作答、参考答案与解析进入题库,后续聊天中可再次引用。
一个真实场景的完整走通
功能清单读起来容易抽象。下面以“准备一个三角函数单元”为例,按时间线走完从资料到题目的全流程。
- 运行
deeptutor init,按提示输入后端端口(默认 8001)、前端端口(默认 3782)、LLM 供应商与 API key;计划用 RAG 就同时配置 embedding 供应商。配置以 JSON 写入data/user/settings/。 - 运行
deeptutor start,后端与前端同时拉起,浏览器打开 http://127.0.0.1:3782 进入主界面。 - 在 Knowledge Center 新建知识库,上传讲义 PDF 和历年真题;终端等价命令是
deeptutor kb create my-kb --doc textbook.pdf。文档解析完成后索引构建完成。 - 在 Chat 的上下文栏选中该知识库,提问“sin²x 为什么不能按 cos2x 处理”,回答会落在知识库内容上而不是泛泛而谈。
- 在同一线程切换到 Quiz 能力,基于该知识库生成分层练习题,题目随作答、参考答案与解析一并进入题库。
DeepTutor 主聊天界面:知识库、模型、子代理等上下文固定在输入栏,左侧边栏是各学习入口
快速开始(3 步跑起来)
只想验证一遍的话,按下面三步走;不想装 Python 环境的,直接看下一节的 Docker 方案。
- 确认环境:完整应用需要 Python 3.11–3.13 与 Node.js 20+。
# 检查版本 python3 --version node --version- 安装并初始化工作区。
# 从 PyPI 安装完整应用(Web + CLI) pip install -U deeptutor # 按提示配置端口、LLM 供应商与 API key deeptutor init- 启动并访问。
# 同时启动后端与前端,终端会打印访问地址 deeptutor start随后在浏览器打开 http://127.0.0.1:3782,在 Settings → Models 里确认模型连接状态即可开始使用。
常见问题与选择建议
配置过程中遇到问题,先在这里查。四种安装方式共享同一套data/user/settings/布局,切换方式后配置可以沿用。
问:没有云端 API key,能跑吗?
可以。把 LLM 的 Base URL 指向本地模型服务即可,例如 Ollama 的http://127.0.0.1:11434/v1、LM Studio 的http://127.0.0.1:1234/v1。容器内运行时注意:容器里的 localhost 指向容器本身,需要加--add-host=host.docker.internal:host-gateway,然后把地址写成http://host.docker.internal:11434/v1。
问:四种安装方式怎么选?
| 方式 | 形态 | 运行依赖 | 适合场景 |
|---|---|---|---|
pip install deeptutor | Web 应用 + CLI | Python 3.11–3.13、Node 20+ | 日常使用,上手最快 |
| 源码安装 | 同上,含开发能力 | Python 3.11–3.13、Node 22 LTS(与 CI 一致) | 二次开发、提 PR |
| Docker | 单容器,数据挂卷持久化 | Docker | 只需暴露 3782 一个端口 |
| CLI-only | 仅终端,无 Web 界面 | Python 3.11–3.13 | 脚本化调用、被其他 agent 驱动 |
问:和通用聊天机器人有什么不同?
DeepTutor 是自托管的学习工作区:知识库、题库、笔记本、三层文件记忆(L1 事件轨迹 / L2 整理事实 / L3 综合)都落在本地data/目录,L3 的每一条结论都能沿引用链回溯到原始事件,而不是存在一个不可审计的向量库里。CLI 的deeptutor run <capability> --format json会逐行输出 NDJSON 事件,可以直接包装成工具供其他 agent 调用。
DeepTutor 把辅导、知识库、记忆和学习路径做成了可组合、本地可查的模块,上面每条命令都能在 README 与deeptutor_cli/中逐一核对。现在就可以克隆仓库,按“快速开始”三步建起第一个知识库。
# 克隆仓库 git clone https://gitcode.com/GitHub_Trending/dee/DeepTutor【免费下载链接】DeepTutorDeepTutor: Lifelong Personalized Tutoring. https://deeptutor.info/.项目地址: https://gitcode.com/GitHub_Trending/dee/DeepTutor
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考