convex-env 是一个面向 Convex 项目开发流程的技能,用于设置和应用 Convex 部署的环境变量与密钥(secrets)。它的核心用途是帮助开发者安全地管理敏感配置,避免密钥泄露到代码或版本控制中。
主要能力与规则:
- 密钥存储:密钥应存储在 Convex 部署环境变量中,而不是代码或 git 中。
- 设置方式:使用 npx convex env set KEY value 命令,按部署(per deployment)设置。不同部署需要各自独立的值。
- 读取方式:在 actions 中通过 process.env.KEY 读取,而不能在 queries 或 mutations 中读取。如有需要,可使用 'use node'。
- 本地开发:本地开发时可将变量加入 .env.local,但绝不硬编码或提交密钥。
- 检查方式:使用 npx convex env list --names-only 确认变量是否已设置,该命令仅列出变量名,不打印密钥值。技能明确指出,绝不能将密钥值打印到对话中。
使用方式概括为以下工作流:先用 npx convex env set KEY value 为相应部署设置变量;随后在 actions 内通过 process.env.KEY 访问;通过 npx convex env list --names-only 验证设置情况。
适用场景:任何需要为 Convex 应用配置环境变量或密钥的部署与开发环节,尤其是需要区分本地与线上、多个部署环境各自持有一份密钥的团队。
限制与注意事项:process.env 只适用于 actions,不适用于 queries/mutations;密钥不得出现在代码、git 或对话输出中;不同部署的值互不通用。资料未提供该技能的具体收费、价格、平台支持范围或效果数据。