Repository navigation
Model Extension Options
The gear icon appears when the current model lists settings.extendParams in the model bank (packages/model-bank/src/aiModels/*.ts). ChatHub routes the popover by runtime provider id so only API-backed toggles appear for that vendor.
| Provider id | UI module | Typical controls |
|---|---|---|
moonshot |
MoonshotOptions |
Kimi K2.6 thinking + preserved reasoning |
minimax |
MinimaxOptions |
OpenAI-compat reasoning_split (interleaved thinking vs body), including MiniMax-M3 |
anthropic / anthropiccompatible
|
AnthropicOptions |
Prompt cache; enable deep thinking (Claude 5 except Fable); reasoning intensity (output_config.effort); adaptive-only vs fixed budget |
openai / openaicompatible
|
OpenAIOptions |
reasoning_effort (o-style), model-specific GPT-5 reasoning effort, text verbosity |
xai |
XaiOptions |
Grok family reasoning effort (grok-4.7 and grok-4.7-build-fast low/medium/high/xhigh; grok-4.6 low/medium/high/xhigh; grok-4.5 low/medium/high; grok-4.3 none/low/medium/high) |
deepseek |
DeepSeekOptions |
Enable reasoning toggle; deepseek-flash also accepts image input with the same thinking gear |
mimo |
MimoOptions |
Enable reasoning toggle (thinking.type) |
zhipu |
ZhipuOptions |
GLM deep thinking (thinking.type) when the vendor allows disable; reasoning_effort (GLM-5.2: Max/High/Skip → API none; GLM-5.3 / Flash: Low/High/Max, thinking cannot be disabled); Preserved Thinking (thinking.clear_thinking: false, ON = preserve) |
- Popover
minWidth320px for dedicated panels; Anthropic/OpenAI panels use vertical slider rows, scroll (maxHeight) when deep thinking exposes several rows. -
Anthropic reasoning intensity is exposed only on models that declare
reasoningEffortinextendParams(Claude adaptive-capable ids); maps tochatConfig.reasoningEffort→ APIoutput_config.effort. Opus 5, Sonnet 5, Opus 4.8, and Opus 4.7 are adaptive-only — ChatHub never sendsthinking: { type: "enabled", budget_tokens }, which Anthropic rejects with HTTP 400. Fable 5.1 is always-on adaptive thinking; there is no off switch, and ChatHub omits a disabled payload. Fixed token budgets remain only for models through Claude 4.6. To turn thinking off on Opus 5 / Sonnet 5, ChatHub sendsthinking: { type: "disabled" }(omitting the field would leave adaptive thinking on). Official: API primer, Sonnet 5 behavior. -
OpenAI sliders (
ReasoningEffortSlider,GPT5ReasoningEffortSlider,TextVerbositySlider) use a full-width compact track. -
GPT-5 reasoning effort uses model-specific stable slider positions:
gpt-6-astraexposeslow,medium,high,xhigh,max(unset /none/minimalsendhigh);gpt-6.1-solexposes the same set (unset /none/minimalsendxhigh);gpt-5.6-solexposeshigh,xhigh,max(floorhigh); GPT-5.6 Terra/Luna exposenonethroughmax(defaultmedium); GPT-5.5 exposeshigh/xhigh; earlier leftover GPT-5 models exposeminimalthroughhigh. A saved value unsupported by the newly selected model displays and sends the family default (xhighfor GPT-6.1 Sol,highfor Astra / GPT-5.6 Sol / GPT-5.5,mediumotherwise). -
Compatible providers (
openaicompatible,anthropiccompatible) reuse the native provider panels only for model-bank-declaredextendParams. They use fixed built-in model lists and hide arbitrary model add/fetch UI. Native model search is opt-in: model cards keepabilities.search: false(not auto-tagged as search models) but retainsettings.searchImpl: 'params', so the "Use the model's built-in search engine" toggle appears in the search panel. When the toggle is OFF (default), ChatHub uses its own web-browsing tools; when ON, search params are sent to the gateway API. OpenAI-compatible Responses API mode is opt-in and should be enabled only for gateways that implement/v1/responsesplus typed Responses streaming/tool semantics. -
DeepSeek reasoning toggle gates
reasoning_effortbehindenableReasoningand forwardsthinking.typeto the API for proper disable behavior.deepseek-flashaccepts image input (JPEG/PNG/GIF/WebP via Chat Completionsimage_url) and uses the same thinking gear. Official: Vision. -
Xiaomi MiMo gear exposes only Enable Deep Thinking. ChatHub sends
thinking.typeexplicitly; off overrides the vendor default-on. Native web search is the search-panel opt-in (type: web_search), not a gear control. There is noreasoningEffortfield on Chat Completions. -
Zhipu GLM panel: GLM-5.2 shows Enable Deep Thinking, then
reasoning_effortMax/High/Skip (Skip maps to APInone, notminimal) and Preserved Thinking, gated behind thinking-on. GLM-5.3 and GLM-5.3-Flash force thinking — the vendor rejectsthinking.type: "disabled"— so those cards ship no Enable Deep Thinking toggle; the gear shows Low/High/Max (default max) plus Preserved Thinking. Leftover Skip from a 5.2 assistant maps to APIlow. Leftover fetchedglm-4.7*still force thinking at runtime and expose Preserved Thinking only (no enable/disable switch). Built-in web search or JSON mode does not force thinking off. Text model cards declaresettings.searchImpl: 'params'so the "Use the model's built-in search engine" toggle appears in the search panel;glm-5.3-flashandglm-5v-turbodo not (vision request schema has noweb_searchtool). The runtime strips Anthropic-stylebudget_tokensand Moonshot-stylekeepbefore sending, coercestool_choicetoauto, setsdo_sample: falsewhentemperatureis0, and never sendstool_stream(gateway backends reject it intermittently). Connectivity Check still disables thinking on glm-5.2 and older; forglm-5.3*it omitsthinkingand sendsreasoning_effort: low. -
xAI gear exposes only Grok reasoning effort.
grok-4.7andgrok-4.7-build-fastuse the same set as 4.6 (low/medium/high/xhigh, defaulthigh) and cannot disable thinking. Leftover 4.5xhighis sent ashigh. Grok 4.3noneis sent asreasoning_effort: none. Native Grok search is the search-panel opt-in and only ships on Responses astools: [{ type: "web_search" }]. -
Fetched provider models can receive read-time-only
settings.extendParamswhen the remote model table lacks settings storage. This is provider-scoped: DeepSeek V4 /deepseek-flashgetenableReasoning+reasoningEffort, MiniMax M-series getsminimaxReasoningSplit, Xiaomi MiMo V2.5 getsenableReasoning, Moonshot K2.6 gets thinking + preserved reasoning (leftoverkimi-k2.5still gets thinking only), OpenAI/Azure fetchedgpt-5.*,gpt-6-astra*, andgpt-6.1-sol*ids getgpt5ReasoningEffort+textVerbosity, xAI fetched ids containinggrok-4.7(includinggrok-4.7-build-fast), plusgrok-4.6/grok-4.5/grok-4.3, getxaiReasoningEffort, Zhipu reasoning models getenableReasoning+zhipuPreservedThinking(pluszhipuReasoningEffortonglm-5.2and above;glm-5.3*getzhipuReasoningEffort+zhipuPreservedThinkingonly since thinking is forced; leftover fetchedglm-4.7*get Preserved Thinking only, with no enable/disable switch), and Kimi K2.7 Code / K3 intentionally get no toggle because thinking/preserved reasoning is forced by the provider. OpenAI-compatible clonesgpt-6-astra,gpt-6.1-sol,gpt-5.6-sol, andgpt-5.5(not Terra/Luna).
Generic sampling controls (temperature, top_p, frequency_penalty, presence_penalty) are intentionally not exposed in the chat toolbar. OpenAI and Moonshot request paths strip these legacy fields before provider calls so undocumented or unsupported defaults cannot leak into reasoning/tool-call payloads. Provider-specific controls should be added only through documented model gear panels and settings.extendParams.
Heavy tool/plugin payloads can exceed MiniMax's effective input budget. Before the provider call, trimMinimaxChatContext (src/services/chat/trimMinimaxContext.ts) estimates size for messages + tools, derives a safe input budget from the model card, and drops oldest user/assistant turns until the estimate fits. This reduces bad_request_error / "context window exceeds limit (2013)".
- Home
- Quick Start
- Docker Deployment and Upgrades
- Authentication
- Model Providers
- Knowledge Base and RAG
- MarkItDown Sidecar
- Sandbox (OpenSandbox)
- OpenAI Compatible Cache Matrix
- Model Extension Options
- Memory & Context Compaction
- Background Conversation Generation
- Pasted Text
- Search
- Context Export
- Data Backup and Restore
- Image Generation
- Artifacts
- Inline SVG Diagrams
- Tools Hub
- MCP OAuth
- MCP Management
- Agent Skills
- Database
- Development
- Debug and Diagnostics
- Architecture Overview
- Docker Release
- Release Workflow