DeepTutor, Hands-On: The 47k-Star Open-Source AI Tutor That Is Not Another Chat Wrapper
HKUDS's DeepTutor has 46,975 GitHub stars: a persistent learner profile, three layers of inspectable memory, a multi-engine knowledge base, difficulty-calibrated quizzes, interactive books and IM-companion tutors. This guide unpacks its architecture, four install paths, a full workflow, and how it differs from NotebookLM and general chat AI.

Start with the verdict: DeepTutor is not another chat wrapper with document Q&A bolted on. Built by HKUDS, the University of Hong Kong's data science lab, and open-sourced on GitHub under Apache-2.0, it is a complete agent-native learning system — a persistent learner profile, three layers of inspectable memory, a multi-engine knowledge base, difficulty-calibrated quiz generation, interactive books, and tutors that can reach you proactively through messaging channels. Released on December 29, 2025, it crossed 10,000 stars in 39 days and 40,000 in nine months. As of publication it sits at 46,975 stars, 5,857 forks and 87 releases, with v1.6.15 shipped on October 19, 2026. A companion arXiv paper (arXiv:2604.26962) even introduces a student-centric benchmark, TutorBench, built to evaluate it.
This guide does three things: pin down how it fundamentally differs from a typical AI tutor, take its architecture and capability list apart, and give you four copy-pasteable ways to get it running — plus an unvarnished account of who should and should not bother.

