fix(provider): follow-up CN/global consistency for Z.AI and aliases (#554)

* fix(provider): harden CN/global routing consistency for Chinese vendors

* fix(agent): migrate CLI channel send to SendMessage

* fix(onboard): deduplicate Z.AI key URL match arms
This commit is contained in:
Chummy 2026-02-18 00:04:56 +08:00 committed by GitHub
parent cd0dd13476
commit fc6e8eb521
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 97 additions and 13 deletions

View file

@ -1879,6 +1879,18 @@ impl Config {
}
}
// API Key: ZAI_API_KEY overrides when provider is a Z.AI variant.
if matches!(
self.default_provider.as_deref(),
Some("zai" | "z.ai" | "zai-global" | "z.ai-global" | "zai-cn" | "z.ai-cn")
) {
if let Ok(key) = std::env::var("ZAI_API_KEY") {
if !key.is_empty() {
self.api_key = Some(key);
}
}
}
// Provider: ZEROCLAW_PROVIDER or PROVIDER
if let Ok(provider) =
std::env::var("ZEROCLAW_PROVIDER").or_else(|_| std::env::var("PROVIDER"))
@ -3147,6 +3159,21 @@ default_temperature = 0.7
std::env::remove_var("GLM_API_KEY");
}
#[test]
fn env_override_zai_api_key_for_regional_aliases() {
let _env_guard = env_override_test_guard();
let mut config = Config {
default_provider: Some("zai-cn".to_string()),
..Config::default()
};
std::env::set_var("ZAI_API_KEY", "zai-regional-key");
config.apply_env_overrides();
assert_eq!(config.api_key.as_deref(), Some("zai-regional-key"));
std::env::remove_var("ZAI_API_KEY");
}
#[test]
fn env_override_model() {
let _env_guard = env_override_test_guard();