Conversation
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — switches the apps/chat-flue default chat + triage model from native Workers AI to OpenRouter's openrouter/google/gemini-3.5-flash, and wires the OpenRouter provider + API key through env, secrets, and the dev-vars example.
- Default model swap —
DEFAULT_MODEL(src/agents/maple-chat.ts) andDEFAULT_TRIAGE_MODEL(src/workflows/triage.ts) both move fromcloudflare/@cf/...toopenrouter/google/gemini-3.5-flash;MAPLE_CHAT_MODEL/MAPLE_TRIAGE_MODELoverrides and thecloudflare/*provider remain available. - Provider registration —
src/app.tsregisters theopenroutercatalog provider at module scope, guarded onenv.OPENROUTER_API_KEY, mirroring the existingobserve/setupTelemetryper-isolate registration pattern. - Env + secret wiring —
OPENROUTER_API_KEY?: stringadded toChatFlueEnv;alchemy.run.tsbinds it via the existingoptionalSecrethelper (bound only when set);.dev.vars.exampledocuments the key.
The wiring is consistent with existing chat-flue patterns and there are no stale references — the guarded registerProvider cannot throw on missing key, and the optionalSecret binding matches the other optional secrets in alchemy.run.ts. The model id google/gemini-3.5-flash is a valid live OpenRouter model. Worth a conscious note (not a blocker, and already documented in the code comments): this flips the default from keyless native Workers AI to paid OpenRouter usage billed to OPENROUTER_API_KEY (~$1.50/$9 per 1M tokens), so the cost profile of every default chat + triage run changes.
@v0 or keep the SHA fresh with Dependabot | View workflow run | Using Claude Opus | 𝕏

No description provided.