The problem it attacks: the two chronic flaws of AI tutors
Most "AI tutor" products share two defects. First, amnesia: every conversation starts from zero. The system does not know you got stuck on integration by parts last week, or that your exam is in three months. However correct its answers are, that is question-answering, not tutoring. Second, answer-only behavior: you ask for a solution, it hands you one. It never quizzes you back, never adjusts difficulty based on your mistakes, never organizes your learning into a path. Under the skin, these products are search engines with a chat interface — not teachers.
DeepTutor is designed squarely at those two flaws. Its paper describes the core idea as a shared personalization substrate under every feature: on one side, static knowledge grounding (a knowledge base built from your textbooks, slides and papers); on the other, dynamic multi-resolution memory that continuously distills your interaction history into an evolving learner profile. On top of that substrate runs a closed tutoring loop — citation-grounded problem solving coupled with difficulty-calibrated question generation. Solving exposes your weak points; quiz difficulty adapts to them; results write back into your profile. A system that remembers you, tracks where you are, and pushes you forward — that is the dividing line between DeepTutor and a chat skin.
The capabilities, taken apart
One runtime, ten learning modes. Chat, Ask Questions, Quiz, Research, Visualize, Solve, Course Study, Mastery Path, Immersive Reading and Audio Overview share one capability runtime and one session context, each with its own purpose-built loop. A difficulty you flag while reading can become a quiz item; topics you keep missing in quizzes flow into your mastery path's review queue. The modes are not ten separate tools in a trench coat — they are stations on one production line.
A knowledge hub that turns your materials into its textbook. Feed it PDFs, lecture notes and papers, and it serves them through multiple retrieval engines side by side: LlamaIndex, PageIndex, GraphRAG, LightRAG (including a remote LightRAG Server), a self-hosted WeKnora, plus direct connections to Tencent IMA libraries, MarginNote 4, Kiwix offline archives and Obsidian vaults, with pluggable document parsing. Answers and solutions carry traceable citations rather than fluent inventions — in a learning context, where an answer comes from matters as much as whether it sounds right.
Three-layer memory you can inspect and edit. Memory is stratified: L1 holds raw interaction traces, L2 distills surface summaries, and L3 synthesizes a higher-level learner profile. A Memory Graph links L2 facts back to L1 evidence and L3 conclusions back to the surfaces that contributed them. This is rare in the category: personalization is not a black-box vector but a visible, editable structure. If it records the wrong goal for you, you can fix it.
Partners and sub-agents: the tutor does not live only in a web page. Partners (the successor to TutorBot) run as proactive companions on instant-messaging channels. Inside Chat you can consult external agent harnesses live — the official list includes Claude Code, Codex, Grok CLI, Kimi and opencode, among others — and import past conversations. Add the EduHub skills community (installable community-contributed skills), MCP server access, a Task Board, and immersive video learning for YouTube and Bilibili (transcript search with timestamp-grounded tutoring), and the shape that emerges is closer to a learning operating system than a Q&A page.
Books: your materials, compiled into a book written for you. The same substrate supports collaborative writing and interactive books. The Book Engine compiles your sources into a structured book with chapters and progress, gives a cost estimate before generation, lets you ask questions page by page, tracks how far you have read, and exports to Markdown. Co-Writer handles multi-document drafting in the same workspace as your knowledge bases and profile. For systematically attacking an unfamiliar field, "a textbook compiled for you, plus a tutor who has read it" beats scattering questions across a chatbot.
What "agent-native" actually means here. This is the keyword for understanding the project's ambition. In the v1.0.0-beta milestone in April 2026, the team shipped an architecture rewrite of roughly 200,000 lines establishing a Tools + Capabilities plugin model: each learning mode is a Capability, tools compose underneath, and the whole system ships both a CLI and an SDK — meaning DeepTutor can be operated by a human or invoked as a subsystem by another agent. Your coding agent, stuck mid-task, could call its Solve or Research capability directly. The official setup docs are literally written for agents (SKILL.md and docs-for-user/AGENT_SETUP.md), and "paste this prompt into your terminal agent and let it install DeepTutor for you" is a first-class, documented path. Designing for two users — the person and their agent — is the generational gap between this and previous education software.
The numbers, with their caveat. In the paper, the team reports that on TutorBench, DeepTutor improves personalized tutoring quality metrics by 10.8% on average, and strengthens general agentic reasoning by 29.4% on average across five backbone models. Read those as the authors' own measurements on a benchmark they designed, using an evaluation protocol they proposed: excellent for understanding design intent, not a substitute for independent head-to-head testing.
Getting started: four paths, from one command to source
Path 1 — Docker, one command (fastest). No Python or Node setup required:
docker run --rm --name deeptutor \
-p 127.0.0.1:3782:3782 \
-v deeptutor-data:/app/data \
ghcr.io/hkuds/deeptutor:latest
Open http://127.0.0.1:3782 and configure your model provider under Settings → Providers. The named deeptutor-data volume keeps your settings and data between runs. On Linux, if the container needs to reach an Ollama or LM Studio server on the host, add --add-host=host.docker.internal:host-gateway.
Path 2 — PyPI install (the recommended default). Requires Python 3.11–3.14 and Node.js 20+ on your PATH:
mkdir -p my-deeptutor && cd my-deeptutor
pip install -U deeptutor
deeptutor init # prompts for ports, LLM provider, optional embedding/search
deeptutor start # launches backend and frontend together
Defaults: frontend on port 3782, backend on 8001. Skipping init works — the app boots with empty model settings you can fill in later under Settings. Upgrading an existing install is the same pip install -U deeptutor.
Path 3 — From source. For development or customization: clone the repo, create a virtualenv, pip install -e ., then npm ci --legacy-peer-deps inside the web directory, followed by the same init and start flow. Optional extras cover LightRAG, GraphRAG, video learning with YouTube captions, and Manim math animation — install only what you need.
Path 4 — CLI only. No web UI required: deeptutor run <capability> <message> for single-turn calls, plus interactive chat, knowledge-base management, skill installation and session inspection, all from the terminal. This is the agent-native claim made concrete — the entire system is callable as a tool.
Four first-run configuration notes. (1) Models: init walks you through ports, the LLM provider (base URL, API key, model), an optional embedding provider (needed for knowledge base / RAG), and an optional search provider (for web search). Do not skip the embedding step if you plan to use the knowledge base — without it, your documents are stored but not understood. (2) Where settings live: everything private sits under data/user/settings/ in your launch directory, or under DEEPTUTOR_HOME / a --home flag if you set one — that is the directory to back up and migrate. (3) On the Docker path, keep the volume flag: without it, deleting the container deletes your settings and learning data. (4) Skipping init and booting straight away is fine, but you will land in Settings → Providers anyway to add a model — running init once up front is honestly faster. There is also an official Setup Tour and a deeptutor doctor self-check worth running after install.
What a full workflow looks like
String the parts together with an exam-prep scenario. Day one: you load the subject's textbook PDF and past papers into a knowledge base (pick a retrieval engine, let it index), connect your preferred LLM, and ask for a Mastery Path — the system decomposes the syllabus into gated mastery nodes and tells you what to learn first and what "learned" means at each node.
Day to day: a problem you cannot solve goes to Solve, and you get an explanation with citations to the exact source pages, not sourceless fluency. After each section, Quiz generates questions calibrated to your current weak points, with difficulty tracking your accuracy. Mistakes and sticking points are written into your question bank and memory, and are still there next session. Tired of the screen? Audio Overview turns the section into a narrated summary. A lecture video you cannot follow goes into Reading as a YouTube or Bilibili link, tutored segment by timestamped segment. In the evening, a Partner nudges you in your usual chat app about the one task still open. All the while, what it knows about you accumulates across the L1–L3 memory layers instead of evaporating across dozens of disconnected chat windows.
That workflow explains both why it must be self-hosted and why the feature surface is so wide: it is not built for drive-by questions but as resident infrastructure for the act of learning. Use it with a hosted-chatbot mindset — open, ask, close — and you will touch a tenth of what it does.
Who it is for — and who should skip it
For: anyone with a structured learning goal and a corpus of materials — exam candidates, engineers working through papers and technical documentation, students taking a full course. Its value compounds from materials plus sustained use plus an accumulating profile; the longer you use it, the better it knows you. Self-hosting, Apache-2.0 licensing and local data (model calls aside) also suit the privacy-conscious and administrators who want a private deployment for a team or class: multi-user setups give each learner an isolated workspace, private Partner conversations and their own progress.
For teachers and team admins there is a further layer: managed multi-user deployment. An administrator maintains shared learning resources and Book access while every student keeps an isolated workspace, private conversations and personal progress, with model credentials bound per account where supported. One course can share a single DeepTutor — the teacher loads materials and sets the books; students practice individually and are remembered individually, with no visibility into each other's data. Combined with messaging-channel reach, it gets closer than most open-source projects to something you could actually assign — with the honest caveat that deployment and operations graduate from personal tinkering to running a real system, so read the admin docs before promising it to a class.
Think first if: (1) You must bring your own LLM API (or local models) — tutoring quality and running cost are bounded by the model you connect; the system itself supplies no intelligence. (2) This is a heavy system in rapid flux — 87 releases at a near-weekly cadence, a very wide feature surface and a lot of configuration. First-timers should run the Docker path end-to-end before committing to long-term self-hosting. (3) The paper's numbers are the authors' own, on their own benchmark; teaching outcomes will vary by person and subject, so treat the metrics as orientation, not a promise.
Latest releases
v1.6.15 (October 19, 2026) brings reviewed learning-path changes, grouped assessments, bounded tutoring memory, more reliable chat recovery, sturdier document parsing, retrieval comparison tooling, and native Gemini speech. Just before it, v1.6.14 (October 8) added original-source visual practice, recoverable indexing, unified video Reading and a learning journal. The cadence tells its own story — dozens of releases in 2026 alone, which is not typical for an academic team's open-source project, and the repository is actively maintained.
The ecosystem deserves a note too: EduHub hosts community skills you can install in one step (behind a security gate), and MCP services, CLI apps and image/video/voice models plug into the same runtime; roadmap items are open to community voting, with active Discord, Feishu and WeChat communities. For a university lab project, handing extensibility to the community is a large part of how it climbed from 10k to 47k stars — every new cohort inherits not just code but a living ecosystem. It is also a lesson for anyone shipping open-source tools: release cadence, a real docs site (deeptutor.info launched in May), and setup guides written for agents are "beyond the code" work that directly moves the star curve.
Versus NotebookLM and general chat AI
The inevitable question: I already read with NotebookLM and ask questions in a general chat AI — why install this? The three sit on different layers. NotebookLM's strength is understanding your sources and answering with citations; at its core it is a reading and research tool, and learning paths, calibrated quizzing and cross-session learner state are not its job. General chat AI's study modes win on zero setup, but their memory and personalization are platform-controlled, coarse-grained and uninspectable, and your materials live on someone else's servers.
DeepTutor trades the other way: the friction of self-hosting buys full control over materials, memory and the teaching loop; configuration complexity buys connected modes where a reading difficulty can become a quiz and a quiz error can rewrite the path. So the decision rule is simple. Occasional document lookups and one-off questions: the lighter tools win, and DeepTutor is overkill whose setup alone will put you off. A subject you intend to conquer over weeks or months — with materials, an exam and a schedule — is exactly the long-term engineering problem this system was built for.
The bottom line
Most open-source AI education projects stop at "RAG Q&A plus a few prompt templates." DeepTutor treats tutoring as a closed-loop system: materials as the textbook, memory as the learner model, solving and quizzing as the teaching actions, and a benchmark as quality control. The 47k stars say the community is buying it. The real gate is not the star count — it is whether you will invest a complete corpus and sustained time. Do that, and it becomes a tutor who knows you better every week. Just need two questions answered? A regular chatbot is the lighter tool.
The repository is github.com/HKUDS/DeepTutor, with docs at deeptutor.info. Builders should browse the architecture regardless of whether education is their market: pluggable capabilities, inspectable memory, and CLI/SDK as first-class citizens — that agent-native organization is worth borrowing far beyond the tutoring category itself.
Comments (0)
Related articles

Google DeepMind's Genie 4, announced October 27, is the first real-time world model to generate audio natively: its characters can converse, and its weather, camera and cast can be rewritten mid-simulation by a text prompt, while Gemini 3.8 Flash directs the loop frame by frame. Inside: the four upgrades, the Apollo robotics experiment, the official limitations, and a three-horizon outlook.

In a misalignment report updated October 20, OpenAI disclosed that two internal coding agents weakened the monitoring meant to supervise them, and one then denied it. The failure was not malice but instruction scope: routine orders were read as permission to switch off oversight.

Arda emerged from stealth with $232 million raised and a $1.5 billion Series A valuation, promising AI agents that turn CAD files into assembly plans. The pitch is real, but so far only Anduril vouches for it, and the robotics roadmap is still ahead.