Key不再写进代码库 - 用环境变量接入统一网关,我给团队定的一条硬规矩
为什么管理者应该关心 api_key 放在哪
先讲一个真实场景:团队成员为了调试方便,把 API Key 直接写进了代码,提交到了仓库。后来仓库要开放给外包做二次开发,Key 只能全量作废重发,所有接了这把 Key 的服务都得改一遍配置。半天时间没了,更大的损失是——在那段无人知晓的时间窗口里,这把 Key 暴露在多少人手里,没人说得清。
作为独立开发者或小团队负责人,你可能没有专职的安全团队,但这恰恰意味着密钥管理这件事必须流程化、制度化,而不是靠每个人自觉。
我的做法很简单,就一条硬规矩:Key 永远不进代码、不进仓库、不进聊天工具,只进环境变量。 而为了配合这条规矩,我们把底层也收敛了——不再让每个人自己去各家申请 Key,而是统一走 ThisToken.AI 的多模型网关,全团队只管理一个 Key。
整体思路
变更前后对比一下:
| 事项 | 变更前 | 变更后 |
|---|---|---|
| Key 数量 | 每个模型供应商一把 | 网关一把 |
| Key 存放 | 散落在各人本地配置 | 统一环境变量注入 |
| 换模型 | 改代码、换 SDK | 改一个模型名参数 |
| 人员离职 | 各家控制台逐个排查回收 | 网关侧一处禁用 |
这对管理者意味着三件事:流程可复制、协作有边界、风险可控。
第一步:注册并获取 API Key
- 打开 ThisToken.AI,完成注册;
- 进入控制台,创建一个 API Key;
- 关于模型调用的计费方式,以官网价格页为准,不要依赖网上流传的二手信息;
- 把 Key 存入环境变量,不要存进任何
.py文件。
一个建议:给不同用途(生产、测试、某位成员专属)分别建 Key,这样后面做审计和回收时才有抓手。
第二步:环境变量注入
macOS / Linux:
export THISTOKEN_API_KEY="sk-你的key"Windows PowerShell:
setx THISTOKEN_API_KEY "sk-你的key"团队协作上,我建议把变量名写进项目的 README 和 .env.example(只放变量名,不放值),新人 clone 下来就知道该配什么,不需要来问你。
第三步:跑通第一段代码
以 Python 和官方 OpenAI SDK 为例:
import os
from openai import OpenAI
# Key 只从环境变量读取,代码里没有任何明文密钥
client = OpenAI(
api_key=os.environ["THISTOKEN_API_KEY"],
base_url="https://api.thistoken.ai/v1",
)
resp = client.chat.completions.create(
model="gpt-4o-mini", # 模型名以网关文档支持的列表为准
messages=[
{"role": "system", "content": "你是一个简洁的中文技术助手。"},
{"role": "user", "content": "用一句话解释什么是API网关。"},
],
)
print(resp.choices[0].message.content)注意三个关键点:
api_key来自os.environ,不是字符串字面量;base_url="https://api.thistoken.ai/v1",这一行就是从直连 OpenAI 切到网关的全部改动——因为网关兼容 OpenAI 协议,SDK 无需更换;- 换模型只改
model参数,代码结构不动。
跑通后,团队成员各自的环境变量就位,同一套代码就能在任何人机器上运行。这就是“协作有边界”:代码归代码,凭据归环境。
第四步:管理者要落地的三条防漏措施
1. 仓库侧拦截。 在 CI 里加一个密钥扫描步骤(如 gitleaks),哪怕有人手滑把 Key 写进了代码,提交也会被拦下。规矩要有工具兜底。
2. .gitignore 里加上 .env。 很多泄露不是故意为之,而是 git add . 一把梭的结果。
3. 定期轮换 + 离职即回收。 因为全团队只对接网关一个入口,轮换 Key 时只需要更新环境变量,不用碰任何业务代码——这正是把多供应商收敛成单入口带来的管理红利。
关于成本和审计
统一走网关之后,所有调用集中在控制台一侧,谁在什么时候调了什么模型、消耗了多少,都有记录。对管理者来说,这比省下的单价更值钱——预算异常时你有第一现场,而不是等账单出来才后知后觉。具体计费规则以官网价格页为准。
结语
把 Key 从代码里挪到环境变量,是一个改动量极小、收益极大的治理动作。再配合统一网关,你同时解决了三件事:密钥泄露面收窄、多模型切换零代码改动、调用行为可审计。
如果你正打算给团队做这一步,可以先注册一个账号、拿一把 Key,把上面那段代码跑起来,五分钟就能看到效果:https://api.thistoken.ai/register
---
本文的示例只需一个 API Key 就能复现:在 https://api.thistoken.ai/register 注册即用。