Feat/opencode zen provider#3781
Conversation
|
Thanks @snail-vs for taking the time to contribute. This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered. Please read |
|
Thanks @snail-vs. I am not taking the OpenCode Zen provider PR into 0.8.67 as-is because it is blocked/conflicting and touches provider routing/configuration across several crates. I am cutting 0.8.67 soon; after that, please rebase for 0.8.68 and we can review the provider integration carefully rather than rush it. |
Hmbown
left a comment
There was a problem hiding this comment.
Thanks for this — it's a thorough, pattern-faithful addition: ProviderKind/ApiProvider variants, the registry count bumps (30→31), every match arm, defaults, env overrides, the two provider-metadata tests updated for the Responses wire, and docs/config example. It also correctly leaves DeepSeek support untouched.
One correctness issue worth fixing before merge:
Missing-credentials message misdirects OpenCode Zen users. In crates/tui/src/config.rs the missing-key bail now groups OpenCode Zen with OpenAI Codex:
ApiProvider::OpenaiCodex | ApiProvider::OpenCodeZen => anyhow::bail!(
"OpenAI Codex OAuth credentials not found.\n ... CodeWhale uses your existing ChatGPT/Codex login ..."
)But everywhere else in the PR OpenCode Zen is treated as an API-key provider (OPENCODE_ZEN_API_KEY/OPENCODE_API_KEY, the has_api_key_for / active_provider_has_config_api_key additions, the config-example "copy your API key"). So a user who selects opencode-zen without a key is told to log in via ChatGPT/Codex OAuth, which doesn't apply. Please give OpenCode Zen its own message pointing at OPENCODE_ZEN_API_KEY / [providers.opencode_zen] api_key (mirroring the other Chat/Responses API-key providers) rather than reusing the Codex OAuth text.
Everything else looks good to me. Flagging for @Hmbown's merge decision.
Generated by Claude Code
Config-lane unblock (2026-07-08) — parked for careful 0.8.68 rebasePer maintainer note on this PR (2026-07-03): OpenCode Zen was deferred out of 0.8.67 and should be rebased for 0.8.68 for careful review, not rushed through the conflicting provider surface. Why this stays open but is no longer a catalog gate
Rebase notes for whoever picks this up (grounded in review + upstream docs)
Leaving open for the harvest/provider lane; catalog agents should not block on it. |
Summary
Testing
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --all-featurescargo test --workspace --all-featuresChecklist