custom preset revision
Use this child for the named built-in custom preset. customPreset in tui/internal/preset/preset.go:1532 is an OpenAI-compatible user-supplied template: empty model, LLM_API_KEY, user-supplied base_url, web_search, skills, and vision inherited from the configured endpoint. It has no universal latest model and no provider-wide model or vision promise.
Template-specific settings
There is no universal official catalog for custom. Read the configured endpoint provider's official model and capability documentation, then query that endpoint's authenticated GET /models when it implements the OpenAI list operation. If it does not, use its own official catalog or CLI surface and record the exact served ID, route, protocol, and capability evidence. The OpenAI, Anthropic, and Gemini API references are protocol references only; none identifies an unspecified endpoint.
TUI surfaces to revise
Start at customPreset in tui/internal/preset/preset.go. Custom has no providerModels or modelHasVision picker binding: model and base_url are free text. For capability/transport behavior, inspect isCustomOpenAI, isCustomOpenAIResponses, customResponsesThinkingOptions, responsesTransportOptions, and mandatoryCapRow in tui/internal/tui/preset_editor.go. Revise the constructor's inherited vision declaration only when the configured contract changes; do not turn an arbitrary relay into a universal native route.
Responses details
For custom plus api_compat openai, wire_api responses exposes HTTP (omitted default) or WebSocket (responses_transport websocket), and the reasoning selector uses default omission or none/minimal/low/medium/high/xhigh. The editor removes stale transport/thinking fields outside that exact scope; a WebSocket rejection does not silently fall back to HTTP.
Reviewed deterministic revision
Prepare an evidence-bound manifest and explicit input, then run lingtai-tui presets revise --manifest PATH --input PATH --mode dry-run|check|apply [--output-dir PATH]. Review the JSON plan, use dry-run/check before apply, and apply only to a new explicit output directory. revision.go validates hashes, route bindings, and evidence and preserves unowned bytes. This amendment does not change the current custom values.
Maintenance: If the relevant TUI preset/page is revised, check whether this sub-skill also needs revision and, if so, include it in the same PR.
Operations
For save, endpoint/capability, availability, activation/refresh, or
troubleshooting, use the five shared operation children under
reference/operations/; this child owns Custom's endpoint-derived facts, so
inspect the actual saved manifest for user-owned provider, model, endpoint,
credential, and capability facts.