Repository navigation
feat(opencode-config): add muse-direct provider via muse-proxy Responses passthrough (#2753) - #2761
Conversation
…ses passthrough (#2753)
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 4 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Phase 2 of #2753 (direct mode itself landed in #2759): wire the door into the fleet OpenCode config. Drew, 2026-10-30: "wire it up".
What
One new provider block,
muse-direct, in.opencode/opencode.jsonc(+48 lines, nothing else touched):npm: "@ai-sdk/openai"— Responses-native, the shape themetaprovider uses. NOT openai-compatible/chat: the chat-completions route is the one that returnsclient_attestation_deniedfor the minted key from non-CLI clients (verified live 2026-10-30); the Responses route answers it with bare Authorization.baseURL: "http://127.0.0.1:{env:MUSE_PROXY_PORT:-18747}/v1"andapiKey: "muse-local"— the same local-proxy pattern as themuseblock: the placeholder is ignored by muse-proxy, whose/v1/responsespassthrough swaps in the minted plan key. No real credential in config, no auth.json entry.muse-spark-1.3andmuse-wonder-1.0, carrying the reasoning-effort variant set themetablock defines for these model families (minimal…max).meta(not a separate pool, not the assistant's subscription), reached via muse-proxy direct mode (key minted from the Muse CLI login), ~10 input tokens per call vs ~26k through the CLI harness.Deliberately NOT done (per Drew's phase-2 scope):
muse-directis not indisabled_providers, no model routes or defaults change, and themuseprovider block is untouched — routing stays Drew's call.Validation
muse-proxy.service(:18747, egress unpinned, no META_API_KEY), and a throwaway OpenCode serve with the deployed config answers a content-verified session onmuse-direct/muse-spark-1.3.Need help on this PR? Tag
@codesmith-botwith what you need.