SuperAPI AI 工具集

get-env-var

编程与开发

查看项目

更新于 10-15 21:10

技能介绍

用途:当命令或脚本需要未设置的环境变量(如 BLOB_READ_WRITE_TOKEN),或缺少令牌、API 密钥等密钥,或用户要求从 Infisical 加载密钥时,使用本技能把团队 Infisical 工作区中的密钥取到当前 shell,供下一条命令使用。

主要能力:从 Infisical 获取单个密钥并导出为环境变量;通过 infisical run -- <command> 把全部项目密钥仅注入到该进程;在不查看密钥值的前提下发现、检查并转发密钥。

使用方式:每台机器首次需安装 CLI,macOS 用 brew install infisical/get-cli/infisical;用 infisical user get 检查认证,失败则运行 infisical login 完成浏览器流程;CI 等非交互场景可设置来自机器身份的 INFISICAL_TOKEN,存在时 CLI 跳过登录。仓库已通过 .infisical.json 关联项目,从仓库根目录运行,省略 --env 时默认 dev 环境。获取单个密钥:export NAME="$(infisical secrets get NAME --plain --silent)",可用 --env <slug> 指定环境、--path /some/folder 指定文件夹。注入命令:infisical run -- <command>。列出密钥名:infisical secrets --env dev --output json --silent 2>/dev/null | jq -r '.[].secretKey';检查是否存在:infisical secrets get NAME --plain --silent 2>/dev/null | wc -c;转发给消费者:infisical secrets get NAME --plain --silent 2>/dev/null | gh secret set NAME --repo <owner>/<repo>。

限制与规则:绝不回显、打印或记录密钥值,不写入文件、日志、提交信息、PR 正文或评论。--plain 仅用于 secrets get NAME 的命令替换或直接管道给单一消费者,绝不用于列表。不得让含密钥的流经过 grep、rg、awk、sed、cut、head 等按行过滤工具,因为多行值会破坏过滤。必须从仓库根目录运行,否则 infisical 报错并输出空 stdout,可能导致下游 gh secret set 静默存入空值。若密钥不存在,应停止并告知用户需在 Infisical 中添加的具体密钥名和环境,不得编造值。