Busabase

Vault & Secrets

为 Busabase 托管运行时保存 Secrets、Variables、作用域覆盖和可审计访问。

Vault & Secrets

Busabase Cloud Vault 用于保存凭据、token、账号 ID、模型设置、Webhook secret,以及任何 Busabase 托管代码应该从 runtime context 读取、而不是硬编码的配置。

Busabase Cloud Vault Secrets

Secrets 和 Variables

Secrets 用来保存敏感值,例如 API key、签名 secret、OAuth token、密码、私有凭据。Secret 默认会被遮罩,只有拥有 Reveal access 的用户显式 reveal 后才能看到明文。

Variables 用来保存不敏感的运行时配置,例如 provider 名称、模型名、默认区域、账号别名、feature flag。

名称必须使用大写字母、数字和下划线,例如 EMAIL_API_KEYEMAIL_PROVIDERMODEL_PROVIDER

Scope 模型

当前 Busabase Cloud UI 支持三种 Vault 作用域:

User defaults 属于你的账号,是 Busabase 代表你执行代码时使用的默认值。

Space overrides 属于一个 workspace,会在这个 Space 内覆盖同名的用户默认值。

Busabase Cloud Vault Space overrides

API key overrides 属于单个 API key。当请求使用这个 key 认证时,会覆盖同名的 User 和 Space 值。

运行时优先级是:

API key overrides > Space overrides > User defaults

例如,把 EMAIL_PROVIDER=resend 设为用户默认值,把 MODEL_PROVIDER=openai 设为某个 Space 的覆盖值,再为两个 API key 分别设置不同的 EMAIL_API_KEY,同一个 email Skill 就能连接两个独立发信账号。

Vault 数据模型也预留了 Base、Agent、Tool 作用域,之后可以继续做更细粒度覆盖。当前 Cloud UI 先开放 User、Space、API key。

配置 Vault 项

  1. 打开 Account Settings
  2. 进入 Vault
  3. 选择 User defaultsSpace overridesAPI key overrides
  4. 选择 SecretsVariables
  5. 填写 name、value、可选 description 和 access 设置。
  6. 保存这组 Vault。

覆盖值是可选的。如果当前 scope 没有某个名称的值,Busabase 会继续回退到下一层 scope。

Access 权限

每个 Vault 项都有四个显式能力:

Runtime 允许 Busabase 托管执行读取并使用这个值。

Reveal 允许授权用户在 UI 中 reveal 存储的 secret 明文。

Edit 允许授权用户更新或删除这个项。

Share 预留给后续共享和委托流程。

Busabase 会审计 Vault 的创建、更新、删除、reveal 和 runtime read,这样团队可以追踪谁创建了值、谁在运行时使用了值、谁 reveal 过 secret。

运行时行为

Busabase Cloud 会在 session 或 API key 认证通过后,由服务端解析 Vault runtime values。SDK、REST、MCP 客户端不会调用公开 Vault endpoint,也不会直接拿到 secret 明文。

import { getContextVaultRuntimeValue } from "busabase-core/context";

const emailApiKey = getContextVaultRuntimeValue("EMAIL_API_KEY");

Session 认证请求会收到 User defaults 和当前 Space overrides。API key 认证请求会收到 User defaults、Space overrides,以及匹配的 API key overrides。

开源版 apps/busabase 使用 single-player Vault:因为没有登录系统,本地 user scope 和本地 Space scope 都是固定的。

API 边界

这里没有公开的 GET /api/v1/vault secret endpoint。Vault 只在 Account Settings 里管理,并只在 Busabase Cloud 服务端运行时消费。

迁移说明

旧运行时配置存储只保留作迁移兼容;等 Vault 迁移确认完成后再考虑 drop 旧表。新的文档、UI、runtime context 和 API contract 都统一使用 Vault & Secrets

On this page