Preface¶
When configuring model routing with llm-pi-ai, the official settings page usually only allows editing contextWindow. However, the key parameter that determines routing strategy, reasoningEfforts (thinking level), is often hidden, making it impossible to properly configure model strength. The dsh-llm-capabilities plugin fills the gap left by the official UI in self-hosted gateways by providing a centralized settings panel.
Plugin Overview¶
This is a DSH plugin designed to automatically detect and configure model capabilities for llm-pi-ai, especially reasoningEfforts and capacities. It is maintained by bamboostrip. It replaces dsh-reasoning-efforts and handles fields that the official UI leaves non-configurable.
Core Features¶
The plugin provides the following capabilities:
* Automatic capability detection: Automatically detects model capabilities (reasoningEfforts + capacities) and thinking levels.
* Thinking-level management: Manages off/low/medium/high/xhigh/max levels and supports custom wire spellings.
* Strict preservation of visual settings: Strictly preserves visual (input) settings declared by the official UI; starting from version 0.2.0, it no longer modifies the input field.
* Directory-aware merging: Performs directory-aware merging with llm.models() to refine the level set.
* Safe writing: Uses expectedRevision and deep-copied arrays for safe writes to prevent accidental overwrites.
* Backward compatibility: Maintains compatibility with dsh-reasoning-efforts endpoints.
Installation and Enablement¶
Before installation, make sure your environment satisfies the dependency requirements: DHS >= 0.1.1-rc.2 and node >= 22.13.
Install the plugin with the following command:
dsh plugin --profile web add dsh-llm-capabilities
Typical Usage¶
After installation, follow these steps:
- Add a provider (
route,baseURL,apiKeyEnv) inSettings → Models. - Open
Settings → Model Capabilitiesand select the provider you just added (detection runs automatically). - For each model, toggle “Offer thinking levels” and select the desired levels (
off/low/medium/high/xhigh/max). - If needed, customize wire spellings via the pencil icon.
- Click the “Save changes” button at the bottom to write the configuration into the
llm-pi-aiproviders route.
Notes¶
- Expose hidden settings: The official
llm-pi-aiUI only allows editingcontextWindow; this plugin exposes the hiddenreasoningEfforts. - Visual settings protection: The plugin strictly preserves visual (input) settings. Since version 0.2.0, saving does not modify the
inputfield. - Session handling: The plugin handles OpenCode Go session headers (
x-opencode-session) for prompt-cache affinity and performs self-healing encrypted-reasoning retries when session affinity is lost. - Source code review: The plugin is licensed under MIT. Before installing, it is recommended to inspect the source code to ensure it complies with your security policy.
Conclusion¶
dsh-llm-capabilities fixes blind spots in the official UI when configuring model reasoning capabilities and provides finer-grained control. See the GitHub repository for more details.