SuperAPI AI 工具集

extract-python-environment-variables

部署与运维

查看项目

更新于 10-15 21:53

技能介绍

用途:确保 Python recipe 正确声明并加载其使用的环境变量,把散落在源码中的配置集中到 .env.example。

主要能力:运行 scripts/extract_env_vars.py 扫描所有 .py 文件(排除 tests/ 和缓存、venv 目录),识别 os.environ["VAR"]、os.environ.get、os.getenv、os.environ.setdefault 等形式,只收集 UPPER_SNAKE_CASE 名称,小写变量会以 [WARN] 列出并跳过。它会新增或原位置升级 .env.example 条目,缺失时从头创建;将疑似占位值(如 my-project-id、changeme、example.com)降级为 <TODO: update-this-value>;在包 init.py 中注入 from dotenv import load_dotenv 与 load_dotenv();为会被 Ruff E402 判错的尾部相对导入追加 noqa;把源码中的硬编码模型名替换为 os.getenv(...);并把 python-dotenv>=1.0.0 加入 pyproject.toml 依赖。

使用方式:

uv run --no-project python3 .agents/skills/extract-python-environment-variables/scripts/extract_env_vars.py --recipe-dir <RECIPE_DIR>

可加 --dry-run 预览。脚本仅用标准库,需 Python 3.11+(依赖 tomllib),须通过 uv 运行。需提供 recipe 目录,未提供时应询问。完成后提醒用户复制 .env.example 为 .env 填真实值,必要时运行 uv sync。

限制:只做加法写入 Python 文件,不新增 setdefault 引导;对 .env.example 采取失败即关闭策略,无法确认由本技能写入的行不改动;不覆盖已由技能写入的真实值;结构不明的行会拒绝并告警。不得手动编辑 .env.example、init.py 或 pyproject.toml 代替脚本。