管理 API 密钥
本指南说明 Control Center 使用的每一项凭据存放在何处,以及如何更换它们。
**你正在输入的设备上不存储任何内容。**所有凭据都存放在服务器上;某个请求由哪一项凭据应答,取决于它背后是否有真人。
| 凭据 | 存储位置 | 使用者 |
|---|---|---|
| 你的代码托管 / 工单凭据 | 服务器的 0600 密钥文件,以你的用户 id 为键 | 你请求的任何操作:PR 界面、你的智能体运行、你的镜像 |
| 服务器的应用身份 | 同一个文件,非机密项则放在 server_settings |
没有真人发起的作业:webhook、PR 轮询、工单同步 |
| 模型提供商密钥与 OAuth 令牌 | 服务器自有的凭据存储 | 内置适配器,服务于该安装上的每个工作区 |
| Slack 机器人令牌 | 服务器上的 <dataDir>/<workspaceId>/chat_credentials/ |
该工作区的聊天桥接 |
| 外部 CLI 凭据 | 该 CLI 自身使用的存储 | 服务器主机上的 Claude Code |
两种 GitHub 凭据,回答不同的问题
标题为“两种 GitHub 凭据,回答不同的问题”的部分- 你自己的凭据,来自登录(设备流程)或粘贴令牌。所有代表你发出的请求都用它,因此以你的名义发表的评论会带上你的名字。其他成员无法读取它,他们会连接自己的凭据
- 服务器的凭据,来自操作者注册的 GitHub App。它应答一切没有调用者的请求——因此当某个人离开或轮换令牌时,代码托管访问不会消失
你的凭据在 设置 → 工作区 → 个人资料与身份 的代码托管卡片中设置;服务器的凭据在 设置 → 服务器 → 单点登录 的提供商应用中设置。参见设置 GitHub 集成和创建 GitHub App。
设置模型提供商密钥
标题为“设置模型提供商密钥”的部分内置适配器自行完成对提供商的认证,这些凭据存放在服务器上。
- 前往 设置 → 服务器 → 模型提供商
- 滚动到提供商与模型
- 连接提供商——OpenAI、Codex、Cursor 和 Kimi Code 使用浏览器 OAuth;Anthropic 及其他使用 API 密钥
完整列表以及添加自定义端点的方法,参见管理适配器与模型。
这些凭据是主机全局的:一个密钥服务于该安装上的每个工作区。OAuth 令牌会在过期前刷新。
外部适配器 CLI 在服务器主机上以自己的配置保存自己的凭据——Control Center 不管理它们。请按照 Claude Code 自身文档的说明,在运行 cc_server 的机器上完成认证。
每个适配器的环境变量对话框看起来像是为其中之一放置密钥的地方,但事实并非如此:它写入你的设备,而服务器读取自己的副本,两者之间没有任何桥接。参见管理适配器与模型。
连接工单系统供应商
标题为“连接工单系统供应商”的部分设置 → 工作区 → 通用 中的工单系统卡片包含同一个决定的两半:你的工单存放在哪个供应商,以及它的凭据。选择本地会隐藏凭据行——本地工单存放在该服务器自己的数据库中,没有任何需要认证的对象。
你的密钥与代码托管凭据一样,按你的用户 id 存储在服务器上。服务器单独保存自己的 Linear 密钥(提供商应用),当没有真人发起时,工单同步就是用它运行的。智能体的沙盒中不会注入任何工单密钥;智能体通过 Control Center 的工具写工单,这些工具会询问写入外部跟踪器规则。参见设置 Linear 集成。
轮换或吊销
标题为“轮换或吊销”的部分- 你的 GitHub 凭据:按断开连接,然后重新登录或粘贴新令牌。在 GitHub 上吊销旧凭据
- 服务器的应用:在该应用的 GitHub 页面上生成新的私钥或客户端密钥,粘贴到提供商应用中并按测试
- 某个模型提供商:在其所在行上退出登录(OAuth)或移除密钥,然后重新连接
- Slack:在连接对话框中重新粘贴令牌。参见设置 Slack 集成
故障排查
标题为“故障排查”的部分PR 列表为空,但我的令牌在 curl 中可用
标题为“PR 列表为空,但我的令牌在 curl 中可用”的部分检查代码托管行的副标题。如果它显示的是另一个来源(“通过此服务器的应用”、“来自环境”),那么你正在测试的凭据并不是在应答的那一个——你的凭据没有被保存。
令牌被接受,但后续请求失败
标题为“令牌被接受,但后续请求失败”的部分令牌在存储时会接受探测,因此该行会显示它背后的账号——但只显示账号,不显示作用域。作用域不足的令牌可以连接,随后却会在个别请求上失败。检查作用域和有效期:
curl -H "Authorization: token YOUR_TOKEN" https://api.github.com/user