github HKUDS/DeepTutor v1.5.5

3 hours ago

DeepTutor v1.5.5 Release Notes

Release Date: 2026.07.26

A follow-up to v1.5.4 with two new ways to bring a model — sign in with your own ChatGPT plan, or route through Eden AI's gateway — knowledge bases that can finally say what they actually hold, and GraphRAG indexing that no longer needs a loop workaround. Drop-in, no migrations; if you ran v1.5.4, the chat-branching fix below is the one to take.

What's New

Sign in with your ChatGPT plan (experimental)

OpenAI Codex is now a first-party OAuth provider (#690). Pick it under Settings → Models → LLM and a browser sign-in replaces the API-key fields, with the model list read from that account's live catalog; on a remote box run deeptutor provider login openai-codex there instead. Credentials stay in <user-root>/private/openai-codex/ with owner-only permissions, and ~/.codex is never read or modified. Because a token authorizes one person's plan, the profile is per-account: it is not assignable through user grants, and signing in only becomes the active model when no LLM is configured yet — it never repoints a deployment behind your back. This compatibility path is experimental; the upstream interface may change.

Eden AI

Eden AI joins as the 35th LLM binding (#671) — an OpenAI-compatible gateway that reaches many providers behind one key, with models addressed as <provider>/<model>.

Knowledge bases that know what they hold

Ask how many files a knowledge base has, or whether some document is in it, and the answer no longer comes from whichever chunks the query happened to match. Each attached KB now carries a real document inventory into the turn, plus a new kb_files tool that enumerates on demand with glob and substring filters — mounted whenever a KB is attached, and deniable per partner like any other tool. Linked folders and Obsidian vaults are enumerated in place; a remote LightRAG server declares itself unlistable rather than reporting zero. The KB page and the chat answer now read the same definition, so they can no longer disagree about the same library.

Traceable RAG citations

The rag tool used to report a single "source" that was just an echo of its own query, leaving grounded answers with no provenance. It now forwards the chunks, entities, and reports retrieval actually returned (#694). The local LightRAG pipeline keeps only its synthesised answer, so that one engine still has nothing to cite.

GraphRAG indexing without the loop workaround

GraphRAG imports a patch that refuses uvloop — the loop uvicorn[standard] gives the backend on macOS and Linux — so indexing died at import unless you forced UVICORN_LOOP=asyncio for the whole app. Every GraphRAG entry point now runs on a worker thread with its own stock asyncio loop (#695), and two config faults that broke the first indexing run — an unescaped $ in the file pattern and an unregistered cache type — are fixed (#699).

Assorted fixes

  • Optimistic message ids are unique again (#698): the user row and the assistant placeholder could be minted in the same millisecond, collapse onto one persisted id, and drop the reply from the visible thread until a reload. Exposed by v1.5.4's in-place turn reconciliation.
  • Scrolling up in a partner chat stays where you put it instead of being yanked back down (#704).
  • claude-opus-5 is recognized as an effort-based model, so requests stop carrying the temperature it rejects (#703); Kimi-branded Moonshot models now omit the parameter entirely rather than pinning it to 1.0.
  • deeptutor start keeps relaying logs on legacy Windows code pages (#702) — a in the Next.js banner used to kill the relay thread on cp950/cp936/cp932 and leave the session silent.

Upgrade Notes

Drop-in from v1.5.4: pip install -U deeptutor; Docker users pull ghcr.io/hkuds/deeptutor:latest. No migrations, no schema or config changes.

  • If you set UVICORN_LOOP=asyncio to work around GraphRAG indexing, you can drop it.
  • OpenAI Codex sign-in is per-account by design — each user signs in for themselves, and the profile cannot be handed out through grants.

Full Changelog: v1.5.4...v1.5.5

Don't miss a new DeepTutor release

NewReleases is sending notifications on new releases.