fix: honor search api key env override

This commit is contained in:
jimmyzhuu
2026-05-30 11:34:07 +08:00
parent 7842908028
commit ce959f6841
2 changed files with 24 additions and 1 deletions
+24
View File
@@ -2855,6 +2855,14 @@ fn apply_env_overrides(config: &mut Config) {
if let Ok(value) = std::env::var("DEEPSEEK_MANAGED_CONFIG_PATH") {
config.managed_config_path = Some(value);
}
if let Ok(value) = std::env::var("DEEPSEEK_SEARCH_API_KEY")
&& !value.trim().is_empty()
{
config
.search
.get_or_insert_with(SearchConfig::default)
.api_key = Some(value);
}
if let Ok(value) = std::env::var("DEEPSEEK_REQUIREMENTS_PATH") {
config.requirements_path = Some(value);
}
@@ -4392,6 +4400,22 @@ mod tests {
assert_eq!(resolution.source, SearchProviderSource::EnvOverride);
}
#[test]
fn apply_env_overrides_sets_search_api_key() {
let _guard = lock_test_env();
let prev = env::var_os("DEEPSEEK_SEARCH_API_KEY");
unsafe { env::set_var("DEEPSEEK_SEARCH_API_KEY", "search-env-key") };
let mut config = Config::default();
apply_env_overrides(&mut config);
unsafe { EnvGuard::restore_var("DEEPSEEK_SEARCH_API_KEY", prev) };
assert_eq!(
config.search.and_then(|search| search.api_key),
Some("search-env-key".to_string())
);
}
#[test]
fn search_provider_resolution_ignores_invalid_env_override() {
let _guard = lock_test_env();
-1
View File
@@ -692,7 +692,6 @@ impl WebSearchTool {
let resp = client
.post(BAIDU_ENDPOINT)
.header("Content-Type", "application/json")
.header("Authorization", format!("Bearer {api_key}"))
.json(&payload)
.send()