跳转到主要内容
Vaults 让 Agent 使用凭证,但 Avibe 不会通过 Vault 响应暴露它的值。Agent 只按名称、字段、标签或 Skill 标签引用密钥;Avibe 在凭证真正被使用的边界上处理存储、策略、授权与交付。

核心规则

Avibe 的 Vault API 只返回名称、不含值的元数据、授权状态或公开签名,不返回密钥值。只要接收密钥的命令不自行打印或以其他方式泄露它,密钥值就不会进入聊天或模型上下文。 vibe vault run 无法清理子进程的 stdout 或 stderr。如果子进程打印环境变量,或在诊断输出中带出凭证,这些输出可能返回 Agent 并进入模型上下文。因此,只运行你确认不会泄露密钥输出的命令。 对于静态密钥,Avibe 可以把值注入子进程,或附加到一次经过认证的 HTTP 请求上。对于签名密钥,私钥始终留在托管层,返回的只有公开签名。

标准档与保护档预览

保护档 Vault 的设计目标是端到端加密托管,但当前构建尚未启用真实用户所需的不可变 sandbox 完整性门禁。界面用于展示 passkey 流程;门禁启用前,保护档不得存放生产凭证、钱包或其他真实密钥。

静态密钥与密钥对

  • 静态密钥——API key、token、密码或连接串。用 vibe vault run 注入当前子进程的环境,或用 vibe vault fetch 发起经过认证的 HTTP 请求。
  • 密钥对——部署签名密钥。私钥不可导出,也不能用于 run 或 fetch;使用 vibe vault sign 对 32 字节摘要签名。保护档密钥对同样受上述上线前限制。

多字段密钥

一条静态密钥可以存多个命名字段,就像密码管理器里的一个条目——例如一个账号的 username、password 和 totp。其中一个字段是默认字段。只填一个值创建的密钥,只有一个名为 value 的默认字段。
  • 只有静态密钥有字段;密钥对只保存它的一把密钥。
  • 字段名使用小写字母、数字和下划线,以字母开头。每条密钥最多 32 个字段。
  • 默认字段在创建密钥时选定,之后可以改名,但不能改成别的字段。
  • NAME 指默认字段,NAME.field 指某个命名字段;NAME.<默认字段名> 同样指默认字段。
  • 批准一条密钥即覆盖它的全部字段;按 --tag 或 --skill 选择时,会交付每条选中密钥的全部字段。
vibe vault run 这样命名环境变量: vibe vault fetch --auth NAME.field 把该字段的值附加到请求上;允许的域名和认证方式仍由密钥的策略决定。 在 Vaults 里新建密钥时可以添加字段,也可以点用模板,选登录(username、password)或登录 + 两步验证(username、password、totp)。编辑区会显示 Agent 引用每个字段的写法。对已有密钥,你可以替换任一字段的值、添加或移除字段,并修改默认字段的名称;其他字段名不能修改,要改名请移除后重新添加。替换、添加或移除值会使这条密钥已有的授权失效;修改默认字段名称不会。 Agent 可以在一次请求里申请多字段密钥:

Agent 缺少密钥时

  1. Agent 用密钥名称、用途和不含秘密的元数据创建请求。
  2. 请求出现在 Workbench 的 Vaults 中。
  3. 你检查请求,选择标准档,并在浏览器里填写值。当前构建中的保护档仅供预览。
  4. 密钥就绪后,Avibe 恢复发起请求的 Agent Session。
这样,即使是 Agent 自己发现需要某个凭证,凭证值也不会进入请求和设置对话。

Agent 申请删除密钥时

Agent 不会自行删除密钥。vibe vault remove NAME 只会创建删除申请,在你决定之前密钥保持不变。
  1. 申请出现在 Vaults 中,也会作为审批卡片出现在 Chat 里,显示密钥名称、描述、标签和 Agent 给出的理由。多字段密钥的卡片还会列出将被一并移除的全部字段。
  2. 删除会移除整条密钥。保护档密钥和签名密钥需要长按删除 5 秒;其他密钥点一下即可。
  3. 拒绝会保留密钥。
  4. Avibe 会把结果告诉发起申请的 Session。同一条密钥已有待处理申请时,Agent 再次申请会拿到这条已有申请。
删除需要实例管理权限;能查看申请的人都可以拒绝。Agent 不能单独删除某个字段——vibe vault remove NAME.field 会被拒绝——请在 Vaults 中自行移除字段。

查找密钥

Vaults 的搜索框会匹配名称、描述、标签、Skill、允许的域名、字段名和 NAME.field 引用,不会匹配密钥值。输入多个词时,必须全部命中。按 / 聚焦搜索框,按 Esc 清空。
  • 标签可以按一个或多个标签或 Skill 筛选,按使用它们的密钥数量排列。选了多个标签时,密钥必须同时带有全部标签。
  • 快捷筛选可以显示全部、保护档、签名密钥或从未使用的密钥;列表可以按名称、最近使用或最近添加排序。
  • 搜索、筛选和排序会写进页面网址,刷新或分享链接时保持同一视图。
Agent 用 vibe vault find 搜索同样不含值的元数据。

在 macOS 上授权 avault

在 Mac 上,avault 把加密标准档密钥的那把密钥保存在你的登录钥匙串里。avault 0.1.8 起由 Avibe 签名;对由更早的 avault 创建的密钥,macOS 会先询问一次,才允许新签名的 avault 读取。Avibe 会自动安装签名版 avault,所以在这次更新之后、你批准之前,Vault 无法使用这把密钥:
  1. Vaults、设置 → 依赖和 vibe doctor 会提示 avault 需要一次性授权。遇到这种情况的 Vault 请求会以 avault_authorization_required 失败,Agent 会被告知请你来授权,而不是反复重试。
  2. 选择授权 avault,或在那台 Mac 桌面的终端中运行 vibe vault key authorize。
  3. macOS 对话框会出现在运行 Avibe 的 Mac 上,而不是你的浏览器里。输入那台 Mac 的登录密码,并选择始终允许。
之后签名版 avault 的更新不会再询问。如果选择了拒绝或关闭了对话框,macOS 约两分钟内不会再次显示。对话框需要那台 Mac 上有已登录的桌面会话:远程使用时,请通过屏幕共享操作那台 Mac 或请现场的人协助,并使用授权 avault,而不是通过 SSH 运行 vibe vault key authorize。Avibe 不会自行弹出对话框:只有这个明确的操作才会;Agent 会请你来操作,而不是自己发起。

常用命令

当 Agent 应该按元数据而不是准确名称选择时,使用 vibe vault find 和 vibe vault tags。 CLI 总览见命令参考。