Report provider-specific search API keys correctly (#1202)

* fix(search): report provider-specific API keys

* fix(search): include provider env keys in status
This commit is contained in:
red person
2026-06-02 17:37:15 +03:00
committed by GitHub
parent f2f437f4a8
commit cc6e43da44
3 changed files with 68 additions and 2 deletions
+2 -1
View File
@@ -30,6 +30,7 @@ from .providers import (
tavily_search,
serper_search,
_get_search_settings,
_get_provider_key,
_get_result_count,
)
from .content import (
@@ -54,7 +55,7 @@ def get_search_config() -> Dict[str, Any]:
settings = _get_search_settings()
provider = settings.get("search_provider", "searxng")
config["active_provider"] = provider
config["has_api_key"] = bool((settings.get("search_api_key") or "").strip())
config["has_api_key"] = bool(_get_provider_key(provider))
config["result_count"] = _get_result_count()
if provider == "searxng":
from .providers import _get_search_instance
+11 -1
View File
@@ -64,7 +64,17 @@ def _get_provider_key(provider: str) -> str:
if val:
return val
# Legacy fallback: old shared search_api_key field
return (settings.get("search_api_key") or "").strip()
legacy = (settings.get("search_api_key") or "").strip()
if legacy:
return legacy
env_map = {
"brave": "DATA_BRAVE_API_KEY",
"google_pse": "GOOGLE_API_KEY",
"tavily": "TAVILY_API_KEY",
"serper": "SERPER_API_KEY",
}
env_name = env_map.get(provider, "")
return (os.environ.get(env_name) or "").strip() if env_name else ""
def _get_result_count() -> int: