github HKUDS/DeepTutor v1.2.4
DeepTutor-v1.2.4

latest release: v1.2.5
12 hours ago

DeepTutor v1.2.4 Release Notes

Release Date: 2026.04.25

Highlights

Support More Attachment Formats in Chat

The v1.2.3 document-attachment pipeline has been expanded beyond Office files. Chat attachments now accept the same text-like formats as the Knowledge Base ingestion router: Markdown, plain text, logs, JSON/YAML/TOML, CSV/TSV, LaTeX/BibTeX, HTML/XML/SVG, stylesheets, scripts, and common source-code files (.py, .js, .ts, .tsx, .java, .cpp, .go, .rs, .sql, .sh, and more).

  • Backend parity with KB routingdeeptutor/utils/document_extractor.py imports FileTypeRouter.TEXT_EXTENSIONS, so chat attachments and KB uploads share one source of truth for text/code formats. FileTypeRouter.decode_bytes() centralizes the UTF-8 / UTF-8-BOM / GBK / GB18030 / Latin-1 / CP1252 fallback chain.
  • SVG as readable source.svg was added to the RAG text extension set and is treated as a document attachment instead of a vision image, letting the LLM inspect the XML source while the frontend still renders a safe thumbnail preview.
  • Typed attachment UXweb/lib/doc-attachments.ts now exposes OFFICE_EXTS, TEXT_LIKE_EXTS, SVG detection, richer MIME/extension fallback, and category-specific icons for code, shell, JSON, config, data, markup, stylesheets, plain text, Office docs, and SVG.
  • Composer copy updated — the drag-and-drop hint now advertises "Images, Office docs, code & text" instead of the older Office-only list.

One-Command Setup Tour

scripts/start_tour.py has evolved from a pure configuration wizard into a 7-step fresh-install path that can detect the local environment, install dependencies, and then guide provider configuration.

  • Dependency installation step — the tour checks Python, uv, Node.js, and npm; installs backend requirements, installs DeepTutor in editable mode, and runs frontend npm install with live terminal output.
  • uv pip compatibility (#376) — Python dependency installation now prefers uv pip when available, and binds --python <current-interpreter> so packages land in the interpreter running the tour instead of an unrelated .venv / $VIRTUAL_ENV.
  • Windows npm detection (#381) — npm invocations use npm.cmd on Windows, fixing version checks and install commands on systems where npm is exposed as a command shim rather than an executable.
  • Provider registry-driven LLM choices — the wizard now reads from the full PROVIDERS registry, groups providers by mode, highlights common services, and includes newer options such as custom_anthropic, OpenRouter, SiliconFlow, Volcengine / BytePlus coding providers, GitHub Copilot, OpenAI Codex, llama.cpp, OVMS, MiniMax, Mistral, Qianfan, Step Fun, and Xiaomi MiMo.
  • Search and config hints — Serper is available in the search-provider list; Azure/API-version and proxy prompts now show inline guidance in both English and Chinese.
  • Long-list terminal UXscripts/_cli_kit.py renders long select menus inside a scrolling window with "more above/below" indicators, preventing stale terminal rows when the provider list exceeds the screen height.

Chat Markdown Export

The chat page now has a Download Markdown action next to "Save to Notebook" and "New Chat". web/lib/chat-export.ts serializes the current conversation as Markdown with a title, ISO export timestamp, role headings, capability labels, and attachment metadata, then downloads it with a sanitized date-stamped filename. This gives users a lightweight local export path for sharing, archiving, or moving a conversation into external notes.

Knowledge Base Management UI Polish

The Knowledge page was tightened up for denser day-to-day management:

  • Creation and upload drop zones are now simpler dashed cards with concise inline upload-policy summaries.
  • KB cards moved from four large stat panels to compact rows showing document count, index readiness, last-updated time, provider, embedding model, live progress, and storage path.
  • Default/delete actions were simplified visually, reducing card height and making large KB lists easier to scan.

Documentation and Localization Refresh

The README family was updated to match the new install story and provider surface:

  • Polish READMEassets/README/README_PL.md adds a complete Polish translation of the project README (#379).
  • Setup docs — the main README and multilingual READMEs now describe the guided tour as the recommended fresh-clone path: create a Python environment, run python scripts/start_tour.py, then use python scripts/start_web.py for daily launch.
  • Provider docs — provider tables were refreshed for the v1.2.3 provider registry, including custom_anthropic, MiniMax's canonical endpoints, coding-plan providers, local providers, and clarified authentication notes for OpenAI Codex / GitHub Copilot.
  • Release/news sections — multilingual READMEs now include v1.2.2 and v1.2.3 summaries, a contributing-guide callout, and the 20k-star community milestone.

UI and Theme Fixes

  • Theme-aware popovers — composer capability/tool/reference/skill menus now use --popover plus backdrop blur instead of --card, improving contrast in the Glass theme and dark popover contexts.
  • Native color-scheme hints — light, dark, Snow, and Glass theme roots declare the correct color-scheme, improving native controls and browser-rendered surfaces.
  • Smooth-scroll hydration — global smooth scrolling is now gated behind html[data-scroll-behavior="smooth"], with the attribute set by the root layout to avoid applying it unintentionally.
  • Sidebar logo sizing — sidebar logo images now pin explicit rendered width/height classes to prevent small layout shifts.

Cleanup

Removed the stale nanobot submodule pointer and the deprecated scripts/extract_numbered_items.sh stub from the repository. The v1.2.x codebase now relies on the in-tree document extraction and RAG routing paths instead of that legacy helper.

Test Suite Expansion

  • Backend document extractiontests/utils/test_document_extractor.py now covers plain text, Python source, JSON, CSV, Markdown, UTF-8-BOM input, GBK fallback decoding, and SVG source extraction.
  • Frontend attachment classificationweb/tests/doc-attachments.test.ts now covers text/code acceptance, SVG-as-document routing, case-insensitive SVG filename detection, and the new icon categories for code, JSON, config, shell, data, markup, stylesheets, and SVG.

What's Changed

New Contributors

Full Changelog: v1.2.3...v1.2.4

Don't miss a new DeepTutor release

NewReleases is sending notifications on new releases.