DeepTutor: Lifelong Personalized Tutoring
An agent-native learning workspace that unifies tutoring, problem solving, quiz generation, research, visualization, and mastery practice in one extensible system.
Evidence shows security measures: deny-by-default MCP tools, credentials moved out of sandbox, user isolation, HTML escaping and injection tests, but lacks explicit user confirmation mechanisms, data flow transparency, and rollback strategy documentation. Dependency security has version pins and bandit config, but no vulnerability scan results. External effects have sandbox and permission controls, but not clearly specified. Source attribution has clear copyright and license, but publisher identity unverified.
Self-consistency is good: tests cover API endpoints and grading logic, with fail-closed and injection protection in test design. Dependency availability has version pins and Python version constraints, but no availability guarantees. Failure messages have some error handling, but not systematic.
Audience and scenarios are clear: for learners and developers, with multiple install paths and CLI. Capability boundaries are documented, but trigger precision is insufficient, not specifying when tools are triggered. Environment fit has Python and Node.js requirements, but no detailed system requirements.
Information architecture is clear: README, docs site, multi-language support. Install notes are detailed, naming stable, with version numbers and changelog. Examples and FAQ provided, but known limitations not explicitly listed. License is Apache-2.0, maintenance responsibility has clear contributing guide and community channels.
Output usability has documentation and examples, marginal value high, but cost-benefit not clearly stated, no performance or resource consumption data.
Claim traceability has arXiv paper and docs, but no specific evidence. Cross-source corroboration insufficient, fact-inference separation unclear.
- Publisher identity unverified, proceed with caution.
- No user confirmation mechanism, sensitive operations may execute automatically.
- Data flow transparency and rollback strategy not clearly documented.
- Dependency security lacks vulnerability scan results, check yourself.
- Known limitations not explicitly listed, may affect deployment.
What does this agent do, and when should you use it?
DeepTutor is an agent-native learning workspace that unifies tutoring, problem solving, quiz generation, research, visualization, and mastery practice in one extensible system. All modes run on the same agent loop, so context moves with the learner. It offers multi-engine RAG (LlamaIndex, PageIndex, GraphRAG, LightRAG, Obsidian), a three-layer inspectable memory (L1 traces, L2 summaries, L3 synthesis), connectable subagents (Claude Code, Codex, Gemini, etc.), and persistent IM companions on 15+ channels. Installation paths include PyPI, source, Docker, and a CLI-only distribution, with optional multi-user isolated workspaces. Licensed under Apache-2.0, it also ships with the EduHub skill registry.
DeepTutor runs a single agent loop that mounts tools contextually: chat, quiz, deep_research, visualize, deep_solve, mastery_path. It retrieves documents from knowledge bases via rag and kb_files tools, executes model-generated code in a sandbox for office skills (docx/pdf/pptx/xlsx), and calls web_search, paper_search, imagegen, and more. It manages a three-tier memory (L1 event trace, L2 surface facts, L3 synthesis) and consults external CLI agents (Claude Code, Codex, Gemini, Kimi, opencode, MiMo) through the consult_subagent tool. The CLI exposes deeptutor run --format json for NDJSON streaming, enabling agent-driven operation.
- A learner who wants to turn a PDF textbook into an interactive living book with quizzes, animations, and page-level chat
- A developer who wants to consult Claude Code or Codex from within a chat turn for coding help
- A researcher who needs deep research surveys with cited reports from multiple sources
- An educator who wants to deploy a personalized tutor bot on Slack, Discord, or Telegram for students
- A user who wants an inspectable, auditable memory of their learning progress rather than a hidden vector store
What are this agent's strengths and limitations?
- Unified agent loop across all modes means context carries over seamlessly from chat to quiz to research
- Three-layer memory with traceable provenance — every synthesized claim can be traced back to raw events
- Multi-engine RAG (LlamaIndex, PageIndex, GraphRAG, LightRAG, Obsidian) offers flexible knowledge retrieval
- Connect external CLI agents and IM partners to extend functionality
- Multiple installation options including Docker and CLI-only for headless operation
- Configuration complexity: requires managing Python and Node.js environments, multiple config files under data/user/settings/
- Executing model-generated code involves trust decisions; sandbox security is configurable but not default-off
- Multi-user deployments require additional setup for auth, grants, and user isolation
- Relies on many external services (LLM providers, search, embedding) which can incur cost and network dependencies
- Feature-rich but steep learning curve; some features like OpenAI Codex OAuth are experimental and may change
How do you install or deploy this agent?
Four installation paths: (1) PyPI: pip install -U deeptutor, then deeptutor init, deeptutor start; (2) Source: git clone, create venv, pip install -e ., cd web && npm ci --legacy-peer-deps, then deeptutor init, deeptutor start --dev; (3) Docker: docker run -p 127.0.0.1:3782:3782 -v deeptutor-data:/app/data ghcr.io/hkuds/deeptutor:latest; (4) CLI-only: pip install -e ./packaging/deeptutor-cli, deeptutor init --cli, deeptutor chat. Requires Python 3.11–3.13 and Node.js 20+ (CLI-only needs only Python).
How do you use this agent?
After starting the web app, open http://127.0.0.1:3782 and configure an LLM provider under Settings → Models. In chat, use the + menu to attach files, select knowledge bases, or import agents. Use the @ or Agent chip to consult subagents. For CLI, run deeptutor chat for interactive REPL, or deeptutor run deep_research "Survey 2026 papers on RAG" --config mode=report --format json for single-turn, machine-readable output. Use deeptutor kb create, deeptutor memory show, deeptutor skill install to manage resources.
FAQ
Which LLM providers are supported?
How secure is code execution?
sandbox_allow_subprocess (default true). Set to false or DEEPTUTOR_SANDBOX_ALLOW_SUBPROCESS=0 to disable. Docker Compose deployments can use a hardened sidecar runner for stronger isolation.Can I run DeepTutor for multiple users?
auth.json, then the first registered user becomes admin and can create users, assign models, knowledge bases, skills, tool policies, and grants. Each user gets an isolated workspace under data/users/<uid>/.