Skip to content

feat: add per-model context and thinking editor mirroring the Qoder IDE - #22

Merged
luoxuanzao merged 1 commit into
mainfrom
feat/model-context-thinking-editor
Aug 15, 2026
Merged

feat: add per-model context and thinking editor mirroring the Qoder IDE#22
luoxuanzao merged 1 commit into
mainfrom
feat/model-context-thinking-editor

Conversation

@luoxuanzao

@luoxuanzao luoxuanzao commented Aug 15, 2026

Copy link
Copy Markdown
Member

Summary

  • What changed?
    • Model selector dropdown becomes an IDE-style two-card cascade: the model list stays in the left pane while a per-model editor card expands beside the hovered row (row-anchored, with flip/max-height placement extracted as pure, tested functions).
    • The editor shows context window tiers (sorted ascending), a thinking on/off toggle, and the model's server-provided thinking effort levels sorted by the canonical intensity scale (low → medium → high → xhigh → max), matching the Qoder IDE selector.
    • Per-model overrides (contextWindow / thinkingEffort / thinkingEnabled) persist in settings and apply to every request via SDK pull-mode resolveModel; probe maps context_config / thinking_config, and getters normalize stale persisted order on read.
    • Hardening from self-review: editing a non-selected model no longer rewrites the conversation usage meter; reopening the dropdown (mouse or keyboard) returns to the list view; runtime degradation clears a stale editor card; edit pencil is hover/focus-only.
    • i18n keys added in 10 locales; CHANGELOG entry added.
  • Why is it needed?
    • Brings Qoderian's model configuration to parity with the Qoder IDE: users can tune context window and thinking effort per model instead of a single global effort level.

Verification

  • npm run typecheck
  • npm run lint
  • npm run test (3301 tests, 141 suites)
  • npm run build
  • npm run release:check
  • npm run audit:prod (0 vulnerabilities)
  • Tested affected qodercli behavior against a real CLI when applicable (live catalog probe + end-to-end checks in a real Obsidian vault: tier/effort ordering, persistence, override clear semantics, usage meter, reopen/degrade cleanup)

Safety

  • No credentials, private vault content, internal URLs, or personal paths are included
  • User-visible changes are documented in CHANGELOG.md

- Model dropdown becomes a two-card cascade: the model list stays in
  the left pane while a per-model editor expands beside the hovered
  row, with flip/max-height placement as pure tested functions
- Editor shows context window tiers (ascending), a thinking on/off
  toggle, and server thinking effort levels sorted by the canonical
  intensity scale (low to max), matching the IDE selector
- Overrides persist per model in settings and apply at request time
  via SDK pull-mode resolveModel (contextWindow / reasoningEffort);
  probe maps context_config / thinking_config and getters normalize
  stale persisted order on read
- Editing a non-selected model no longer rewrites the conversation
  usage meter; reopening the dropdown (mouse or keyboard) returns to
  the list view; runtime degradation clears a stale editor card
- Edit pencil appears on hover/focus only; i18n keys in 10 locales

Co-authored-by: QoderAI (Qwen 3.8 Max) <qoder_ai@qoder.com>
@luoxuanzao
luoxuanzao merged commit 354d4c2 into main Aug 15, 2026
10 checks passed
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.

1 participant