API Key 是程序调用服务时使用的秘密凭据。它可能关联你的账号、权限和费用。把它当成密码保管:只交给可信的后端程序,不放进网页前端、公开代码、截图或聊天消息。

本篇不要求充值、创建真实 Key 或发送 API 请求。我们先区分三种容易混淆的东西,再用练习包里的虚构字符串演练“设置状态检查”和安全轮换流程。虚构 Key 不能访问任何服务。

先分清 Key、额度和限速

名称 它解决什么问题 容易误会的地方
API Key 证明调用程序有权使用某个服务 Key 本身不等于已经买到多少额度;拿到 Key 也不表示所有模型都能用
余额、免费额度或套餐 决定哪些调用可以使用以及如何计费 会员权益、API 余额和编程套餐可能属于不同产品,不能仅凭品牌相同就认为互通
速率限制 限制一段时间内的请求速度或并发量 限速不是费用上限;慢慢发请求仍可能持续产生用量费用

DeepSeek 的 API Key 要从开发者平台创建;它与网页聊天入口不是同一个接入流程。DeepSeek 的 API FAQ列有按 Key 查看用量及 Key 泄露后的处理说明。Kimi API 开放平台也明确与 Kimi 会员、Kimi Code 分开。先确认页面顶部显示的是你准备使用的产品和区域,再创建 Key。

创建 Key 时要核对什么

每家平台的页面名称会变化,按它当前的官方指引操作。一般流程是:

  1. 从服务商官网进入开发者控制台,不通过陌生邮件或搜索广告里的仿冒入口登录。
  2. 打开 API Key 或凭证管理页,选择正确的账号、工作空间和区域。百炼不同区域的 Key、接口地址和模型列表可能相互隔离;Kimi 中国站与国际站的账户和 Key 也不能混用。
  3. 为 Key 写清用途,例如“个人练习-本地脚本”,并在平台支持时限制权限、模型或来源地址。
  4. 创建后按页面提示复制并立即存入受控的密码管理器或密钥管理服务。不要把它发给协作者、粘贴到 AI 对话或留在剪贴板历史中。
  5. 先查看费用、免费额度、套餐和预算设置,再决定是否发送真实请求。创建 Key 和调用 API 是两件事;本篇只演练前者的安全习惯,不要求你现在创建。

一个项目一把 Key,开发和生产环境分开,能让你更容易识别异常用量并单独轮换。若平台提供按 Key 预算、告警或停用功能,可以按需要配置;权限和预算选项以你的账号实际页面为准。

把 Key 放在哪里

本机开发时,可让程序从环境变量或系统密钥管理器读取 Key。团队或线上服务优先使用部署平台的 Secret/密钥管理功能。.env 文件只适合本机临时开发,必须加入 .gitignore,且不能同步到网盘、公开仓库或截图。

# .env.example:可以提交,值只是提示
DEMO_API_KEY=replace-with-a-fake-value

真实 Key 不要填进 .env.example。也不要写在 HTML、浏览器 JavaScript、手机 App 包、公开仓库或命令行参数里:用户可以查看网页源码、安装包或进程信息。需要让网页或 App 调用模型时,应让自己的服务端持有 Key,再由服务端按权限处理请求。

运行练习包时只用给定的 demo-not-a-real-key。脚本只报告“已设置/未设置”,不会打印传入值,也不会联网:

cd api-key-practice
DEMO_API_KEY=demo-not-a-real-key python3 key_hygiene.py

Windows PowerShell:

cd api-key-practice
$env:DEMO_API_KEY = "demo-not-a-real-key"
py key_hygiene.py
Remove-Item Env:DEMO_API_KEY

预期输出:

状态:已设置(内容已隐藏)
本练习不会发送网络请求,也不会保存 Key。

你也可以先不设置变量,直接运行脚本,确认它提示“未设置”。这两个结果只检查本机环境变量,不证明平台 Key 有效、余额充足或接口可用。真实 Key 不要用本示例的命令行赋值方式练习;先选用可信的本机密钥存放方式,并确保终端记录、脚本日志和子进程不会暴露它。

额度与账单这样检查

准备调用之前,先查看目标平台当前的模型单价、免费额度有效期、套餐适用范围、按量计费方式和自动续费状态。单价或免费额度会变化,文章中的链接用于找到官方入口,不应当作固定报价。

百炼支持按账号、业务空间或 API Key 设置月度预算和提醒;它的官方说明也指出,预算自动停止可能有延迟,且不覆盖所有费用类型。设置停机额度可能让业务中断,仍要查看账单和用量记录。DeepSeek 可在开发者平台的用量/余额页面核对调用;Kimi API、Kimi Code 和 Kimi 会员的 Key 与权益彼此独立。遇到网络超时,不要马上连点重试:先查调用记录和账单,确认请求是否已到服务端。

若收到 HTTP 401,先核对 Key 是否来自正确产品、区域和环境;错误码不应通过反复粘贴 Key 来排查。HTTP 402 或额度提示则查看账户余额与适用套餐;429 可能是速率限制,也可能有其他原因,读服务端返回的具体错误。参照服务商当前的DeepSeek 错误码说明或对应平台文档处理。

发现泄露后,按这个顺序处理

  1. 立刻在服务商的 Key 管理页停用或删除泄露的 Key;如果控制台提供“重置/吊销”,依照该平台当前步骤执行。不要等到确认有人滥用后才处理。
  2. 检查近期用量、账单和请求日志,记录异常时间、模型和 Key 标识;不要在工单或截图里附上完整 Key。
  3. 在受信任环境创建新 Key,更新使用它的服务,再逐个确认新配置生效。
  4. 从代码、日志、配置和共享文件中清除泄露值。若已提交到 Git,删除当前文件还不够,历史提交、分支和克隆副本也可能保留;Key 仍须先吊销。
  5. 再查看账单和告警。若出现未授权费用,联系服务商并提供脱敏的时间、请求 ID 和 Key 标识。

轮换不是“把旧字符串替换成新字符串”就结束:必须使旧 Key 失效,确认合法服务已切换,并检查泄露期间是否发生异常调用。各平台按钮位置不同,操作前查看对应控制台和官方 FAQ。

完成本次练习

下载API Key 安全练习包,解压到名为 api-key-practice 的文件夹,并在该文件夹打开终端。按 README 运行虚构值检查,再用 --self-test 做内置自检。检查点只有三项:已设置值不会被显示;缺失值会被报告;练习不会发出网络请求。完成后删除练习中自行创建的虚构环境变量。

本机复核使用 Python 标准库和虚构字符串,运行脚本及自检均未连接外网、创建真实 Key、调用模型、充值或购买套餐。页面字段和费用政策会变动;开始真实调用前,请重新核对服务商官方控制台、定价和预算说明。封面背景由本机 AI 生成,标题为后期排版。