Provider 配置
在 agent 代码能运行之前,它需要知道请求发到哪里、用哪个密钥授权、以及调用哪个模型。这一页就是要把这三个值配置到位。
你的 API 密钥是一份凭证
把它当密码一样对待。永远不要把它粘贴进 JavaScript 文件,永远不要提交它,也永远不要在 Discord 求助消息里发出来。任何拿到你密钥的人都能花掉你的额度。
正是出于这个原因,这门课要求所有 API 调用都在服务器端完成,而不是在浏览器里。浏览器里的代码任何人打开开发者工具都能看到,所以放在那里的密钥等于是主动泄露给别人。
检查你已经有的配置
如果你上过 Intro to AI Engineering,这些变量可能还保存在你的 Scrimba 账户里。
在 Scrimba 编辑器里打开 Settings,然后选择 Edit Environment。你要找的是三个名称完全一致的条目:AI_URL、AI_KEY 和 AI_MODEL。
如果三个都在,并且指向的服务商你还有额度可用,那你大概已经可以直接开始了。跳到推荐模型去确认一下 AI_MODEL 里的模型支持 tool calling,因为这门课对这一点的要求比上一门更严格。
如果缺了某个值,或者你想换个服务商,接着往下看。
检查一下只要十秒钟,却能帮你省掉一次没必要的重新注册!
选哪个服务商
这门课默认使用 OpenAI。Responses API 就是源自它的 API,使用它需要 API 额度。费用取决于模型、请求大小以及你实验的强度,所以在充值一个你能接受的金额之前,先查一下当前的定价。
如果你不能用或不想用 OpenAI,OpenRouter 是替代方案。它是一个统一的 API,能路由到许多服务商,包括免费档模型,而且它用的是同样兼容 OpenAI 的请求格式,所以课程代码不需要改动。
不管选哪个,配置流程都是一样的:创建账户、生成密钥,然后保存服务商的 URL、你的密钥和一个模型 ID。
如果在你所在的地方直接给 OpenAI 付款不方便,或者你想先试试免费模型,就选 OpenRouter。
配置 OpenAI
前往 OpenAI developer platform,登录或创建账户。
ChatGPT Plus 不等于 API 额度
开发者平台的计费和 ChatGPT 订阅是分开的。有 ChatGPT Plus 并不会给你的 API 账户带来任何额度,几乎每个人都会在这里踩一次坑。
在平台设置里打开 Billing,如果账户里没有额度就充值一些。查一下当前的模型定价,设定一个符合你自己使用量的预算。
现在打开平台设置里的 API keys,选择 Create new secret key。给它起一个三个月后你还能看懂的名字。密钥创建后立刻复制下来,因为完整的值只会显示一次,之后无法再取回。
回到 Scrimba,打开 Edit Environment,设置:
AI_URL=https://api.openai.com/v1
AI_KEY=your-api-key-here
AI_MODEL=gpt-5.4-nano如果你想用默认之外的模型,参考推荐模型。三个值都配置好后,保存环境变量。
顺手在那里设一个计费预算。只需要一分钟,却能保证失控的循环调用永远不会变成一个意外账单!
配置 OpenRouter
创建一个 OpenRouter 账户,打开 API Keys 页面,创建一个密钥。
OpenRouter 确实提供免费模型,对学习来说很有用。但在依赖它之前,有两点要注意。
免费端点不保证一直可用,而且它们的表现每次运行可能都不一样,这就很难判断某个奇怪的结果是来自你的代码还是模型本身。免费端点还可能把你的请求路由到数据政策不同的服务商,所以在启用它们之前,打开 Privacy 设置,做一个明确的决定。
如果你想要结果稳定,这里的建议和 OpenAI 一样:充值一点小额度,选一个轻量的付费模型。
在 Scrimba 里,设置:
AI_URL=https://openrouter.ai/api/v1
AI_KEY=your-api-key-here
AI_MODEL=mistralai/ministral-3b-2512保存环境变量。
注意模型 ID 的格式:它前面带着服务商名,所以是 mistralai/ministral-3b-2512,不是单独那个简短名字。这个前缀经常让人栽跟头!
这三个值要一起变动
最常见的配置失败,不是某一个值错了,而是三个值凑不成一套。用有效的 OpenAI 密钥去配 OpenRouter 的 URL 会失败。用有效的 OpenRouter 配置去配一个只有 OpenAI 才有的模型 ID 也会失败。这两种情况都会产生认证错误或"模型未找到"的错误,读起来就像是课程代码出了问题。
所以,每次换服务商时,把 AI_URL、AI_KEY 和 AI_MODEL 当作一套一起改,一起保存。
在自己的电脑上运行代码?
Scrimba 把这些值存成账户级别的环境变量,这也是为什么浏览器项目里没有 .env 文件。在你自己的电脑上,你需要把这三个同样的值放进一个 .env 文件里。在本地运行代码会讲到这一点。
错误信息在这里帮不上多大忙,因为它们描述的是在服务商那一端出了什么问题,读起来就像课程代码坏了。但通常并不是!
接下来去哪里
推荐模型会讲什么样的模型适合做 agent 相关的工作,以及哪些模型已经在这门课里测试过。如果你更想先看看请求本身是怎么组装起来的,Chat Completions 与 Responses会对比这两种 API 格式。

