fix(web): preserve custom: provider slugs in main model assignment - #45069
fix(web): preserve custom: provider slugs in main model assignment#45069Hung2124 wants to merge 1 commit into
Conversation
custom:<name> providers from config.yaml are valid as-is and their model namespaces routinely contain '/' (e.g. kr/claude-opus-4.8 on a local router). Return early for them so the vendor-prefix fallback never silently rewrites the assignment onto openrouter.
|
Related: #45075 (later same-day twin with the identical fix). |
|
Thanks for working on this fix. I am preparing a YouTube video for release around June 15 that demonstrates Hermes Desktop with custom OpenAI-compatible LLM providers such as Polza.ai. In the current Desktop build, viewers following the UI setup will end up with I have reproduced the issue consistently, verified the provider API itself returns HTTP 200, and verified this patch fixes the persistence path locally. Would it be possible to prioritize review and include this in the next Desktop/backend update? Even an indication of whether it is likely to land soon would help me give viewers accurate instructions. Thank you. |
|
Thanks for the detailed repro and for confirming the patch fixes it on your end — that's really helpful. The PR is small (+8 lines, single file) and just preserves the I've pinged the team to flag it. I can't promise a timeline for the next Desktop build, but I'll keep this PR up to date if any changes are requested. Hopefully it lands before your video — fingers crossed. |
|
Thanks for the focused custom-provider fix. This is already implemented on current
Closing as implemented on main. |
What
_normalize_main_model_assignment()now returns early forcustom:<name>provider slugs.Why
User-defined providers from
config.yamlare valid as-is, and their model namespaces routinely contain/(e.g.kr/claude-opus-4.8on a local router). Without the early return, the vendor-prefix fallback misreads the/as an openrouter-style vendor prefix and silently rewrites the assignment ontoopenrouter— breaking the user's explicit provider choice.Testing
Verified with a
custom:provider whose model ids contain/: assignment is preserved verbatim; openrouter-style slugs still normalize exactly as before (early return only triggers on thecustom:prefix).