DeepTutor v1.4.14 Release Notes
Release Date: 2026.06.29
A fixes-and-polish follow-up to v1.4.13: open an assigned partner straight into chat with one click, Deep Research reports flag when a subtopic couldn't be completed, LightRAG indexes without MinerU installed, FAISS handles non-ASCII paths, and PocketBase sessions are isolated per user. Drop-in for the default backend — no migrations.
What's New
Open an assigned partner straight into chat
For a non-admin user, clicking a partner the administrator assigned now connects it as an agent and drops you into a fresh chat already targeting it — no separate trip through My Agents. Admins still click through to the partner's management page as before.
Deep Research flags partial results
When some research subtopics can't be completed — a block raises, or exhausts its iteration budget without finishing — the report no longer looks like a clean success. The run surfaces a warning notice and the result envelope carries partial, failed_block_count, and failed_block_titles, so callers can tell the report rests on partial evidence (issue #595).
LightRAG indexes without MinerU
LightRAG indexing hard-failed with "Parser 'mineru' is not properly installed" even when you'd picked a different parsing engine, because RAG-Anything ran a one-time install check on its default parser. DeepTutor already feeds it pre-parsed content, so that spurious check is now skipped and indexing proceeds regardless of which parse engine you chose (issue #594).
FAISS indexes on non-ASCII paths
Rebuilding a FAISS-backed knowledge base crashed on Windows when the path held non-ASCII characters — a Chinese knowledge-base name, or a C:\Users\张三 home directory. FAISS indexes now persist and load through a Python byte stream that handles Unicode paths; the on-disk format is unchanged and stays cross-readable with stock FAISS.
PocketBase sessions isolated per user
On the optional PocketBase backend, every session is now stamped with and filtered by user_id, matching the per-user-file isolation the default SQLite backend already provides. A session's messages and turns are reachable only through that session, so one user can no longer read or mutate another's conversations.
Upgrade Notes
Drop-in from v1.4.13 on the default JSON/SQLite backend: pip install -U deeptutor; Docker users pull ghcr.io/hkuds/deeptutor:latest. No migrations and no behavior changes for existing single-user setups.
On the optional PocketBase backend, sessions are now scoped by user_id. Sessions created before this upgrade carry no user_id and won't appear in the session list until re-created (or backfilled with the current user's id). PocketBase stays a single-user integration — keep integrations.pocketbase_url blank for multi-user deployments.
Full Changelog: v1.4.13...v1.4.14