
三个数字放在一起,才看得出门道。
34335。4395。174。
第一个是 star,第二个是 fork,第三个是 watch。这是港大 HKUDS 那个叫 DeepTutor 的仓库今天上午的实时数字,九点零三分还在往 main 分支推东西。
三万多星在今天不算稀奇,AI 项目冲榜太容易了。反常的是中间那个。
4395 除以 34335,12.8%。
大部分开源项目的 fork 率趴在 5% 到 8% 这个区间。点星的人多,真把代码拉下来自己动手改的少,这是常态。12.8% 的意思是,每八个点了星的人里就有一个把仓库克隆到了本机。
第三个数字更说明事。watch 只有 174。
star 和 fork 都在万级,watch 却停在三位数。这个形状很清楚,绝大多数人不是抱着「盯它以后怎么演进」的心态来的,而是「先拉下来跑起来看看」。
这种数据形状通常只长在一类东西身上。得自己装、装完立刻能用的工具。
增速没有掉下来,这才是关键
冲榜项目最常见的死法是三天热度。周一上 trending,周五掉出前一百,一个月后 issue 区没人回。
DeepTutor 的时间线不长这样。
仓库 2025 年 12 月 28 日建的。前 39 天日均 256 星,属于典型的发布期爆发。
关键在后面两段。39 天到 111 天,日均 139。111 天到 226 天,日均 125。
从 256 掉到 139 是正常回落,任何项目发布期过去都会这样。但从 139 到 125,几乎是一条平的线。四个月里增速只掉了一成。
对照今天 GitHub 日榜的实时数据,它还在涨 829 星。第 226 天,单日八百多。
爆发期的星是流量给的,平台期的星是口碑给的。后面这一百多天的两万多星,含金量跟第一周那批不是一回事。
再加个数字。open issue 96 个,fork 4395 个。这个比例说明维护者没被淹掉,也说明拉下来的人里相当一部分是真跑通了,不然 issue 数不会这么克制。

用聊天窗口学东西,漏在哪
学一门新东西,现在的默认动作是打开一个对话框问。
这个动作能解决 60% 的问题,剩下 40% 卡在三处。
第一处,它不记得你学到哪了。今天问过的概念,明天再问,它照样从头解释一遍,语气还一样热情。你的进度它没有档案。
第二处,资料是散的。教材 PDF 在一个文件夹,笔记在另一个软件,之前问过的对话在第三个地方。每次要它结合你手上的材料回答,都得重新贴一遍。
第三处,也是最要命的一处。它不知道你到底会没会。做完十道题,答对七道,哪三道错了、错在同一个知识点上没有、下次该先补哪块,全靠你自己记。
DeepTutor 这个开源 AI 学习助手,动的就是这三处。它把自己定位成 agent-native learning workspace,翻过来说,它把辅导、解题、出题、查资料、画图、掌握度追踪这几件事塞进了同一个运行时。
想找个 AI 家教型的工具,这三处能不能接住,比模型参数大小重要得多。
六种模式,一个 agent loop
这是它架构上最值得说的一点。
Chat、Quiz、Research、Visualize、Solve、Mastery Path 六个模式,跑在同一个 agent loop 上面。
模式切换不换引擎。也就是说你在 Chat 里聊过的东西、在 Book 里读过的段落、在 Co-Writer 里写过的草稿、在 Knowledge Center 建的知识库,六个模式之间是通的。你不需要在 Quiz 模式重新交代一遍「正在学傅里叶变换」。
Chat 界面里可以手动挂的工具有七个,brainstorm、web_search、paper_search、reason、geogebra_analysis、imagegen、videogen。另外一批是自动挂的,包括 rag、read_source、read_memory、write_memory、read_skill、exec、web_fetch、ask_user、write_note、github、consult_subagent。
geogebra_analysis 这个值得单独提一句。数学函数画图这类需求,模型直接生成图片是不靠谱的,坐标经常错位。挂上 GeoGebra 就是走真实的几何引擎算,出来的图能信。
consult_subagent 是另一个有意思的口子。它可以去咨询本机装着的编程 CLI,Claude Code、Codex、Gemini、Kimi、opencode、MiMo 都在支持列表里。学编程的时候,遇到代码问题它不自己硬答,转手扔给专业的那个。
知识库这块它没赌单一方案,四个引擎并存。LlamaIndex、PageIndex、GraphRAG、LightRAG,还能直接挂 Obsidian 的 vault。文档解析器也是四个,MinerU、PyMuPDF4LLM、Docling、RAG-Anything,向量后端用 FAISS。
LightRAG 本来就是 HKUDS 自己的项目,放在这里算自家零件复用。
记忆分三层,L1 是原始 trace,L2 是表层摘要,L3 是综合。三层都能翻开看,配一张 Memory Graph 做溯源。这一点跟大多数「有记忆」的产品不太一样,那些通常只给你一个开关,记了什么你看不见。这里的记忆是可读可编辑的,它凭什么认为你掌握了某个知识点,你能顺着图查回去。

