github HKUDS/DeepTutor v1.1.2
DeepTutor-v1.1.2

7 hours ago

DeepTutor v1.1.2 Release Notes

Release Date: 2026.04.18

Highlights

Schema-Driven Channels Tab with Token Reveal (#338)

The Channels tab in the Agents page is no longer hard-coded for Telegram. It now auto-discovers every channel (Telegram, Slack, Discord, Matrix, Email, Feishu, …) and renders a form directly from each channel's Pydantic config schema — no per-channel front-end code required. Secret fields (tokens, passwords, API keys) render as masked inputs with an eye-toggle for explicit reveal. A last_reload_error banner warns when live listeners failed to restart after a config change.

Channel Secret Masking

API responses no longer expose raw channel secrets. Tokens and passwords are replaced with *** by default; the admin edit form uses ?include_secrets=true to fetch plaintext when needed. Create and update responses are likewise masked.

Channel Config Validation & Reload Hardening

PATCH /tutorbot/{bot_id} now validates channel payloads upfront and returns a 422 with structured errors instead of silently persisting bad config. reload_channels is serialised with a per-instance lock to prevent duplicate listeners, and any failure is recorded in last_reload_error so the UI can surface it.

RAG Simplified to a Single Pipeline

Removed ~2,600 lines of unused RAG scaffolding (chunkers, embedders, indexers, parsers, retrievers, pipeline orchestrator, type definitions) that existed as placeholders for never-shipped backends. The RAG service is now a thin wrapper over the single LlamaIndex pipeline. Legacy rag_provider values (e.g. lightrag) are silently coerced to llamaindex and the KB is flagged for re-indexing.

Centralized File Type Routing

Consolidated file-type classification into a single FileTypeRouter module with a flat API (get_document_type, classify_files, get_supported_extensions, etc.). The old per-provider extension helpers are gone — there's only one provider. Unknown extensions still fall through to content sniffing before being rejected.

No More Phantom Knowledge Bases

Closed every code path that could silently call RAG against a non-existent KB:

  • deep_solve — strips the rag tool when no KB is attached and warns the user.
  • deep_research — drops kb from sources, warns, and aborts if no sources remain.
  • SolveToolRuntime — returns a graceful "no KB selected" observation instead of crashing, keeping the ReAct loop alive.
  • ResearchPipeline — returns a structured "skipped" event instead of falling back to the old DE-all placeholder.
  • DecomposeAgent — no longer defaults to ai_textbook; disables RAG when no KB is provided.

Externalized Chat Prompts

Moved all hard-coded zh/en strings out of AgenticChatPipeline into editable YAML files (agentic_chat.yaml for each language). Stage labels, system prompts, user templates, and UI notices are now configurable without code changes. Falls back gracefully if the YAML is missing.

Thai README (#337)

Added README_TH.md with Thai-language documentation.

Bug Fixes

  • Research pipeline crashed without a KB — the DE-all fallback KB no longer exists in most installs; now short-circuits with a structured skip event.
  • Decompose agent tried RAG against ai_textbook — replaced the hard-coded default with None and a defensive guard.
  • Bad channel config persisted silently — now rejected at the API boundary with a 422 before reaching disk.
  • Concurrent reload_channels created duplicate listeners — serialised via an asyncio lock; failure leaves the bot channel-less with a clear error instead of half-rebuilt.
  • Channel tokens leaked in API responses — now masked by default across all endpoints.

Test Suite

Added 6 new test modules (1,042 lines total): file-type routing, KB config migration, channel schema introspection, channel secret masking, RAG/KB consistency at the capability layer, and research pipeline RAG safety. Extended existing tests for the tool runtime, knowledge router, TutorBot router, and RAG pipeline modules.

What's Changed

  • feat(tutorbot): Channels tab, Telegram UI, API channel reload, token … by @srinivasrk in #338
  • docs: add Thai README documentation by @DoctorNasa in #337
  • release: v1.1.2 — CI fix & release notes cleanup by @pancacake in #341

New Contributors

Full Changelog: v1.1.1...v1.1.2

Don't miss a new DeepTutor release

NewReleases is sending notifications on new releases.