Home/AI Agents/DeepTutor
DeepTutor logo

DeepTutor

HKUDS/DeepTutor

Lifelong Personalized Tutoring

GraphCanon updated 3d · GitHub synced 3d · 45 views this month

36k stars4.5k forksLast push 3d Python Apache-2.0

Decision brief

DeepTutor is an AI-based personalized tutoring system for lifelong learning, incorporating large language models and multi-agent systems in its architecture.

Good fit when

  • Use DeepTutor when you require a comprehensive solution that can provide continuous personalization based on deep research and multi-agent systems.
  • Ideal for environments where interactive learning is emphasized, such as educational institutions or corporate training programs.

Avoid when

  • Avoid using DeepTutor if your setup lacks the necessary computational resources to handle complex large language models and multi-agent interactions efficiently.
  • Do not use it if you are looking for a tool with simpler installations; DeepTutor requires specific configuration steps, including frontend dependency adjustments and possibly Docker setups.
Pricing:
freemium - The open-source version is freely available under the Apache-2.0 license with optional paid extras such as integration with partner instant messaging channels or advanced mathematical animation tools.
Requirements:
Min 4 GB RAM; Requires Docker

Observed Jul 11, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Very active (0d since push)
As of 3d
Provenance
Not a fork · Organization account
As of 3d
Security (OSV)
No criticals
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

pip install DeepTutor
PyPI

How it fits your stack(11)

Typed graph edges - alternatives, integrations, successors, and dependencies. Ranked by relationship type, not raw GitHub stars.

Integrates

Relationship graph

Optional deeper exploration of typed edges and category neighbours.

Similar tools

Same-category neighbours not already linked as typed edges.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

DeepTutor is an AI agent-based system designed for personalized lifelong learning and interactive tutoring, utilizing large language models and multi-agent systems.

Capability facts

Deploy
Self-host

Source: dockerfile:Dockerfile · Aug 17, 2026

Docker
Dockerfile present

Source: dockerfile:Dockerfile · Aug 17, 2026

CLI
CLI entrypoint

Source: pyproject.toml:[project.scripts] · Aug 17, 2026

Languages
python

Source: github.language+pyproject.toml · Aug 17, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Node.js runtimeNode.js

Source: README excerpt (regex_v1, Aug 17, 2026)

**Changing frontend dependencies:** run `npm install --legacy-peer-deps` to refresh `web/package-lock.json`, then commit both `web/p
Source link
Python runtimePython

Source: README excerpt (regex_v1, Aug 17, 2026)

python -m pip install -e .
Source link

Tags

README

Install backend + frontend deps

python -m pip install -e . ( cd web && npm ci --legacy-peer-deps )

deeptutor init deeptutor start --dev


`deeptutor start` builds the local `web/` frontend for production once and reuses it; `--dev` runs Next.js with HMR. Config layout, ports, and `Ctrl+C` match Option 1.

<details>
<summary><b>Conda environment</b> (instead of <code>venv</code>)</summary>

```bash
conda create -n deeptutor python=3.11
conda activate deeptutor
python -m pip install --upgrade pip
Optional install extras — dev / partners / matrix / math-animator
pip install -e ".[dev]"             # tests/lint tools
pip install -e ".[partners]"        # Partner IM channel SDKs + MCP client
pip install -e ".[matrix]"          # Matrix channel without E2EE/libolm
pip install -e ".[matrix-e2e]"      # Matrix E2EE; requires libolm
pip install -e ".[math-animator]"   # Manim addon; requires LaTeX/ffmpeg/system libs
Frontend dependency tweaks & dev-server troubleshooting

Changing frontend dependencies: run npm install --legacy-peer-deps to refresh web/package-lock.json, then commit both web/package.json and web/package-lock.json.

Stuck dev server: if deeptutor start --dev reports an existing frontend that isn't responding, stop the PID it prints. If no Next.js process is actually running, the lock files are stale — remove them and retry:

rm -f web/.next/dev/lock web/.next/lock
deeptutor start --dev
Option 3 — Docker · one self-contained container

One container for the full Web app. Images on GitHub Container Registry:

  • ghcr.io/hkuds/deeptutor:latest — stable release
  • ghcr.io/hkuds/deeptutor:pre — pre-release, when available

See CONTAINERIZATION.md for podman/rootless/read-only-rootfs deployments and the full per-installation guide.

docker run --rm --name deeptutor \
  -p 127.0.0.1:3782:3782 \
  -v deeptutor-data:/app/data \
  ghcr.io/hkuds/deeptutor:latest

Only 3782 needs to be published. The browser talks exclusively to the frontend origin; the Next.js middleware (web/proxy.ts) forwards /api/* and /ws/* to the FastAPI backend inside the container. Publishing 8001 (-p 127.0.0.1:8001:8001) is optional — handy only for hitting the API directly with curl or scripts.

Open http://127.0.0.1:3782. The container creates /app/data/user/settings/*.json on first boot; configure model providers from the Web Settings page. Config, API keys, logs, workspace files, memory, and knowledge bases persist in the deeptutor-data volume.

  • Different host ports: change the left side of each -p host:container mapping (e.g. -p 127.0.0.1:8088:3782). If you change container-side ports in /app/data/user/settings/system.json, restart and update the right side of each mapping to match.
  • Detached: add -d, then docker logs -f deeptutor to follow, docker stop deeptutor to stop, docker rm deeptutor before reusing the name. The deeptutor-data volume keeps your settings and workspace across restarts.

Remote Docker / reverse proxy: the browser only talks to the frontend origin (:3782); the in-container Next.js middleware forwards /api/* and /ws/* to the backend server-side. For the common single-container case you don't configure an API base at all — just point your reverse proxy / TLS terminator at :3782. You only need an API base for a split deployment (backend in a separate container/host): set next_public_api_base in data/user/settings/system.json to the in-network address the frontend server uses to reach the backend (it's read server-side, never sent to the browser).

{
  "next_public_api_base": "http://backend:8001"
}

next_public_api_base_external (and its alias public_api_base) are accepted

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.