mrkeyoor.com_
Mon 02 Nov 01:13 UTC
AI Toolsevaluationupdated 29 Sept 2026

DeepTutor review

DeepTutor is a self-hosted learning workspace that joins AI chat, document retrieval, guided study, quizzes, writing, books, and persistent memory. It solves the fragmentation of keeping study material, progress, and model conversations in separate tools, while letting you choose local or hosted model providers.

+9,805stars / 7d
Verdict

Our DeepTutor run installed 218 packages and occupied 728 MB, then reached only 9% of the test suite before a 900-second timeout, so it fits technical users who want the whole learning workspace and can own its operations. Use it when shared context across reading, practice, writing, and agents is the point. Choose a narrower tool if you mainly need document chat, or if a complete green suite is a release requirement.

We ran it

Lab card: what happened when we ran DeepTutorScreenshot of DeepTutor (arxiv.org/abs/2604.26962)
Install✓ · 127s218 packages · 728 MB
Build✓ · 15s
Tests✗ timed out · 900sran, no count parsed
Known vulns4(pip-audit)
Repo3498 files~737,316 lines of source · 58.2 MB · 4 CI workflows · Dockerfile · tests dir

Answers from our run

Does DeepTutor build from source?

Dependencies installed in 127 seconds (218 packages), and the build succeeded in 15 seconds. We cloned commit ef2d9e5 into a clean Debian container with 3 CPUs and no project-specific setup.

Do DeepTutor's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Does DeepTutor have known vulnerabilities in its dependencies?

pip-audit flagged 4 known advisories in the dependency tree at the time of our run.

Who should not use DeepTutor?

Teams that only need chat over a few PDFs: our checkout held 3,498 files and about 737,316 lines, before the 218-package install.

What are the alternatives to DeepTutor?

Open WebUI, AnythingLLM, LearnHouse. Our DeepTutor run installed 218 packages and occupied 728 MB, then reached only 9% of the test suite before a 900-second timeout, so it fits technical users who want the whole learning workspace and can own its operations.

Setup3/5Install and build passed; the suite timed out at 900 seconds
Docs5/5Clear install, provider, workspace, retrieval, and safety guidance
Community5/540,583 stars, a September 27 push, and active issue work
Maturity3/5v1.6.12 is broad, but our full test run did not finish

Who it’s for

Technical learners who want documents, tutoring chats, notes, quizzes, and progress in one private workspace.
Educators or research groups prepared to configure models, retrieval, user access, and backups.
Agent users who want Claude Code, Codex, MCP tools, and messaging channels tied to the same learning context.

Who it’s NOT for

Teams that only need chat over a few PDFs: our checkout held 3,498 files and about 737,316 lines, before the 218-package install.
Release processes that require a clean full suite inside 15 minutes: our run timed out at 900 seconds with the log still showing progress at 9%.
Security teams that cannot permit model-written code: the README labels the local restricted-subprocess fallback as best effort when no runner or bubblewrap sandbox is available.
Schools relying on learner accounts without their own acceptance tests: open issue 1222 reports policy-aware screens returning 403 errors and hiding existing conversations.
People expecting a fully offline tutor with no model work: useful RAG, search, voice, and media paths need compatible local services or provider credentials.

Setup reality

Our fresh Debian sandbox installed commit ef2d9e5 in 127 seconds, pulling 218 packages and using 728 MB. The build succeeded in 15 seconds. Tests ran for 900 seconds and timed out; the last visible progress was 9%, with dots rather than an exception. Pip-audit reported 4 known vulnerabilities.

The normal application path still needs an LLM profile, with a base URL, model, and usually an API key unless you supply a compatible local service. Knowledge-base work can also need an embedding profile, parser, or search provider. Settings and credentials live in the chosen runtime home.

PyPI installs require Python 3.11 through 3.14 and Node.js 20 or newer. Docker publishes port 3782 and should mount persistent data. Native speech adapters may need FFmpeg, some optional extras need system libraries, and local code execution is only a best-effort sandbox without bubblewrap or the runner sidecar.

DeepTutor ties 737,316 lines to one learning workspace

commit ef2d9e5 contained 3,498 files and about 737,316 lines of source. That size buys more than a themed chat screen. DeepTutor connects conversations, knowledge bases, notebooks, question banks, writing, generated books, reading progress, memory, outside agents, and messaging Partners. A lesson can move between these surfaces without rebuilding its context in each app. That continuity is the case for DeepTutor. If you will not use it, the same breadth becomes upkeep.

The checkout itself occupied 58.2 MB before installation. Its Python backend and Next.js frontend support a Web app and a machine-readable CLI, while the knowledge layer can use LlamaIndex, PageIndex, GraphRAG, LightRAG, Kiwix, Obsidian, and other connected stores. This is closer to a personal learning system than a PDF question box. It also means upgrades can touch storage, retrieval, UI, model routing, or account policy at once.

Version 1.6.12 shares context across study modes

