从已注入的环境变量读取 Kimi/OpenAI-compatible 凭证。 A3S 2.0 的 .a3s/config.acl 通过 env(...) 解析密钥,不再保存明文。
()
| 42 | |
| 43 | |
| 44 | def extract_kimi_credentials() -> Tuple[str, str]: |
| 45 | """ |
| 46 | 从已注入的环境变量读取 Kimi/OpenAI-compatible 凭证。 |
| 47 | |
| 48 | A3S 2.0 的 .a3s/config.acl 通过 env(...) 解析密钥,不再保存明文。 |
| 49 | """ |
| 50 | api_key = os.environ.get("KIMI_API_KEY") or os.environ.get("A3S_OPENAI_API_KEY") |
| 51 | base_url = os.environ.get("KIMI_BASE_URL") or os.environ.get("A3S_OPENAI_BASE_URL") |
| 52 | |
| 53 | if not api_key or not base_url: |
| 54 | raise ValueError( |
| 55 | "请先注入 KIMI_API_KEY/KIMI_BASE_URL 或 " |
| 56 | "A3S_OPENAI_API_KEY/A3S_OPENAI_BASE_URL。" |
| 57 | ) |
| 58 | |
| 59 | os.environ["KIMI_API_KEY"] = api_key |
| 60 | os.environ["KIMI_BASE_URL"] = base_url |
| 61 | return api_key, base_url |
| 62 | |
| 63 | |
| 64 | def find_config() -> str: |