Favicon of DeepTutor

DeepTutor

DeepTutor is an open-source, self-hosted AI tutoring platform combining multi-agent RAG, persistent memory, and a CLI for personalized learning.

DeepTutor website screenshot
DeepTutor GitHub repository preview

DeepTutor is a self-hosted platform for building a personalized AI tutor over your own documents and knowledge bases. It's aimed at developers, educators, and teams who want an agent-native learning assistant that remembers context across sessions, rather than a one-off chatbot wrapper. The project is built in Python (backend, CLI) with a Next.js frontend, and ships as an open-source Apache-2.0 codebase you run yourself.

At its core, DeepTutor combines retrieval-augmented generation (RAG) over uploaded documents with a multi-agent architecture: agents ('Partners' or TutorBots) can hold their own persona, library, and skills, and consult live with tools like local Claude Code or Codex sessions mid-conversation. A three-layer memory system (L1/L2/L3) lets the tutor retain what it has taught you over time, which is the 'lifelong personalized' part of the name.

Key features

  • Multi-agent tutoring: Configure Partners/TutorBots with distinct personas, libraries, and skill sets that can be consulted live during a chat session.
  • RAG knowledge base: Ingests documents (PDF, DOCX, XLSX, PPTX, code, images) using LlamaIndex, with pluggable retrieval engines including LightRAG, GraphRAG, PageIndex, and FAISS for large knowledge bases.
  • Persistent, layered memory: A three-tier memory model (L1/L2/L3) keeps track of what's been taught and discussed across sessions instead of resetting each conversation.
  • Guided Learning and mastery tracking: Structured learning paths with graded questions, a mastery gate per question type, and a question bank/notebook for review.
  • Agentic capabilities: Built-in Deep Research, Deep Solve, and Deep Question modes run agent loops instead of single-turn prompts.
  • CLI-first, agent-native design: A deeptutor CLI and SDK expose Tools and Capabilities as a plugin model, so the system can be scripted or extended beyond the web UI.
  • Skills marketplace: Install community-built skills via deeptutor skill install from ClawHub, gated behind a security check.
  • Multi-provider LLM support: Works with OpenAI, Anthropic, Gemini, NVIDIA NIM, and local runtimes like Ollama, LM Studio, llama.cpp, and vLLM.
  • Multi-user deployment: Optional isolated user workspaces, admin controls, and scoped runtime access for shared instances.
  • Auxiliary tools: A Book Engine for compiling 'living books,' a Co-Writer for multi-document writing, chart/SVG visualizations, and Obsidian/linked-KB integration.

Ideal use cases

DeepTutor fits teams or individuals who want to turn a private document set (course material, internal docs, research papers) into an interactive, memory-aware tutor they fully control. It's a good match for self-hosted education products, internal onboarding assistants, research-paper study aids, or anyone experimenting with multi-agent tutoring systems and wanting to swap in their own LLM provider.

It's less of a fit if you need a hosted, zero-setup product, a lightweight single-file chatbot, or a system with a small footprint: DeepTutor is a full platform with a backend, frontend, RAG pipeline, and CLI, and running it means managing infrastructure. If you just need simple document Q&A without memory, agents, or a learning-path structure, a smaller RAG library will be simpler to operate.

Installation

DeepTutor requires Python 3.11+ on the backend and a Next.js 16 frontend, and it's designed to run via Docker as well as locally. The project provides a deeptutor CLI entry point for starting the stack:

git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor

# install dependencies (Python 3.11+ required)
# follow the setup steps in the docs for your environment

deeptutor start

Docker-based deployment is also supported, including rootless Podman setups and configurable host/port binding for containerized environments. Optional RAG extras and local-model backends (Ollama, LM Studio, llama.cpp, vLLM) can be configured separately depending on which retrieval engine and provider you want to use. For full setup instructions, environment variables, and multi-user configuration, check the documentation at deeptutor.info and the CONTRIBUTING guide in the repository.

Frequently asked questions

Share:

Stars
29.8K
Forks
3.9K
Last commit
2 days ago
Repository age
7 months
License
Apache-2.0
Self-hosted
Yes
Activity score
84/100
View Repository
Ad
Favicon

 

  
 

Similar to DeepTutor

Favicon

 

  
 
Favicon

 

  
 
Favicon