π DeepTutor v0.3.0 Release Notes
Release Date: January 6, 2026
We're excited to announce DeepTutor v0.3.0! This release focuses on developer experience improvements, CI/CD automation, and simplified local deployment.
β¨ Highlights
ποΈ Unified PromptManager Architecture
A major refactor consolidates all prompt loading across 10+ agent modules into a centralized PromptManager singleton:
- Global caching with module-level invalidation for improved performance
- Language fallback chain (
zh β en,en β zh) for seamless i18n support - ISO 639-1 compliance β all
cn/prompt directories renamed tozh/ - Simplified agent code by removing redundant
_load_promptsmethods and class-level caches
π€ GitHub Actions & CI/CD
Introducing automated workflows for better code quality and easier deployment:
| Workflow | Description |
|---|---|
dependabot.yml
| Automatic dependency updates (pip, npm, GitHub Actions, Docker) |
tests.yml
| Automated testing on push/PR |
docker-publish.yml
| Auto-publish Docker images to GHCR |
π³ Pre-built Docker Images
Deploy in ~30 seconds using our pre-built image from GitHub Container Registry:
docker run -d --name deeptutor
-p 8001:8001 -p 3782:3782
--env-file .env
-v $(pwd)/data:/app/data
ghcr.io/hkuds/deeptutor:latest### π Local-First LLM Configuration
Simplified settings page now focuses exclusively on local LLM providers:
- β Ollama (default)
- β LM Studio
- β Removed cloud providers (OpenAI, Gemini, Azure, etc.)
This aligns with DeepTutor's vision for privacy-first, self-hosted AI tutoring.
π¦ What's Changed
Core Infrastructure
- Added
src/core/prompt_manager.pywith singletonPromptManager - Export
get_prompt_manager()fromsrc/core/__init__.py - Added
/api/v1/config/agentsendpoint for data-driven frontend configuration
Agent Modules Migrated (10 files)
research/agents/base_agent.pysolve/base_agent.pyguide/agents/base_guide_agent.pyquestion/agents/generation_agent.pyquestion/agents/validation_agent.pyquestion/validation_workflow.pyideagen/idea_generation_workflow.pyideagen/material_organizer_agent.pyco_writer/edit_agent.pyco_writer/narrator_agent.py
Removed Legacy Code
- Deleted
src/agents/solve/utils/prompt_loader.py - Removed
use_prompt_loaderparameter fromBaseAgent - Cleaned up
_PROMPT_CACHEclass-level caches across all modules - Removed
PromptLoaderexports fromsolve/__init__.py
β¬οΈUpgrade
git pull origin main
docker pull ghcr.io/hkuds/deeptutor:latestCloses #33
What's Changed
- fix(UI): unrendered markdown in ActivityDetail card by @tusharkhatriofficial in #26
- chore: transtale readme to ru by @oshliaer in #27
- fix: improve reload_excludes configuration for uvicorn server and added support for newer models (openai) by @LouisACR in #28
- feat: Dynamic LLM Provider Support (Local & Cloud) by @ahmedjawedaj in #34