> ## Documentation Index
> Fetch the complete documentation index at: https://docs.avibe.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Vaults

> 让 Agent 在受控条件下使用密钥，同时不让 Avibe 自身的 Vault 响应返回密钥值。

**Vaults** 让 Agent 使用凭证，但 Avibe 不会通过 Vault 响应暴露它的值。Agent 只按名称、标签或 Skill 标签引用密钥；Avibe 在凭证真正被使用的边界上处理存储、策略、授权与交付。

## 核心规则

Avibe 的 Vault API 只返回名称、不含值的元数据、授权状态或公开签名，不返回密钥值。只要接收密钥的命令不自行打印或以其他方式泄露它，密钥值就不会进入聊天或模型上下文。

`vibe vault run` 无法清理子进程的 stdout 或 stderr。如果子进程打印环境变量，或在诊断输出中带出凭证，这些输出可能返回 Agent 并进入模型上下文。因此，只运行你确认不会泄露密钥输出的命令。

对于静态密钥，Avibe 可以把值注入子进程，或附加到一次经过认证的 HTTP 请求上。对于签名密钥，私钥始终留在托管层，返回的只有公开签名。

## 标准档与保护档预览

| 保护级别    | 状态    | 使用时会发生什么                                     |
| ------- | ----- | -------------------------------------------- |
| **标准档** | 已上线   | Agent 可以按策略使用；也可以把某个条目设置为每次先询问。              |
| **保护档** | 上线前预览 | 目标流程会展示本次具体操作，要求你批准并用 passkey 解锁。暂时不要存入真实凭证。 |

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

## 静态密钥与密钥对

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

## Agent 缺少密钥时

1. Agent 用密钥名称、用途和不含秘密的元数据创建请求。
2. 请求出现在 Workbench 的 **Vaults** 中。
3. 你检查请求，选择标准档，并在浏览器里填写值。当前构建中的保护档仅供预览。
4. 密钥就绪后，Avibe 恢复发起请求的 Agent Session。

这样，即使是 Agent 自己发现需要某个凭证，凭证值也不会进入请求和设置对话。

## 常用命令

```bash theme={null}
vibe vault list
vibe vault request OPENAI_API_KEY --reason "需要访问 OpenAI API"
vibe vault run --env OPENAI_API_KEY -- python sync.py
vibe vault fetch --auth GITHUB_PAT --url https://api.github.com/user
vibe vault sign WALLET_KEY --digest 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```

当 Agent 应该按元数据而不是准确名称选择时，使用 `vibe vault find` 和 `vibe vault tags`。

CLI 总览见[命令参考](/zh/reference/commands)。
