import os


def load_api_keys() -> list[str]:
    """
    从 SERPER_API_KEYS 环境变量加载 API KEY 列表。

    支持两种模式:
    - 单 KEY（无逗号）: 返回 [key]
    - 多 KEY（逗号分隔）: 返回 [key1, key2, ...]

    错误处理:
    - 环境变量未设置: 抛出 ValueError
    - 空配置或无效格式: 抛出 ValueError

    Returns:
        list[str]: 有效的 API KEY 列表，至少包含一个 KEY

    Raises:
        ValueError: 当环境变量未设置或没有有效的 KEY 时
    """
    # 从环境变量读取
    raw_value = os.environ.get("SERPER_API_KEYS")

    # 检查环境变量是否设置
    if not raw_value:
        raise ValueError("SERPER_API_KEYS environment variable is not set. Please set it to use this tool. Format: key1,key2,key3")

    # 去除首尾空格
    trimmed = raw_value.strip()

    # 按逗号分割并过滤空字符串
    keys = [k.strip() for k in trimmed.split(",") if k.strip()]

    # 检查是否至少有一个有效的 KEY
    if not keys:
        raise ValueError("No valid API keys found in SERPER_API_KEYS")

    return keys
