--- chat_api.py +++ chat_api.py @@ -2157,7 +2157,12 @@ def video_gateway_api_key() -> str: env = build_tool_env() for key in ("DALONGXIA_VIDEO_GATEWAY_API_KEY", "DASHSCOPE_API_KEY", "BAILIAN_API_KEY", "QWEN_API_KEY"): - value = (os.getenv(key) or env.get(key) or "").strip() + file_name = f"{key}_FILE" + configured_path = (os.getenv(file_name) or env.get(file_name) or "").strip() + if configured_path: + value = read_protected_secret_file(file_name, configured_path).strip() + else: + value = (os.getenv(key) or env.get(key) or "").strip() if value: return value return "" @@ -2165,11 +2170,22 @@ def ai_skill_router_api_config() -> dict[str, str]: env = build_tool_env() - explicit_key = ( - os.getenv("DALONGXIA_AI_SKILL_ROUTER_API_KEY") - or env.get("DALONGXIA_AI_SKILL_ROUTER_API_KEY") + explicit_key_file = ( + os.getenv("DALONGXIA_AI_SKILL_ROUTER_API_KEY_FILE") + or env.get("DALONGXIA_AI_SKILL_ROUTER_API_KEY_FILE") or "" ).strip() + explicit_key = ( + read_protected_secret_file( + "DALONGXIA_AI_SKILL_ROUTER_API_KEY_FILE", explicit_key_file, + ).strip() + if explicit_key_file + else ( + os.getenv("DALONGXIA_AI_SKILL_ROUTER_API_KEY") + or env.get("DALONGXIA_AI_SKILL_ROUTER_API_KEY") + or "" + ).strip() + ) if explicit_key: return { "api_key": explicit_key,