DeepTutor v1.6.15 Release Notes
Release Date: 2026.10.19
Building on v1.6.14, v1.6.15 improves Guided Learning with reviewed outline changes, independently graded question groups, and bounded tutoring memory. It also strengthens chat recovery and document parsing, adds retrieval comparisons, and brings native Gemini speech.
What's New
Learning paths you can revise and practice
Preview module reordering before committing it, and apply coordinated changes across modules together. Tutors can present two to four questions as a group, retain partial submissions, and assess each answer independently. Source-grounded semantic assessment accepts equivalent explanations while distinguishing incomplete, incorrect, and uncertain answers. Concept and design cards remain practice; mastery still requires the learner's own explanation.
Teaching continuity in longer sessions
Guided Learning retains teaching preferences, unresolved misunderstandings, and relevant source anchors in bounded memory, with access to original exchanges when needed. Source preparation follows the current learning request, preserves visible teaching, and reports progress and repair failures in the session language. Usage totals now include preparation and memory-compression calls; compression has its own cost.
More reliable conversations and settings
Streamed content is saved periodically for recovery, completed streams release their in-memory events, and reconnecting clients wait for the actual terminal event. Unsent messages retain recoverable copies until the server acknowledges their dismissal or replacement. Settings keep drafts after failed catalog writes and show actionable permission or HTTP errors. Learning navigation respects account grants, and named timezones work on Windows.
Parsing that isolates failures
MinerU CLI workers have explicit process ownership and consistent deadlines, retain terminal error details, and are not stopped merely because their logs go quiet. Unreadable PDFs and native parser failures are isolated during indexing so other documents can continue. Cancellation stays attached to the correct indexing run, and recovery messages distinguish reusable parsing from embedding work that must restart.
Retrieval experiments and workspace instructions
An optional query-rewrite layer produces one standalone search query and falls back to the original on failure. deeptutor kb eval --rewrite off|standalone records rewrite provenance; deeptutor kb eval-diff baseline.json candidate.json compares saved metrics and cases. Workspace instructions guide subsequent turns in supported capabilities. Reading also accepts browser-zipped .epub.zip folders and improves playback, citations, and annotation recovery.
Providers and optional request screening
Gemini TTS uses native generateContent speech with Google voices, and onomeo joins the OpenAI-compatible provider catalog. An optional guard extra adds HTTP rate limits, address rules, and request-pattern screening; it is disabled by default and does not inspect request bodies or WebSocket traffic.
English and Chinese documentation is updated alongside the release at deeptutor.info.
Upgrade Notes
Run pip install -U deeptutor; Docker users pull ghcr.io/hkuds/deeptutor:latest. Restart running services after upgrading.
- Gemini speech: select a Google voice and WAV or PCM output. This adapter does not accept a speed parameter; use voice instructions for delivery style.
- Query rewrite: disabled by default. Enable it in
data/user/settings/query_rewrite.json, through the documented process overrides, or explicitly for an evaluation. Rewriting makes an additional model call. - Workspace instructions: configure them in Settings → Workspace. Changes apply from the next turn; Deep Research, Quiz, and Manim do not use them.
- Request screening: install
deeptutor[guard]and enablesecurity_guard.enabledinsystem.jsononly when wanted. Review proxy and rate-limit settings in the guard guide; counters are local to each server process. - Index recovery: retries reuse compatible completed parses and validated cloud slices. They do not resume interrupted local inference or embedding midway through its work.
Full Changelog: v1.6.14...v1.6.15