feat: store reasoning separately from content, show/hide UI#1094
Draft
AAClause wants to merge 11 commits intofeat/dynamicModelsfrom
Draft
feat: store reasoning separately from content, show/hide UI#1094AAClause wants to merge 11 commits intofeat/dynamicModelsfrom
AAClause wants to merge 11 commits intofeat/dynamicModelsfrom
Conversation
Member
AAClause
commented
Mar 14, 2026
- feat(conversation): store reasoning separately from content, add show/hide UI
- feat(messages): show/hide reasoning blocks with per-conversation toggle
- test: add unit tests for DeepSeek reasoning chunk handling
3c678ad to
3e37718
Compare
- Replace hardcoded model lists with JSON from model-metadata URLs - Add DynamicModelLoader; engines fetch models from provider metadata - Add Responses API engine base; refactor OpenAI/Anthropic/xAI/Mistral/Gemini/DeepSeek - Add image_output/audio model metadata (ProviderAIModel) for capability detection - Block image-generation models in UI - Add reasoning chunk handling and content_utils for legacy ```think - Add web_search_mode migration and parameter visibility state - Add reasoning_params_helper for view-to-block param extraction
0dc11ba to
e34b0e6
Compare
3e37718 to
cba94b7
Compare
- Replace General group with Output, Reasoning, Tools - Add create_settings_section() to share layout across tab, edit block, profile - Move Apply profile to account row; Submit/Stop/Record after all settings - Use model section (label + list) instead of Model group box - Fix edit block dialog to load web_search_mode from block - Advanced mode: only hide temperature and top_p; keep max tokens, web search, reasoning, stream visible
…d, top_k, stop) - Add frequency_penalty, presence_penalty, seed, top_k, stop to MessageBlock, ConversationProfile, DB schema, and all provider engines - Parse default_parameters from model JSON for UI defaults - Add IntSpinCtrl (FloatSpin-based) and AccessibleWithHelp for screen-reader support on output controls - Add "Reset to model defaults" context menu on Output group - Reorder settings: reasoning, tools, output (output last before Submit)
cba94b7 to
b580a15
Compare
- Add "Refresh models" to model list context menu and F5 shortcut - Add invalidate_model_cache() for dynamic model loader - Add preferences SpinCtrl for cache TTL (1–168 hours) - Extend config TTL: default 7h, min 1h, max 7 days - Clamp legacy TTL values below 1h on config load
b580a15 to
d045046
Compare
- Add Message.reasoning field and DB persistence (save/load) - Anthropic 4.6: adaptive effort (low/medium/high, max for Opus) - Gemini 2.5/3: update thinkingBudget and thinkingLevel options - OpenRouter: get_reasoning_ui_spec per provider (effort vs budget)
…elpers - Add created, default_temperature, web_search_capable, default_parameters - Use shared helpers from dynamic_model_loader (context_length, modality flags, etc.) - Fix release date sort for OpenRouter models
- Sort by None/Name/Release date/Max output/Context window via context menu - Reverse order toggle - Preferences: default sort and reverse in Conversation group - Account: override with Default (use preferences), None, or explicit sort - Effective sort: account override > preference default
…s default - Right-click account combo in conversation tab shows Edit account and Set as default - Edit account opens EditAccountDialog; disabled for ENV_VAR accounts - Set as default persists default account; disabled when already default - Extract _refresh_account_combo() for reuse in ConversationTab - Add context menu on account list in Manage accounts dialog
Made-with: Cursor
…/hide UI
- Add Message.reasoning field; content holds only the final response
- Add content_utils with START_BLOCK_REASONING, END_REASONING, split_reasoning_and_content
- DB: add reasoning column (migration 003), save/load, backward compat for legacy ```think...```
- Anthropic, DeepSeek: populate reasoning and content separately; streaming yields ("reasoning", chunk) or ("content", chunk)
- Completion handler: route structured chunks, wrap streaming reasoning with `<think>`, parse legacy format after stream
- Display: show reasoning when checkbox on, using `<think>` tags
- Config: default in Preferences, per-tab override in conversation panel (always visible)
- API: send only content
522adf4 to
c04b481
Compare
d045046 to
03572e2
Compare
c04b481 to
80ed292
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.