概览
dsh-llm-model-tuning
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- 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
