mirror of
https://github.com/Routstr/routstrd.git
synced 2026-10-05 12:28:23 +00:00
Pi sends the system prompt as role "developer" (OpenAI's newer spelling) for reasoning models on unrecognized providers — its heuristics only see routstrd's local URL and can't know DeepSeek sits behind it. Strict upstream deserializers reject the whole chat body with a hard 400: messages[0].role: unknown variant `developer`, expected one of `system`, `user`, `assistant`, `tool`, ... installPiIntegration rebuilds the routstr provider on every refresh, so the pin must be generated: deepseek* models always get compat.supportsDeveloperRole=false, with any other user-curated compat keys preserved. Non-deepseek models keep the previous preserve-as-is behavior.