三行装起来
装法官方给了四种,PyPI、源码、Docker、纯 CLI。
想最快跑起来就走 PyPI 这条。
mkdir -p my-deeptutor && cd my-deeptutor pip install -U deeptutor deeptutor init deeptutor startdeeptutor init 会交互式问你端口、模型提供商、要不要配 embedding。填完 deeptutor start 起服务,前后端一起拉。默认前端在 3782 端口,后端 8001。终端别关,关了服务就停。
环境要求两条,Python 3.11 到 3.13,Node.js 20 以上。
不想碰 Python 环境的走 Docker,一行。
docker run --rm --name deeptutor \ -p 127.0.0.1:3782:3782 \ -v deeptutor-data:/app/data \ ghcr.io/hkuds/deeptutor:latest镜像 tag 两个,latest 是稳定版,pre 是预发布。数据挂在 deeptutor-data 这个 volume 里,容器删了数据还在。
只想在终端里用、不要网页界面的,装 CLI 包就够。
git clone https://github.com/HKUDS/DeepTutor.git cd DeepTutor python3 -m venv .venv-cli && source .venv-cli/bin/activate python -m pip install -e ./packaging/deeptutor-cli deeptutor init --cli deeptutor chatCLI 装完,几条命令比网页更顺手。
deeptutor kb create my-kb --doc textbook.pdf deeptutor chat --capability deep_solve --tool rag --kb my-kb deeptutor run chat "Explain Fourier transform" deeptutor memory show第一条建知识库并灌进一本教材,第二条带着这个知识库进解题模式,第三条是一次性问答不进交互,第四条把它记住的东西打开给你看。
模型这块不强绑云端。OpenAI、Anthropic、Gemini、DeepSeek 这些接口都支持,本地的 Ollama、LM Studio、llama.cpp、vLLM 也在列。想让资料完全不出本机,配本地模型这条路是通的。这也是本地部署 AI 学习工具这个方向上,它比网页版产品实在的地方。

装之前该知道的四处
第一处是 Docker 连本地模型。
容器里的 localhost 不是你宿主机的 localhost,Ollama 装在宿主机上,容器直连一定失败。得加参数。
docker run --rm --name deeptutor \ -p 127.0.0.1:3782:3782 \ --add-host=host.docker.internal:host-gateway \ -v deeptutor-data:/app/data \ ghcr.io/hkuds/deeptutor:latest然后在模型配置里把地址写成 host.docker.internal,不要写 localhost。这个坑踩进去的人不少,报错长得像模型服务挂了,实际是网络隔离。
第二处是沙箱开关。
配置文件 data/user/settings/system.json 里有个 sandbox_allow_subprocess,默认是 true。这个开关管的是子进程执行权限,office 那批技能靠它跑,也就是生成 docx、pdf、pptx、xlsx 的能力。出于安全考虑把它关掉,代价是这些文件它就生成不出来了。要不要关,看你是本机自用还是给别人访问。
第三处是鉴权。
AUTH_ENABLED 默认 false。本机自己用无所谓,端口也绑在 127.0.0.1 上。但只要你打算把它挂到公网或者局域网给同学用,这个必须开,同时前端那个 NEXT_PUBLIC_AUTH_ENABLED 也要一起开。默认不开鉴权的服务扔上公网,等于把知识库和聊天记录敞着放。
第四处是 Node 版本。
PyPI 那条路 Node 20 以上就行,源码开发那条路要 22 LTS。前端装依赖得带 --legacy-peer-deps,不带会因为 peer 依赖冲突装不上。仓库本身 232 MB,克隆的时候心里有个数。
还有一条不算坑但值得掂量。它是 Apache 2.0,六个模式加四个 RAG 引擎,能力铺得很宽。宽的代价是初次配置的心智负担不小,模型、embedding、搜索、解析器一路配下来,第一次跑通大概要花掉半小时。图省事的话,先只配一个 LLM,embedding 和 RAG 后面再补,Chat 模式空着知识库也能用。
今天可以做的
如果你手上正好有一本没读完的技术书或者一份两百页的教材 PDF,值得花二十分钟试一次。
pip install -U deeptutor deeptutor init deeptutor kb create study --doc 你的教材.pdf deeptutor chat --tool rag --kb study四条命令。然后问它一个具体的章节问题,看它引用的段落对不对得上。
对得上,说明解析和检索这条链路在你的资料上是通的,剩下的模式可以慢慢摸。对不上,八成是解析器选得不合适,扫描版 PDF 换 MinerU 再来一遍。
一个开源 AI 学习助手值不值得装,不看它 star 多少,看它在你自己那份资料上能不能答准。这件事只有你自己能测。
那 4395 个 fork 里,多半就是这么来的。
---
相关阅读
把技术书 PDF 变成随时可调的技能,book-to-skill 怎么用 团队级 Agent 记忆中枢,腾讯开源的四种记忆资产 4GB 显卡跑 70B,airllm 的逐层加载到底靠不靠谱
夜雨聆风