跳转到内容

密钥与环境变量

为自定义 backend 和实时代码管理 API 密钥及服务端密钥。

大多数 Proyecta 应用根本不需要密钥。支付、邮件、身份验证和内容均属于平台能力 —— Proyecta 会自动完成对接并为你管理凭据(参见 连接器)。大多数应用从不需要在此添加密钥。只有当某个服务不在任何能力或连接器的覆盖范围之内时,你才需要添加密钥 —— 通常出现在包含自定义实时/backend 代码的应用中(实时 backend 功能即将推出)。

点击 builder 工具栏中的 Settings 按钮,打开 Settings 面板。该面板包含三个部分:

部分 用途
General 项目名称和知识库
SEO & sharing 设置站点标题、描述和 favicon
Secrets 用于自定义 backend / 实时代码的服务端密钥
  1. 点击 builder 工具栏中的 Settings 按钮
  2. 打开 Secrets 标签页
  3. 输入名称(如 STRIPE_SECRET_KEY)和对应的值
  4. 点击 Add

对于包含实时 backend 的应用,密钥会同步到相应的 deployment,并在其服务端代码中通过 process.env.SECRET_NAME 引用。密钥会在 frontend 代码或 pod 级别的环境变量中生效 —— 这样可以防止密钥泄露到浏览器 bundle 中。

对于常见的集成场景,你通常不需要手动添加密钥 —— Proyecta 会作为能力或连接器的一部分来管理凭据:

  • "Accept payments"Commerce 能力会自动对接 Stripe Connect(结账、订单、收款)
  • "Send emails"email 能力 / 托管连接器会处理服务商密钥
  • "Add sign-in"auth 能力会分配一个 OIDC 客户端并注入 OAuth 配置

仅当某个服务不在任何能力或连接器的覆盖范围之内,且应用包含自定义实时/backend 代码时,才需要在此添加密钥(实时 backend 功能即将推出)。该代码通过 process.env 读取密钥。

创建密钥后是否可以查看或编辑?

Section titled “创建密钥后是否可以查看或编辑?”

密钥值默认为隐藏状态。你可以切换显示状态来查看值、更新值,或者删除后重新创建。

AI 可以看到你的密钥名称,但无法看到其值。这使 AI 在构建功能时能够引用正确的环境变量,同时不会暴露敏感数据。

Proyecta 会自动检测常见的敏感密钥模式(API 密钥、token、密码),并在 UI 中对其值进行遮蔽。

SEO & sharing 部分允许你设置:

  • Site title —— 显示在浏览器标签页和搜索结果中
  • Site description —— 用于 SEO 元描述
  • Favicon —— 显示在浏览器标签页中的图标

这些设置保存在你的项目中,并在发布时生效。

Knowledge Base 部分允许你添加参考资料和上下文,AI 在构建应用时会使用这些内容。你可以添加品牌指南、技术规范或任何其他有助于 AI 做出更好决策的文档。

密钥是否经过加密?

密钥存储在你的项目中,对于包含实时 backend 的应用,密钥会同步到相应的 deployment。它们不会出现在你已提交的代码中。

我能为开发环境和生产环境分别设置不同的密钥吗?

目前,密钥同时适用于你的开发运行时和已发布的应用。按环境管理密钥的功能计划在未来版本中推出。

如果我不小心泄露了密钥怎么办?

请立即删除旧密钥,在第三方服务商处撤销该密钥,然后创建一个新密钥。

密钥和连接器有什么区别?

密钥是由你自己管理的原始环境变量。连接器是托管集成,Proyecta 会为你处理凭据存储、身份验证、token 刷新和审计日志。有可用连接器时请优先使用连接器(Stripe、Slack、Resend、ElevenLabs);对于尚无连接器的服务,则使用密钥。