github HKUDS/DeepTutor v1.3.5
DeepTutor-v1.3.5

6 hours ago

DeepTutor v1.3.5 Release Notes

Release Date: 2026.05.02

v1.3.5 focuses on making local setup and knowledge-base chat more reliable. The
launcher now follows the same runtime settings users configure in the web app,
RAG tool calls are stricter about real search queries, and local embedding
servers no longer receive placeholder auth headers.

Highlights

Smoother Local Launch

  • Setup Tour writes launch ports - the guided installer now records backend
    and frontend ports in data/user/settings/env.json, so later launches can use
    the same choices.
  • start_web.py reads runtime settings first - backend/frontend ports and UI
    language come from web settings when available, with .env kept as fallback.
  • Cleaner process handling - the launcher records started processes, detects
    port conflicts, waits for readiness, and exposes scripts/stop_web.py for
    cleaning up recorded backend/frontend processes.
  • Setup requirements are clearer - README and environment examples now align
    around Node.js 20.9+, install profiles, complete embedding endpoint URLs, and
    optional attachment storage.

More Reliable RAG Tool Calls

  • RAG queries must be non-empty - tool schemas, prompts, and built-in checks
    now reject blank queries early instead of passing empty input into retrieval.
  • Chat-side fallback is safer - when a model omits the RAG query, the agentic
    pipeline can reuse the user's actual question as the retrieval query.
  • ReAct calls accept simple string input - rag actions that provide a
    string are normalized to {"query": ...}, reducing fragile tool-call failures.

Local Embedding Compatibility

  • No fake API key for local embedding providers - runtime config no longer
    injects sk-no-key-required for local embedding servers.
  • Placeholder keys are not sent as auth headers - OpenAI-compatible
    embedding requests suppress Authorization and api-key when the configured
    key is the local placeholder, which helps LM Studio, Ollama, vLLM, and similar
    servers.
  • Embedding examples are easier to follow - English and Chinese sample env
    files now explain that EMBEDDING_HOST is the exact endpoint DeepTutor calls.

Web UX Polish

  • Dark-mode provider dropdown is readable - the Settings provider selector
    now uses the theme background token, fixing the white native dropdown popover
    reported on Edge/Chromium.
  • Settings controls are more consistent - select fields and setup tour
    spotlight behavior were tightened for a steadier settings experience.
  • Book reference payloads are normalized more defensively - selected book
    references keep the same behavior with cleaner filtering and deduplication.

Tests

  • Added launch settings tests for runtime settings precedence, .env fallback,
    and invalid-port handling.
  • Added start_web.py tests for translation, state persistence, and recorded
    process matching.
  • Added Setup Tour coverage for dependency profiles, Math Animator selection,
    Node.js version validation, and saved launch ports.
  • Added RAG/tool tests for non-empty query schemas, blank-query rejection, and
    fallback query behavior.
  • Added embedding runtime and adapter tests for local providers, placeholder API
    keys, and auth header suppression.

Upgrade Notes

  • Local web installs now require Node.js 20.9 or newer.
  • start_web.py and setup helpers prefer data/user/settings/env.json and
    interface.json over .env; edit the web Settings page or rerun
    start_tour.py when changing launch ports.
  • Local OpenAI-compatible embedding servers should use an empty API key unless a
    real key is required. Avoid relying on sk-no-key-required as a transmitted
    credential.
  • Custom RAG callers should always provide a non-empty query; blank queries now
    fail fast by design.

Full Changelog: v1.3.4...v1.3.5

Don't miss a new DeepTutor release

NewReleases is sending notifications on new releases.