Version 1.6.12 lets Chat, Quiz, Research, Solve, Mastery Path, Immersive Reading, and other modes draw from the same workspace. Books compile source material into editable blocks, quizzes, figures, and notes. Memory is exposed as 3 layers rather than hidden behind a single opaque index. Learners can inspect what the system retained and trace summaries back to lower-level records.

That shared context is useful when the work lasts longer than one answer. A learner can read a cited passage, save a question, practice it later, and bring the same material into a writing session. The CLI can emit NDJSON for another agent, and DeepTutor can consult connected Claude Code or Codex sessions. Those features justify the project for a committed personal setup or a technically staffed lab. They are excess machinery for occasional homework questions.

What happened when we ran it

Our sandbox installed commit ef2d9e5 in 127 seconds, adding 218 packages and using 728 MB on disk. The build completed successfully in another 15 seconds. We used 3 CPUs, 8 GB of RAM, Python 3.12 on Debian, no secrets, and an unprivileged container. The repository also contained 4 CI workflow files, a Dockerfile, a Compose file, and a tests directory.

The test command did not finish inside 900 seconds. Its last output was a steady run of progress dots through 9%, with no exception or failure trace in the supplied tail. We cannot say how many tests would have passed, why the run was slow, or whether it would finish on different hardware. Pip-audit separately reported 4 known vulnerabilities. A release review should rerun the complete suite and inspect those advisories rather than treating the successful build as a substitute.

Python 3.11 is only the start of the setup

The PyPI route supports Python 3.11 through 3.14 and needs Node.js 20 or newer for the packaged frontend. The usual flow is to create a runtime home, install DeepTutor, run deeptutor init, and start the app. Initialization asks for ports and a language-model provider. Without an LLM profile, the interface can boot, but the tutor has no model to answer with.

Knowledge-base features introduce another choice: embeddings, parsing, and sometimes search. Hosted providers need credentials; local providers need reachable services and compatible model settings. Docker reduces host dependency work and exposes the Web app on port 3782, but its volume contains settings, keys, chat history, memory, and indexes. Back up that volume. Native DashScope or Volcengine microphone transcription also needs FFmpeg on the service path.

Three execution paths provide different safety boundaries

The README describes 3 paths for model-written code: a runner sidecar, Linux bubblewrap, or a restricted subprocess fallback. DeepTutor's office skills use that facility to create DOCX, PDF, PPTX, and XLSX files. The fallback is marked best effort when the stronger options are absent. That distinction matters if untrusted documents, community skills, or multiple users can influence a turn.

A personal Docker trial at least places the app inside a container. Shared deployments need a deliberate policy for code execution, model credentials, MCP services, and CLI apps. DeepTutor supports per-user grants, yet open issue 1222 reports that learner-policy restrictions can surface as 403 errors in the interface and can hide existing conversations. Schools should test the exact learner role and disabled surfaces they intend to ship.

v1.6.12 is active and still carries learning regressions

Release v1.6.12 shipped on September 27, 2026, the same date as the last repository push we found. GitHub showed 40,583 stars, 111 open issues, and 138 open pull requests on September 30. New issues and pull requests were still arriving that day, so DeepTutor is plainly maintained. The large queue also says that maintainers and deployers are absorbing a lot of change. Pin releases and read upgrade notes before moving a working study library.

Some current reports touch the product's core promise. Issue 1614 says v1.6.12 showed only about 7 rounds from a 310-round chat and attached new messages to the wrong earlier point. Issue 1624 reports Mastery Path sending a one-letter quiz answer to retrieval without the question context. These are user reports, not results from our sandbox, but they deserve regression tests if long-term memory or grounded assessment decides your adoption.

The 218-package install pays off only with repeated use

Our run leaves a clean decision: 218 packages and 728 MB are reasonable for a private study environment used every day, and excessive for occasional document chat. DeepTutor is the better pick when reading, practice, writing, memory, and agent access need to share one durable workspace. Start with one model and one knowledge base, keep code execution off unless you need it, and do not promote the system until the 900-second test ceiling and 4 audit findings have been resolved for your deployment.

Alternatives

ProjectWhat it isPick it when
Open WebUI gh↗A general self-hosted interface for local and hosted models with document retrieval.pick this instead when multi-user chat and model access matter more than tutoring, mastery, and book workflows.
AnythingLLM gh↗A local-first document and agent workspace with desktop and server deployments.pick this instead when you want a smaller knowledge workspace without DeepTutor's education-specific systems.
LearnHouseAn open-source learning platform centered on courses, communities, and managed content.pick this instead when human-authored courses and learner administration matter more than an AI study companion.

Sources

  1. DeepTutor README
  2. DeepTutor v1.6.12 release notes
  3. Issue 1222: learner policy UI failures
  4. Issue 1614: long chat history regression
  5. Issue 1624: context-free quiz retrieval

More ai tools reviews

kornia · skills · anarlog · pr-agent · agent-sprite-forge · KiroCrew · the whole board →