From 5271656e2acaf22fee0eb6e8248dcc919f312e50 Mon Sep 17 00:00:00 2001 From: Argenis Date: Mon, 16 Mar 2026 15:29:36 -0400 Subject: [PATCH] feat(providers): add VOLCENGINE_API_KEY env var for VolcEngine/ByteDance gateway (#3725) --- src/providers/mod.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/providers/mod.rs b/src/providers/mod.rs index 72e9bdfc4..8a83fdf91 100644 --- a/src/providers/mod.rs +++ b/src/providers/mod.rs @@ -846,7 +846,9 @@ fn resolve_provider_credential(name: &str, credential_override: Option<&str>) -> // not a single API key. Credential resolution happens inside BedrockProvider. "bedrock" | "aws-bedrock" => return None, name if is_qianfan_alias(name) => vec!["QIANFAN_API_KEY"], - name if is_doubao_alias(name) => vec!["ARK_API_KEY", "DOUBAO_API_KEY"], + name if is_doubao_alias(name) => { + vec!["ARK_API_KEY", "VOLCENGINE_API_KEY", "DOUBAO_API_KEY"] + } name if is_qwen_alias(name) => vec!["DASHSCOPE_API_KEY"], name if is_zai_alias(name) => vec!["ZAI_API_KEY"], "nvidia" | "nvidia-nim" | "build.nvidia.com" => vec!["NVIDIA_API_KEY"], @@ -2607,6 +2609,14 @@ mod tests { assert_eq!(resolved, Some("osaurus-test-key".to_string())); } + #[test] + fn resolve_provider_credential_volcengine_env() { + let _env_lock = env_lock(); + let _guard = EnvGuard::set("VOLCENGINE_API_KEY", Some("volc-test-key")); + let resolved = resolve_provider_credential("volcengine", None); + assert_eq!(resolved, Some("volc-test-key".to_string())); + } + // ── Extended ecosystem ─────────────────────────────────── #[test]