Skip to content

Improve settings model fetching and question notebook lookup UX#523

Closed
wyr-zal wants to merge 1 commit into
HKUDS:mainfrom
wyr-zal:main
Closed

Improve settings model fetching and question notebook lookup UX#523
wyr-zal wants to merge 1 commit into
HKUDS:mainfrom
wyr-zal:main

Conversation

@wyr-zal

@wyr-zal wyr-zal commented May 26, 2026

Copy link
Copy Markdown

Description

This PR improves the settings model selection flow and reduces noisy question notebook lookup requests.

Changes include:

  • Add a settings API endpoint for fetching provider model lists.
  • Add a model picker in the settings UI for LLM and embedding profiles.
  • Allow users to add a service profile when no profile is configured.
  • Add missing_ok=true support for question notebook lookup so unsaved quiz questions can return empty results silently.
  • Deduplicate quiz notebook lookup calls on the frontend to avoid repeated 404 console noise.
  • Add related API tests and English/Chinese locale strings.

Related Issues

  • N/A

Module(s) Affected

  • api
  • web
  • settings
  • tests
  • i18n/locales

Testing

  • python -m compileall deeptutor tests
  • ESLint passed for the changed frontend files
  • npm run build
  • Verified question notebook lookup returns 204 for missing entries when missing_ok=true

Notes

The PR does not include local workspace files or generated temporary files.

- Add a settings API and UI picker for fetching provider model lists
- Allow adding a service profile when no profile is configured
- Let question notebook lookup silently return empty results for unsaved questions
- Deduplicate quiz notebook lookup calls to avoid repeated 404 noise
- Add related API tests and English/Chinese locale strings
@pancacake

Copy link
Copy Markdown
Collaborator

Thanks for your contribution! Both ideas here are great — the provider model-fetch and the quieter question-notebook lookup. We've implemented both: a POST /settings/fetch-models endpoint (reusing the existing factory.fetch_models) and a missing_ok 204 path so not-yet-saved questions stop generating 404 noise. Closing this PR in favour of that implementation. Thanks again for the well-scoped contribution!

@pancacake pancacake closed this May 27, 2026
pancacake added a commit that referenced this pull request May 27, 2026
Security: lock down the TutorBot tool sandbox (shell exec is opt-in, all
filesystem/shell access confined to the bot workspace) and isolate per-user
resources, closing #518, #517, #516, #515, #514 and #506 (first hardened in
#507).

Bug fixes: chat input disabled after the first turn (#520), KB embedding
failure on long documents (#521 / #509), profile creation under Docker
(#512 / #513), Qwen reasoning models failing native tool calling (#527 / #528),
the GPT-5 init-wizard token parameter (#508), and oversized session-event
truncation (#524).

Features: HTTP/SSE API for multi-turn chat with a specific TutorBot (#511),
multimodal image fallback for vision-capable providers without a capability
entry, safe ZIP knowledge upload, and a /settings/network page with model
fetching (community PRs #522 and #523 reimplemented locally).

Also bumps __version__ to 1.4.1, adds the v1.4.1 release notes, updates the
README Releases section, and ships the Astro + Starlight docs site under site/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants