| Name | Modified | Size | Downloads / 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_idandmodel_idselection 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_tokensandmax_tokenstomax_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
.envand environment variables - setup and launch helpers now keep backend/frontend port behavior aligned around the project.envfile 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_selectionpersistence, 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,
Nonefiltering, 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_selectionas{ "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 legacymodelvalues remain usable as model-name overrides. - Launch ports should be configured in
.envor process environment variables (BACKEND_PORT/FRONTEND_PORT). The olddata/user/settings/env.jsonport 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