# 我的 API 密钥和凭据存在哪里？ (/zh/connect/vault)



## 什么是 Vault？ [#什么是-vault]

Vault 是你在工作区中存放凭据——token、密码、密钥——的地方。密文加密存储、默认隐藏，你可以在自己设定（且可撤销）的信任策略下，把使用某个凭据的**访问权限**授予队友和 AI 队友，而无需交出所有权。

<LivePreview component="Vault" />

## 为什么 Vault 很重要 [#为什么-vault-很重要]

### 问题：凭据暴露在外 [#问题凭据暴露在外]

AI 队友需要真实的凭据——API key、token、密码——才能真正干活，但一旦开始分发就没有自然的止损点。把一个密文预先共享给所有可能需要它的人（"以防万一"），你就搞不清楚谁真的有访问权，也没法只撤销某一个人的访问而不动到其他人，密文本身还一直暴露在外。

### 方案：有归属、加密、可授权 [#方案有归属加密可授权]

Vault 里的每个凭据都只有一个所有者。密文默认加密并隐藏——显示密文需要明确确认，明文只在你离开详情视图之前才可见。使用凭据的权限可以和拥有凭据本身分开授予：既可以在信任策略下直接共享——\*\*trusted（信任）\*\*用于反复使用，&#x2A;*one-time（一次性）**用于单次释放，还能加设到期时间——也可以发布为**可申请（requestable）**，让 AI 队友发现并申请它真正需要的那个凭据，全程看不到真实名称或密文。

## Vault 如何运作 [#vault-如何运作]

打开**设置**，在工作区设置下进入 **Vault**。

## 三个标签页 [#三个标签页]

| 标签                       | 显示内容                 |
| ------------------------ | -------------------- |
| **My credentials（我的凭据）** | 你拥有的凭据               |
| **Shared with me（共享给我）** | 队友或 AI agent 共享给你的凭据 |
| **Shared by me（我共享的）**   | 你授予他人的外发访问权限         |

## 添加凭据 [#添加凭据]

点击 &#x2A;*Add credential（添加凭据）**，命名后选择类型：

* **Token** — 单个密文字符串（API key、access token）
* **Password** — 用户名或邮箱配密码
* **Keypair** — 私钥，附可选的公钥
* **Multi-field** — 多个具名密文字段一起存储

密文在保存时加密，默认不会出现在列表或详情中。你也可以在创建时一并共享，或保持私有。

## 操作凭据 [#操作凭据]

打开某个凭据，在其详情视图中管理：

* **Reveal secret（显示密文）** — 密文默认锁定（`••••••••`），需确认后才显示；离开详情视图前一直可见
* **Copy（复制）** — 将密文复制到剪贴板
* **Edit（编辑）** — 仅更新元数据（名称、描述、标签）
* **Rotate（轮换）** — 替换密文，同时保留凭据身份及其共享关系
* **Share（共享）** — 向队友或 AI agent 授予访问权限
* **Delete（删除）** — 删除凭据并撤销所有已共享访问（不可撤销）

<Callout type="warn">
  显示密文会把明文呈现在屏幕上，直到你离开详情视图。请勿在共享屏幕或录屏中显示凭据。
</Callout>

## 真实场景 [#真实场景]

以下每一条都是 Vault 实际支持的工作流，不是假设：

* **把部署密钥共享给编码队友** — 授予信任访问，比如把 GitHub deploy token 直接交给队友使用，等项目结束或队友角色变化时，从凭据详情视图撤销。
* **让 AI 队友自己申请所需凭据** — 与其把凭据预先共享给所有可能需要的人，不如把它发布为可申请，队友发现预览后，只在工作真正需要时才申请访问。
* **只释放一次密文，而不是一直有效** — 当凭据只应该被使用一次时，选择 one-time access，用完即被消耗，而不是一直保持可用。
* **在 Inbox 里批准一条申请** — 队友申请可申请凭据时，请求会以审批卡片的形式出现在该队友的频道里，并同步进入你的 Inbox，你在那里批准或拒绝。

## 好处 [#好处]

| 好处      | 说明                                         |
| ------- | ------------------------------------------ |
| 归属明确    | 每个凭据只有一个所有者；共享只授予访问权限，绝不转移所有权              |
| 默认加密    | 密文默认加密并隐藏，除非你主动显示                          |
| 随时可撤销   | 在 **Shared by me** 或凭据自己的详情视图里随时撤销访问       |
| 策略约束的共享 | 选择 trusted（反复使用）或 one-time（单次释放）访问，可加设到期时间 |
| 可发现但不暴露 | 可申请凭据让 AI 队友能找到并申请凭据，而看不到真实名称或密文           |

## 凭据管理建议 [#凭据管理建议]

| 建议            | 说明                              |
| ------------- | ------------------------------- |
| 给凭据起具体的名字     | 在共享或发布之前，用队友能认出用途的名称            |
| 共享时写清楚真实理由    | 理由会进入审计记录，帮助之后的审查者理解这条授权为什么存在   |
| 不再需要时及时撤销     | 项目结束、队友角色变化、或凭据轮换时都应该撤销         |
| 不确定谁会用就发布为可申请 | 与其提前猜测谁需要直接访问，不如发布一份安全预览        |
| 不要在共享屏幕上显示密文  | 明文会一直可见直到你离开详情视图，只在没人能看到你屏幕时再显示 |

## 常见问题 [#常见问题]

**共享凭据会交出所有权吗？**
不会。共享只在你设置的策略下授予使用权限，不会转移所有权，真人接收方也不能编辑、轮换、二次共享或删除这个凭据。

**Trusted 和 one-time 访问有什么区别？**
Trusted access 允许反复使用；one-time access 释放一次密文之后就被消耗。直接共享时由你自己选择策略；凭据可申请时，策略由队友的申请指定。

**AI 队友在我批准申请之前，能看到凭据的真实名称吗？**
不能。可申请凭据只发布预览名称和描述；真实名称、元数据和密文在你批准请求之前都保持私有。

**怎么停止某人的访问权限？**
打开 **Shared by me**，或凭据详情视图的共享区域，点击 **Revoke access**。

**删除凭据会发生什么？**
删除凭据会移除它并撤销所有已共享的访问权限，这个操作不可撤销。

<Cards>
  <Card title="共享凭据" href="/connect/vault/share-credentials-with-teammates" description="授予信任或一次性访问，可设到期与撤销。" />

  <Card title="可申请的凭据" href="/connect/vault/requestable" description="让 AI 队友安全地发现并申请访问。" />
</Cards>
