操作教程

API Key是什么?怎么用、填在哪里与泄露后处理

先看答案

先确认 Key 来自哪个服务、客户端要求哪种认证头,再放入客户端的安全配置或环境变量。OpenAI-compatible 接口常用 Authorization: Bearer,Anthropic 接口常用 x-api-key;Key 不能跨服务混用,也不能出现在网页、仓库、截图或聊天中。最后用最小请求和控制台记录验收。

本文目录 · 跳到当前步骤

创建:先认清凭证属于哪个服务

API Key 是程序调用服务的凭证,不是登录密码、模型名,也不是 ChatGPT 或 Claude 的订阅。先打开自己使用的服务控制台,确认账户归属,再进入 API Key 或凭证管理页创建。按钮、权限选项和密钥展示方式以该服务当前页面为准。

创建时使用能辨认用途的名称,例如“本机 Codex 练习”。如果服务支持权限、有效期或预算限制,只授予本次任务需要的范围。创建后按页面说明保存在受控位置;如果完整值只显示一次,应当场保存,后续忘记时重新创建,不向客服索取其他人的密钥。

同时记录三个不含秘密的信息:服务名称、该 Key 的用途、创建日期。Base URL、模型 ID 和协议也必须来自同一服务的接入说明。官网账户的 Key 不能因为模型名字相同就直接用在第三方网关;第三方 Key 也不能拿到官网请求验证。

还没有选定服务时,先看小贺API的适用范围与购买前说明。已经有兼容服务的读者可以继续使用自己的服务,不需要为完成本文重新注册。

填在哪里:按实际客户端选择一个入口

你使用的方式 应填写的位置 下一篇操作教程
CC Switch 管理 Codex Codex 标签中的目标供应商凭证字段;若服务支持自动导入,先检查导入项再启用 导入、启用与验证
Codex 手动配置自定义 Provider 用户级 config.toml 中 env_key 指定环境变量名称;真实 Key 放进该变量,并确保启动 Codex 的进程能读取 Codex手动API配置
Claude Code 接第三方网关 按网关要求设置对应环境变量或客户端设置;ANTHROPIC_AUTH_TOKEN 与 ANTHROPIC_API_KEY 的请求头含义不同 Claude Code网关配置
自己写服务端程序 服务端环境变量或凭证管理设施;按实际接口协议构造认证头 API配置基础

Codex 自定义 Provider 中,env_key 填的是变量名,不是完整密钥。例如配置中写 env_key = "MY_API_KEY",表示客户端去读取名为 MY_API_KEY 的环境变量;不要写成 env_key = "真实密钥"。用户级配置通常在 ~/.codex/config.toml;Windows 对应用户目录下的 .codex/config.toml。不要为改第三方配置删除或公开 auth.json。

Claude Code 网关可能要求 Bearer Token,也可能要求 API Key 请求头。ANTHROPIC_AUTH_TOKEN 用于 Bearer 认证,ANTHROPIC_API_KEY 对应 API Key 认证。按当前网关说明选用,别把两个变量全填上碰运气,也别把浏览器 Cookie 当成调用凭证。

安装后仍在旧终端中运行、桌面应用未继承终端变量,都会造成“我已设置但它没读取”。修改后重新打开实际使用的客户端,并核对配置作用范围。不要通过打印完整环境变量、截图整个配置文件来证明已填写。

验证:一次最小请求与一次记录核对

先选没有敏感数据的练习目录,使用刚配置的客户端发起一个只读任务:

text
只列出当前练习目录中的文件名,不修改文件,不安装依赖,不访问外部网站。
信息不足时直接说明,不要推测项目内容。

检查回答与目录是否相符、有没有认证或接口错误、文件有没有意外变化。若服务提供请求或用量记录,用测试时间、模型和脱敏 request_id 对照本次调用。模型自述的供应商或名称不能作为请求归属证据;记录可能有延迟,没有记录时不要断言计费方已确认。

一种判断例子:你刚创建了供 Codex 使用的 Key,CC Switch 也显示已保存,但调用仍然是旧服务。此时应检查是否启用了新 Provider、是否重启同一客户端、是否有配置覆盖。新 Key 出现在列表里只能证明创建或保存动作完成,不能证明它已被实际请求使用。

失败判断:不要把所有报错都当成余额问题

现象 先核对 应去哪里继续
401、未认证 是否带入空格或换行、Key 是否撤销或过期、服务与地址是否匹配、认证方式是否正确 401与403排查
403、无权限 当前服务对账户、模型、区域或资源的授权;保留错误体 同上,区分认证成功但权限不足
404、模型不存在 最终请求路径、接口协议、模型 ID,而非一律换 Key 地址与/v1
429、请求受限 返回限制的是哪个服务;频率、并发和额度错误分别处理 429与额度排查

求助只提供客户端和版本、服务名称、发生时间、状态码、脱敏错误和 request_id(如果有)。隐藏完整 Key、Token、密码和认证缓存。不要把原始日志整包上传后才检查其中有没有秘密。

撤销:泄漏后先失效,再清理

发现密钥出现在公开仓库、网页源码、截图或聊天记录时,先到签发该 Key 的服务控制台撤销或禁用。仅删除聊天消息、清理截图或改客户端配置,不会让旧密钥自动失效。

随后创建新 Key,更新确实使用它的客户端或服务端,重启并重新做最小验证。确认新 Key 可用后,检查所有依赖方是否都迁移了;不要因为仍有一个旧进程报错就恢复已泄漏的 Key。

最后清理公开副本、日志和仓库历史中的秘密,并核查服务提供的用量记录。若怀疑异常调用,向签发服务提交脱敏时间范围和记录;费用处置按其实际政策沟通,本文不承诺撤销一定消除已经发生的费用。

撤销完成的验收是:控制台显示旧 Key 已撤销或禁用,新客户端完成最小任务,旧凭证不再用于后台进程,公开材料没有完整值。清理和换 Key 是两个动作,都要完成。

资料来源

FAQ

API Key可以填在Base URL里面吗?

不可以。Base URL是接口地址,Key是认证凭证,应放在客户端指定的凭证字段或环境变量中。不要把Key拼进URL。

删除截图就能让泄漏的Key失效吗?

不能。先到签发服务的控制台撤销或禁用旧Key,再创建新Key并更新客户端,最后清理截图、日志和公开副本。

继续阅读

下一步