Download Latest Version DeepTutor-v1.3.10 source code.tar.gz (8.4 MB)
Email in envelope

Get an email when there's a new version of DeepTutor

Home / v1.3.6
Name Modified Size InfoDownloads / Week
Parent folder
DeepTutor-v1.3.6 source code.tar.gz 2026-05-03 8.3 MB
DeepTutor-v1.3.6 source code.zip 2026-05-03 8.8 MB
README.md 2026-05-03 5.6 kB
Totals: 3 Items   17.1 MB 0

DeepTutor v1.3.6 Release Notes

Release Date: 2026.05.03

v1.3.6 focuses on making model routing explicit across DeepTutor. Users can choose configured LLM profiles from chat and TutorBot flows, runtime services resolve those choices without leaking provider secrets, and RAG/knowledge-base index handling is more defensive when persisted embeddings are invalid.

Highlights

Catalog-Based Model Selection

  • Chat can target a configured model - unified chat turns now carry a profile_id and model_id selection through the WebSocket payload, session preferences, turn snapshots, and regenerate flows.
  • Settings exposes safe LLM options - the new settings options endpoint returns display-ready provider/model choices while omitting credentials and connection secrets from the response.
  • Runtime model overrides are scoped per turn - selected profiles are resolved through the provider catalog for the active request without writing temporary choices back to disk or changing global defaults.
  • Model-selector UI is shared - chat and TutorBot screens use the same configured-model selector, with localized labels and system-default handling.

TutorBot Model Control

  • Bots can persist model selections - TutorBot create/update flows now accept llm_selection, validate it against the configured catalog, and store it with each bot.
  • Running bots can reload their LLM - changing a bot's model updates the active agent loop instead of requiring a full bot restart.
  • Recent bot history is steadier - TutorBot history assembly now sorts by message timestamp with stable tie-breaking before taking the latest context.
  • Bot chat route changes are cleaner - the web chat page cancels in-flight bot requests and resets transient reasoning state when switching bots.

RAG and Knowledge Reliability

  • Invalid vectors trigger rebuilds - re-indexing no longer treats a matching document signature as reusable when the existing vector store fails embedding validation.
  • Full rebuilds use fresh version directories - complete knowledge-base rebuilds write to a new flat index version while leaving failed old storage available for inspection.
  • RAG tool logs can stream to clients - retrieval runs can forward captured INFO-level process logs as raw tool events when an event sink is available.
  • Knowledge health checks recognize bad embeddings - invalid persisted vectors are surfaced earlier instead of producing opaque search failures.

Provider and Launch Fixes

  • OpenAI Responses token limits are normalized - Responses API calls now map chat-style max_completion_tokens and max_tokens to max_output_tokens, fixing the SDK error reported for newer OpenAI models in [#437].
  • Azure and OpenAI-compatible paths share the mapping - both streaming and non-streaming Responses API routes use the same conversion helper.
  • Launch ports come from .env and environment variables - setup and launch helpers now keep backend/frontend port behavior aligned around the project .env file instead of the older runtime settings JSON.

Web UX Polish

  • Skill names validate before save - the Skills editor slugifies names, flags invalid input inline, and prevents silent API failures for uppercase letters, spaces, underscores, or other unsupported characters.
  • Skill editor modals are opaque across themes - the editor now uses the page background token, avoiding text bleed-through in translucent themes.
  • Space navigation is easier to scan - Space mini-navigation, notebook, question-bank, skills, and session-list spacing were tightened with clearer card and divider treatment.

Tests

  • Added model-selection service tests for safe option listing, active markers, invalid profile/model rejection, and non-mutating catalog overrides.
  • Added unified WebSocket turn-runtime tests for persisted LLM selections, invalid selections, model switching, snapshots, and regenerate behavior.
  • Added TutorBot API and manager tests for llm_selection persistence, validation, runtime reload, and default-model behavior.
  • Added settings, provider-runtime, and LLM-config tests for scoped catalog selection and per-turn config precedence.
  • Added RAG and knowledge-router tests for invalid vector stores, re-index rebuild decisions, and storage version resolution.
  • Added OpenAI Responses converter tests for token-limit aliases, precedence, None filtering, and input immutability.
  • Added frontend slug tests for skill-name normalization and validation.

Upgrade Notes

  • Chat and TutorBot clients that want explicit model routing should send llm_selection as { "profile_id": "...", "model_id": "..." }. Omitting it continues to use the configured system default.
  • TutorBot configuration files may now contain llm_selection. Existing bot configs without that field continue to load, and legacy model values remain usable as model-name overrides.
  • Launch ports should be configured in .env or process environment variables (BACKEND_PORT / FRONTEND_PORT). The old data/user/settings/env.json port block is no longer used as a launch-port source.
  • Knowledge bases with stale or invalid persisted vectors may rebuild on the next re-index even when document signatures have not changed.
  • Skill names are now normalized and validated as lowercase slugs of up to 64 characters using letters, numbers, and hyphens.

Full Changelog: https://github.com/HKUDS/DeepTutor/compare/v1.3.5...v1.3.6

Source: README.md, updated 2026-05-03