github HKUDS/DeepTutor v1.3.6
DeepTutor-v1.3.6

5 hours ago

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: v1.3.5...v1.3.6

Don't miss a new DeepTutor release

NewReleases is sending notifications on new releases.