Einsteigerlevel | ca. 20 Minuten | Du wirst die Kernarchitektur von DeepTutor beherrschen, zwei Bereitstellungsarten (Setup Tour + Docker), die Nutzung des FĂŒnf-Modi-Arbeitsbereichs sowie die grundlegende Konfiguration von TutorBot
Projektvorstellung
DeepTutor ist eine plattform fĂŒr lernorientierte AI-Agenten. Die zentrale Ausrichtung lautet: âAI soll wirklich beim Lernen helfen â und nicht nur chatten.â Entwickelt wurde es vom Data Intelligence Lab der University of Hong Kong (HKUDS). Nach der Open-Source-Veröffentlichung im Januar 2026 wurden innerhalb von 39 Tagen 10k Stars erreicht â aktuell zĂ€hlt es zu den am stĂ€rksten beachteten AI-Education-Tech-Projekten auf GitHub.
Das Besondere liegt in der Agent-Native-Architektur: Es wird nicht einfach eine KI in eine Chat-OberflĂ€che âeingepflanztâ, sondern rund um das Lernziel wird ein komplettes, zusammenarbeitendes Agent-Toolchain-Set entworfen. Du lĂ€dst Lehrmaterial hoch, und es hilft dir beim Erstellen von Lernpfaden, beim Generieren von Quizfragen, beim Nachverfolgen von GedĂ€chtnislĂŒcken â und kann sogar mathematische Formeln in Animationen umwandeln. TutorBot geht noch einen Schritt weiter: Jeder Tutor ist ein eigenstĂ€ndiger AI-Agent mit eigener Erinnerung und Persönlichkeit, der dich aktiv an Wiederholungen erinnert.
Wenn du nach einem lokal bereitstellbaren, funktionsumfangreichen und stark erweiterbaren KI-Lernassistenten suchst, ist DeepTutor definitiv einen Versuch wert.
Zielgruppenprofil
- Entwickler mit 1â3 Jahren Erfahrung, die sich fĂŒr AI-Agenten und LLM-Anwendungen interessieren
- Bildungs-Tech-Enthusiasten, die personalisierte lokale KI-Lernwerkzeuge einsetzen möchten
- Nutzer, die einen persistenten KI-Tutor aufbauen wollen (RAG + GedÀchtnis)
Kerndependencies und Umgebung
- Python 3.11+ăNode.js 18+
- LLM-API-Key (OpenAI / Anthropic / DeepSeek usw.)
- Embedding-API-Key (fĂŒr RAG-Vektor-Suche)
- Docker (optional, bei Docker-Bereitstellung)
TIP
Wenn du auf ein gutes Preis-Leistungs-VerhĂ€ltnis achtest, empfehle ich Defapi. Defapi bietet vollstĂ€ndig kompatible API-Schnittstellen wie die offiziellen APIs, die Kosten liegen nur bei der HĂ€lfte. Das ist ideal fĂŒr den Dauerbetrieb eines persönlichen KI-Lernassistenten. Es unterstĂŒtzt Protokolle wie v1/chat/completionsăv1/messagesăv1beta/models/ usw. Die Integration erfolgt exakt wie bei der offiziellen API â du musst keinen Code Ă€ndern.
VollstÀndiger Projekt-Strukturbaum
DeepTutor/
âââ deeptutor/ # Core-Backend
â âââ capabilities/ # FĂŒnf FĂ€higkeiten (chat, deep_solve, deep_question usw.)
â âââ tools/ # Tool-Schicht (rag, web_search, code_execution usw.)
â âââ tutorbot/ # TutorBot â persistenter Tutor
â âââ api/ # FastAPI-Service
â âââ runtime/ # Plugin-Registrierung und -Dispatch
âââ deeptutor_cli/ # CLI-Einstieg (Typer)
âââ web/ # Next.js 16 Frontend
âââ scripts/start_tour.py # Interaktives Installations-Setup
âââ docker-compose.yml # Docker-Bereitstellung
Schritt-fĂŒr-Schritt-Anleitung
Schritt 1: Repository klonen und Python-Umgebung erstellen
git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
# Python-Virtualenv erstellen (empfohlen: conda)
conda create -n deeptutor python=3.11 && conda activate deeptutor
# oder venv verwenden
python -m venv .venv && source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
WARNING
DeepTutor benötigt Python 3.11 oder höher; niedrigere Versionen fĂŒhren dazu, dass die Dependency-Installation fehlschlĂ€gt.
Schritt 2: Setup Tour interaktiv installieren (empfohlen)
DeepTutor bietet ein interaktives Setup-Skript, das Dependency-Installation, KonfigurationseintrÀge und Verbindungstests automatisch abwickelt. Du musst die .env-Datei nicht manuell bearbeiten:
python scripts/start_tour.py
Das Skript fragt dich, welchen Modus du nutzen willst:
- Web-Modus (empfohlen) â Installiert Frontend- und Backend-Dependencies, startet einen temporĂ€ren Server und öffnet den Browser, um dich durch die LLM-, Embedding- und Search-Konfiguration zu fĂŒhren. In jedem Schritt gibt es Live-Verbindungstests. Nach Abschluss konfiguriert DeepTutor automatisch neu.
- CLI-Modus â Alles lĂ€uft vollstĂ€ndig im Terminal ab, geeignet fĂŒr Serverumgebungen ohne grafische OberflĂ€che.
Nach erfolgreicher Konfiguration kannst du auf http://localhost:3782 zugreifen.
Schritt 3: Alternative â .env-Umgebungsvariablen manuell konfigurieren
Wenn du die Konfiguration lieber selbst steuern möchtest, kopiere zuerst die Beispiel-Datei:
cp .env.example .env
Bearbeite dann .env. FĂŒlle mindestens die folgenden Pflichtfelder aus (hier als Beispiel Defapi):
# LLM-Konfiguration â am Beispiel Defapi: halbpreisiger Einstieg zu Claude/GPT
LLM_BINDING=anthropic
LLM_MODEL=claude-sonnet-4-20250514
LLM_API_KEY=sk-defapi-xxxxx
LLM_HOST=https://api.defapi.com/v1
# Embedding-Konfiguration â fĂŒr RAG-Vektor-Suche
EMBEDDING_BINDING=openai
EMBEDDING_MODEL=text-embedding-3-large
EMBEDDING_API_KEY=sk-defapi-xxxxx
EMBEDDING_HOST=https://api.defapi.com/v1
EMBEDDING_DIMENSION=3072
# Optional: Websuche
SEARCH_PROVIDER=tavily
TAVILY_API_KEY=tvly-xxxxx
TIP
Bei Nutzung von Defapi musst du nur LLM_HOST und EMBEDDING_HOST auf https://api.defapi.com/v1 setzen und den API Key durch den Key von Defapi ersetzen. So erhĂ€ltst du die Halbpreis-Option, ohne irgendeine Modell-Parameter Ă€ndern zu mĂŒssen.
Die vollstĂ€ndige Liste unterstĂŒtzter LLM-Provider findest du in der Tabelle unten:
| Provider | Binding |
|---|---|
| OpenAI | openai |
| Anthropic | anthropic |
| DeepSeek | deepseek |
| DashScope (Qwen) | dashscope |
| Ollama (lokal) | ollama |
| Gemini | gemini |
| Groq | groq |
| SiliconFlow | siliconflow |
| Benutzerdefiniert OpenAI-kompatibel | custom |
Schritt 4: Dependencies installieren und Service starten
Web-Modus (Frontend/Backend getrennt):
# Backend-Dependencies installieren
pip install -e ".[server]"
# Frontend-Dependencies installieren
cd web && npm install && cd ..
# Backend starten (Terminal 1)
python -m deeptutor.api.run_server
# Service lÀuft auf http://localhost:8001
# Frontend starten (Terminal 2)
cd web && npm run dev -- -p 3782
# Service lÀuft auf http://localhost:3782
Ăffne http://localhost:3782, um es zu verwenden.
Docker-1-Klick-Bereitstellung (ohne Python/Node.js installieren):
# Zuerst .env konfigurieren (siehe Schritt 3)
cp .env.example .env
# .env bearbeiten und API Key eintragen
# Offizielles Image ziehen und starten
docker compose -f docker-compose.ghcr.yml up -d
# Logs ansehen
docker compose logs -f
WARNING
Bei Bereitstellung auf einem Remote-Server musst du in .env NEXT_PUBLIC_API_BASE_EXTERNAL=https://deine-server-domain:8001 hinzufĂŒgen, sonst kann das Frontend nicht mit dem Backend verbinden.
Schritt 5: Schneller Start mit dem FĂŒnf-Modi-Arbeitsbereich
Der Kern von DeepTutor ist ein einheitlicher Chat-Arbeitsbereich. Er unterstĂŒtzt fĂŒnf Moduswechsel, und alle Modi teilen denselben Dialog-Kontext:
Chat (Standardmodus) â flĂŒssige Konversationen, unterstĂŒtzt Kombinationswerkzeuge wie RAG-Suche, Websuche, CodeausfĂŒhrung, tiefgehende Herleitung:
Du bist Student und bereitest dich auf eine Wiederholung von Lineare Algebra vor. Aktiviere im Chat-Modus das rag-Tool,
DeepTutor sucht in deiner Wissensbasis nach passenden Inhalten aus dem Lehrmaterial, um deine Fragen zu beantworten.
Deep Solve (Deepes Lösen) â mehrstufige Problem-Löse-Pipeline mit mehreren Agenten: Planen â Recherchieren â Lösen â Validieren, mit exakten Quellenangaben in jedem Schritt:
deeptutor run deep_solve "Beweise, dass â2 irrational ist" -t reason
Quiz Generation (Quizmodus) â generiert PrĂŒf-/Bewertungsaufgaben auf Basis der Wissensbasis und unterstĂŒtzt automatisches Validieren:
deeptutor run deep_question "Thermodynamik" --kb physics --config num_questions=5
Deep Research (Tiefgehende Recherche) â zerlegt ein Thema in Unterthemen, plant parallel RAG-, Web- und Paper-Agenten und erstellt einen Forschungsbericht mit vollstĂ€ndigen Zitaten:
deeptutor run deep_research "Aufmerksamkeitsmechanismus in Transformern"
Math Animator (Mathe-Animation) â transformiert mathematische Konzepte in visualisierte Animationen (Installation der Manim-Dependencies erforderlich):
pip install -r requirements/math-animator.txt
deeptutor run math_animator "Visualize a Fourier series"
Schritt 6: Baue deine erste RAG-Wissensbasis
Die Wissensbasis ist der Kern von DeepTutor: Lade PDFs, Markdown und Textdateien hoch, um eine durchsuchbare Vektor-Wissensbasis aufzubauen.
Per CLI eine Wissensbasis erstellen:
# Wissensbasis erstellen und Dokumente hochladen
deeptutor kb create textbook --doc ./data/physics_ch1.pdf --doc ./data/physics_ch2.pdf
# Dokumente zu einer vorhandenen Wissensbasis hinzufĂŒgen
deeptutor kb add textbook --doc ./data/physics_ch3.pdf
# In der Wissensbasis suchen
deeptutor kb search textbook "Konvergenzbedingungen fĂŒr den Gradientenabstieg"
# Als Standard-Wissensbasis setzen
deeptutor kb set-default textbook
Per Web-OberflĂ€che bedienenïŒ
- Ăffne die Seite âWissensmanagementâ
- Klicke auf âNeue Wissensbasisâ, gib einen Namen an (z. B.
my-textbook) - Lade PDF- oder Markdown-Dateien hoch
- Aktiviere im Chat RAG-Werkzeuge und wÀhle diese Wissensbasis
TIP
Wissensbasen unterstĂŒtzen inkrementelles Hochladen: Die Dokumente werden fortlaufend in denselben Vektor-Index hinzugefĂŒgt. Empfohlen wird, thematisch zusammengehörige Dokumente in dieselbe Wissensbasis einzuordnen â das liefert die besten Suchergebnisse.
Schritt 7: Erstelle deinen ersten TutorBot
TutorBot ist die âKillerâ-Funktion von DeepTutor: Jeder Bot ist ein persistenten, mehrinstanzfĂ€higer KI-Tutor mit eigenem GedĂ€chtnis, eigener Persönlichkeit und eigenen FĂ€higkeiten.
# Mathe-Tutor erstellen (Socratic-Style: sokratische Fragetechnik)
deeptutor bot create math-tutor \
--name "Mathe-Tutor" \
--persona "Socratic math teacher who uses probing questions"
# Schreib-Coach erstellen
deeptutor bot create writing-coach \
--name "Schreib-Coach" \
--persona "Patient, detail-oriented writing mentor"
# Alle Bots anzeigen
deeptutor bot list
# Bot starten / stoppen
deeptutor bot start math-tutor
deeptutor bot stop math-tutor
TutorBot unterstĂŒtzt Multi-Channel-Anbindung (Telegram, Discord, Feishu, E-Mail usw.) und kann proaktiv Lernhinweise sowie Wiederholungsaufgaben anstoĂen, wenn du gerade nicht da bist.
Schritt 8: Ăbersicht der tĂ€glichen CLI-Befehle
# Interaktives REPL (Terminal-Chat)
deeptutor chat --capability deep_solve --kb textbook --tool rag
# Einmalige AusfĂŒhrung
deeptutor run chat "ErklÀre die Fourier-Transformation" -t rag --kb textbook -l zh
# Sitzungen verwalten
deeptutor session list
deeptutor session open <session-id>
# GedÀchtnis anzeigen / löschen
deeptutor memory show summary
deeptutor memory show profile
deeptutor memory clear summary --force
# Aktuelle Konfiguration anzeigen
deeptutor config show
# Alle Plugins und Tools auflisten
deeptutor plugin list
HĂ€ufige Probleme & Troubleshooting
1. LLM-Verbindung fehlgeschlagen (401 Unauthorized oder 403 Forbidden)
# PrĂŒfe, ob der API Key korrekt ist
cat .env | grep LLM_API_KEY
# PrĂŒfe Netzwerk-KonnektivitĂ€t (hier als Beispiel Defapi)
curl -s https://api.defapi.com/v1/models \
-H "Authorization: Bearer $LLM_API_KEY" | head -c 200
Typische Ursachen: falsch eingetragener API Key, nicht aktivierte Umgebungsvariablen (Service neu starten), Netzwerk kann auf nicht im Inland erreichbare APIs nicht zugreifen.
2. Keine Treffer bei Embedding-Suche
# Embedding-Konfiguration prĂŒfen
deeptutor config show | grep EMBEDDING
# Sicherstellen, dass die Wissensbasis erfolgreich indexiert ist
deeptutor kb info textbook
Mögliche Ursachen: Indexierung nach dem Hochladen ist noch nicht abgeschlossen, falsche Vektor-Dimensionen (mĂŒssen zum Embedding-Modell passen), Abfrage passt nicht zu den Inhalten des Dokuments.
3. Port ist belegt
# Prozess finden, der den Port belegt
lsof -i :8001 # Backend-Port
lsof -i :3782 # Frontend-Port
# Oder unter Windows
netstat -ano | findstr :8001
Lösung: Belegenden Prozess beenden oder BACKEND_PORT und FRONTEND_PORT in .env anpassen.
4. Docker-Container-Health-Check fehlgeschlagen
# Detaillierte Container-Logs ansehen
docker compose logs --tail=100
# PrĂŒfen, ob .env existiert und gĂŒltige API Keys enthĂ€lt
cat .env
WARNING
Bei Docker-Bereitstellung muss die .env-Datei im selben Verzeichnis wie docker-compose.yml liegen und muss einen gĂŒltigen LLM_API_KEY sowie EMBEDDING_API_KEY enthalten.
5. Frontend kann WebSocket vom Backend nicht erreichen
Bei Remote-Bereitstellung sicherstellen, dass die korrekte externe Adresse gesetzt ist:
NEXT_PUBLIC_API_BASE_EXTERNAL=https://your-server.com:8001
Dann Services neu starten, damit die Konfiguration wirksam wird.
6. TutorBot reagiert nicht auf Nachrichten
PrĂŒfe den Status des Bots und stelle sicher, dass er gestartet ist:
deeptutor bot list
deeptutor bot start <bot-id>
Multi-Channel-Bots (z. B. Telegram) benötigen auĂerdem einen Check, ob die Webhook-Konfiguration auf der jeweiligen Plattform korrekt ist.
WeiterfĂŒhrende LektĂŒre / Ausbau-Richtungen
TutorBot Soul-Vorlagen anpassen: Durch das Bearbeiten der âSoulâ-Datei eines Bots kannst du Charakter, Tonfall und die Lehrphilosophie definieren â so entsteht ein vollstĂ€ndig personalisierter AI-Tutor. Siehe die eingebauten Vorlagen im Verzeichnis deeptutor/tutorbot/souls/.
Plugin-Entwicklung: DeepTutor nutzt eine zweistufige Plugin-Architektur (Tools-Schicht + Capabilities-Schicht). Du kannst beliebige Funktionen erweitern, indem du manifest.yaml + eine BaseCapability-Unterklasse schreibst. Detaillierte Entwicklungsrichtlinien findest du in AGENTS.md.
Multi-Channel-Anbindung: TutorBot unterstĂŒtzt KanĂ€le wie Telegram, Discord, Feishu, Enterprise-WeChat sowie E-Mail. Damit kannst du deine KI-Tutoren mit jeder Plattform verbinden, die du regelmĂ€Ăig nutzt.
nanobot-Engine: Die unterliegende Engine von TutorBot wird von nanobot angetrieben â eine ultraleichte AI-Agent-Engine. Es lohnt sich, ihre Agent-Loop-Implementierung genauer zu untersuchen.
LightRAG-Integration (im Roadmap-Plan): Die nÀchste Generation der Wissensbasis-Engine, LightRAG, wird integriert. Dann wird die FÀhigkeit zur Wissenssuche deutlich verbessert.