mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-10-26 01:34:51 +08:00
When a relay's model is not recognized by address, the metadata lookup falls back to the vendor's entry: first the entry that same-name entries point at via canonical_model_id, and only if none resolves, an entry listed under a provider that some canonical id points at. That last step only checked whether the provider counts as a vendor, not whether the entry claims to be its own. models.dev has no deepseek/deepseek-v4.1-flash-1017, so the ~40 entries pointing there all miss, and thinkingmachines (counted as a vendor for its own models) won with its LoRA fine-tuning entry DeepSeek-V4.1-Flash-1017:peft:262144, whose canonical id points back at deepseek. It is text-only with a 262144 window, so picking the model filled every app with text-only input and a quarter of the real window; Codex additionally turned image input off. Skip entries whose canonical id names another vendor in that fallback. Against the current models.dev data, 27 ids stop borrowing from hosts of other vendors' models (thinkingmachines, NVIDIA, vivgrid, alibaba) and leave the fields empty instead, and laguna-xs-2.1 now resolves to poolside's own entry rather than being ambiguous. Skipping ':' variants instead was rejected: it fixes this id but newly resolves nine thinkingmachines entries carrying 65K training windows (gpt-oss-120b and others). Refs #8765, #8682