You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Title suggestion:[Bug]: memory-llm hardcoded to gpt-4o-mini, breaks silently for non-OpenAI BYOK providers
Summary
OD's memory-llm subsystem makes cross-turn memory calls hardcoded to gpt-4o-mini. When using BYOK against any provider that isn't OpenAI itself (e.g. api.minimax.io, which has no gpt-4o-mini in its catalog), every memory call fails with HTTP 400. The agent runs without memory between turns and the user gets no visible error.
How to reproduce
Install Open Design 1.17.13 on Windows
Configure a BYOK provider via OpenAI-compatible protocol with baseUrl other than api.openai.com (e.g. https://api.minimax.io).
Trigger any BYOK agent run that requires cross-turn memory (i.e. essentially any multi-turn task).
"memory-llm is not unconditionally hardcoded to OpenAI — it now prefers the per-turn BYOK chatProvider snapshot when the web app sends it, and only falls back to defaults like gpt-4o-mini when that path is missing or loses the race."
So in main there's at least a partial fix (prefer per-turn snapshot), but the fallback path still uses gpt-4o-mini and is reachable. My 1.17.13 build predates that fix and is hit every time.
Expected behavior
memory-llm should:
Use the same provider / model / baseUrl / apiKey that the chat turn is using (or refuse to run if it can't be determined).
If a fallback is needed, prefer a model that exists in the resolved provider's catalog (e.g. for api.minimax.io, use MiniMax-M2.5-highspeed or similar).
Surface failures to the user-visible run status, not just the daemon log. A "memory subsystem degraded" warning in the run metadata would be acceptable.
Workaround (until fixed)
None on the runtime side — the failure is invisible. Workaround at the user level: switch to the CLI route (minimax-coding-plan/MiniMax-M3) where memory goes through opencode-ai's managed plan and isn't affected. But this defeats the purpose of BYOK.
Originally requested by @lefarcen in #5114 (comment) to keep the tool-forwarding discussion focused while the memory regression gets its own tracking path.
Title suggestion:
[Bug]: memory-llm hardcoded to gpt-4o-mini, breaks silently for non-OpenAI BYOK providersSummary
OD's
memory-llmsubsystem makes cross-turn memory calls hardcoded togpt-4o-mini. When using BYOK against any provider that isn't OpenAI itself (e.g.api.minimax.io, which has nogpt-4o-miniin its catalog), every memory call fails with HTTP 400. The agent runs without memory between turns and the user gets no visible error.How to reproduce
baseUrlother thanapi.openai.com(e.g.https://api.minimax.io).%APPDATA%\Open Design\namespaces\release-stable-win\logs\daemon\latest.log.Observed log excerpt (verbatim)
Every
proxy:openaichat call is paired with amemory-llm400 failure. Silent.Impact
tools-forwarding bug (see [Bug]: BYOK MiniMax/MiMo via OpenAI-compatible protocol returns empty assistant turn and only chat text #5114), the agent produces output that depends on memory that's missing. Memory-less runs hallucinate project context.Diagnosis context (from @lefarcen on #5114)
Per maintainer investigation on
main:So in
mainthere's at least a partial fix (prefer per-turn snapshot), but the fallback path still usesgpt-4o-miniand is reachable. My 1.17.13 build predates that fix and is hit every time.Expected behavior
memory-llmshould:api.minimax.io, useMiniMax-M2.5-highspeedor similar).Workaround (until fixed)
None on the runtime side — the failure is invisible. Workaround at the user level: switch to the CLI route (
minimax-coding-plan/MiniMax-M3) where memory goes through opencode-ai's managed plan and isn't affected. But this defeats the purpose of BYOK.Related
rawToolCallOnlyguard (this issue is independent)Originally requested by @lefarcen in #5114 (comment) to keep the tool-forwarding discussion focused while the memory regression gets its own tracking path.