All plugins

DSH / BUNDLE / CLIENT-UI

dsh-llm-model-tuning

v1.5.0xurunxin / dsh-llm-model-tuningc882960e96

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-llm-model-tuning

Per-model reasoning-effort levels and multimodal input settings for custom providers in the DeepSeek Harness Models settings page.

README / EN

Package documentation

Registry summary

Per-model reasoning-effort levels and multimodal input settings for custom providers in the DeepSeek Harness Models settings page.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- The card edits only `reasoningEfforts`, `input`, and `defaultInput`; the gateway import additionally writes each model's disclosed `name`, `contextWindow`, and `maxTokens` into the entry (showing the two capacities on the expanded row), but those capacities are not hand-editable here. Compat switches, edits to other model fields, and credentials stay with the shipped editor and `settings.yaml`. - **Gateway import overwrites what you select.** For an existing model, every selected import replaces all five managed fields and clears any of them the gateway no longer discloses — that is the point of the overwrite, not a bug. Unselected rows and models the gateway does not return are never touched. - Levels beyond the seven the schema accepts (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`) are preserved on write but not offered for editing. - Settings are stored in the user's `settings.yaml`; the card holds no state of its own. - **Gateway import:** supports the `{"data":[…]}` and `{"models":{…}}` envelopes only, one listing page per attempt (no pagination), and only the `openai-completions`, `openai-responses`, and `anthropic-messages` protocols; anything else fails with a user-facing message. - **Gateway import:** only the fields in the mapping table are translated. Magpie-only fields (service tiers, labels, pricing, `owned_by`, …) are ignored, and unsupported reasoning levels or modalities are skipped with warnings rather than approximated. - **Gateway import:** in `modelOverrides` mode a gateway-only id cannot be imported (an override cannot introduce a catalog-unknown model); only already-shown ids are updated, and the status line counts the skipped new models. - **Gateway import** never saves by itself and never writes settings from the Host route: the user confirms the selection, reviews the merged draft, and clicks 保存, after which the normal `configForms` transport validates it against the adapter. - **models.dev completion is a best-effort reference, not a check of the gateway.** It only fills the five managed fields of an entry that lacks details; it never contradicts a disclosed value. A versionless family alias (`claude-haiku`, `gpt-sol`) can only be matched to the family's catalog record, which may be an older or newer member — treat that completion as a hint rather than proof of the exact variant. The same holds for a decorated id whose only extra token is a one-token local marker: it resolves to the base model, but only when no exact record exists. An id with no strong catalog match (`group/smart-split`, a longer invented suffix) is left untouched and listed in `unmatched`. Because models.dev can lag behind or disagree with a gateway (a gateway-specific context cap, a reseller variant), treat completed capacities as a starting point and correct them with the shipped editor if needed. - **models.dev matching is deterministic but not omniscient.** Two providers' copies of the same model may disagree; the matcher prefers an exact catalog id, then the hinted/authoritative vendor (the prefix of `canonical_model_id`), then the more complete record, then lexicographic provider/model order. Reasoning completion maps only the effort/toggle shapes; `budget_tokens`-style thinking is ignored rather than approximated. - **Decorated-id compatibility is heuristic.** A `cn:`/`xxx/` provider or category prefix is peeled, so `cn:kimi-k3` matches `kimi-k3`; a *trailing* local disambiguation marker (`-1`, `-b`, `-ctrl`, `-exp`) is peeled only as a last resort and only when the base model has a catalog record, so it can never override a normal match. Longer vendor suffixes (`-lkeap`, `-volc`, `-taiji`) are not guessed; the gateway's display name can sometimes resolve those instead, and otherwise the entry is left untouched. On the mapping side, `attachments`/`supports_images` are read as modality disclosures and `reasoning_supported_efforts` as effort levels; `reasoning_default_effort` is not expanded into a level list, and