最近圈子里的朋友都在讨论一件事:某个叫Ox Alpha的模型在 OpenRouter 平台上三天处理了 11.6T tokens,直接打破平台纪录。很多人可能对这个数字没有概念,但如果我告诉你,11.6T tokens 大约相当于几千万本《三体》的文本量,你大概就能感受到这个吞吐量有多夸张。
更值得关注的是,围绕 Ox Alpha、OpenRouter、tokens 计费、AI 编程工具接入这些问题,网上讨论非常热。很多开发者在问:
- OpenRouter 到底是什么?
- Ox Alpha 怎么接入?
- 为什么有些模型在 API 配置里找不到?
- 什么任务消耗 tokens 特别大?
- 如何把 OpenRouter 的 API Key 接进 Claude Code、opencode 这类 AI 编程工具?
这篇文章就围绕这些话题,从概念、计费机制、API 接入、AI 编程工具配置,到常见报错排查、工程最佳实践,完整梳理一套可以直接落地的方案。内容以稳定、可复现为主,代码都能直接复制使用。
如果你正在做 AI 应用开发,或者想接入大模型 API 做自动化任务,这篇文章很适合你。
1. 背景与核心概念
1.1 OpenRouter 是什么
OpenRouter 是一个大模型 API 聚合平台。它做的事情可以简单理解为“模型网关”:
- 开发者只需要注册一个 OpenRouter 账号,获取一个 API Key。
- 通过同一个 API 格式,就能调用平台上聚合的多个大模型。
- 平台帮你处理计费、流量转发、模型路由、额度管理等底层问题。
这意味着你不必为了使用不同模型,分别去注册多个厂商平台、维护多套 API Key 和 SDK。尤其是在快速原型验证阶段,OpenRouter 能显著降低接入成本。
它的典型使用场景包括:
- 想在代码里快速切换不同大模型做对比测试。
- 需要一个统一接口管理多个模型供应商。
- 使用 Claude Code、opencode、Cursor 等 AI 编程工具时,想接入不同模型。
1.2 Ox Alpha 是谁
Ox Alpha 是出现在 OpenRouter 平台上的一个模型。根据相关记录,它曾在三天内累计处理了 11.6T tokens,成为 OpenRouter 上一个标志性的吞吐量事件。
这里需要说明的是,模型具体由哪家公司发布、版本怎么迭代、上下文窗口是多少,这类信息变化很快。我的建议是:以 OpenRouter 平台上的实时模型列表为准。你在代码中引用模型时,也不要硬编码不确定的 ID,最好先从平台查询。
对于普通开发者来说,更值得关心的问题其实是:
- Ox Alpha 这类模型如何接入 API。
- 它的 token 消耗如何计算。
- 能不能在 AI 编程工具里使用。
- 如果出现 “找不到模型” 的报错,应该怎么排查。
1.3 tokens 是什么
tokens 是 AI 模型处理文本的最小单元。
你可以粗略理解为:
- 英文里,1 个 token 大约等于 0.7 到 1 个单词。
- 中文里,1 个 token 大约等于 1 到 2 个汉字。
- 具体切分方式由模型的分词器决定。
举例来说,一句话“Hello, how are you?” 可能被切成 4 到 5 个 tokens。模型每一次回答,都会同时产生输入 tokens 和输出 tokens,两者都会被计入成本。
日常开发中,你要关注 4 个 token 相关指标:
| 指标 | 含义 | 影响 |
|---|---|---|
| 输入 tokens | 用户发送给模型的文本量 | 决定请求成本 |
| 输出 tokens | 模型生成的文本量 | 决定生成成本 |
| 上下文窗口 | 单次请求能处理的最大 tokens | 超出会报错 |
| TPM(Tokens Per Minute) | 每分钟输入+输出的 token 总和 | 决定并发上限 |
热搜里提到的tpm (tokens per minute) = 输入 token + 输出 token 的总和,就是这个含义。做生产环境服务时,尤其要注意 TPM 限制,否则高并发下很容易触发限流。
1.4 为什么开发者要关注这类数据
理解 tokens 和 API 聚合平台,不仅是学习概念,更是实际工程需求:
- 成本估算:根据 tokens 量预估调用费用。
- 性能调优:通过 TPM 判断是否需要限流、扩容。
- 选型对比:同样任务在不同模型的 token 消耗差异很大。
- 工具接入:AI 编程工具底层本质就是 API 调用,理解 tokens 能帮你排查“为什么响应很慢”“为什么额度消耗很快”。
接下来,我们从环境准备开始,一步步搭建一个可用的 OpenRouter 调用环境。
2. 环境准备与版本说明
2.1 整体环境清单
本文示例基于以下环境,版本可以根据你的实际情况调整:
| 项目 | 建议环境 | 说明 |
|---|---|---|
| 操作系统 | Windows / macOS / Linux | 命令差异不大,Python 代码跨平台 |
| 编程语言 | Python 3.8+ | 用于编写调用示例 |
| HTTP 调试 | curl | 命令行验证 API 最快的方式 |
| 开发工具 | VS Code 或任意 IDE | 不强制 |
| 网络环境 | 能正常访问 OpenRouter 服务的网络 | 具体可达性以实际网络为准 |
注意:OpenRouter 属于海外平台,国内访问是否稳定、是否需要配置额外网络策略,请根据你所在网络环境和合规要求自行判断。本文不讨论任何网络代理相关内容,只聚焦开发接入环节。
2.2 注册 OpenRouter 账号
访问 OpenRouter 官方网站(openrouter.ai),点击注册入口,支持邮箱注册,也可以使用常见的第三方账号方式登录。
注册完成后,进入后台,你通常能看到:
- API Keys 管理页面。
- Credits / 余额页面。
- 模型列表页面。
- 用量统计页面。
刚注册时,平台一般会提供少量免费额度,用于测试 API 连通性。具体额度以平台页面显示为准,不同时期活动不同。
如果你想把额度充值后用于正式调用,需要关注平台支持的支付方式。提醒一点:务必通过官方渠道完成支付,不要购买来路不明的“代充”“共享 Key”,存在安全和封号风险。
2.3 创建 API Key
在 API Keys 页面点击创建 Key,创建后平台只会完整显示一次,请立即复制保存。如果丢失,通常只能重新创建。
拿到 API Key 后,建议先存放在本地环境变量中,不要写死在代码里,更不要提交到 Git 仓库。
# macOS / Linux 临时写入 export OPENROUTER_API_KEY="sk-or-你的key" # Windows PowerShell $env:OPENROUTER_API_KEY="sk-or-你的key"后面所有代码示例都会读取这个环境变量。
2.4 获取模型 ID
在 OpenRouter 模型列表页面,可以搜索模型名称,查看模型的唯一 ID、上下文窗口、价格信息。
比如历史讨论中 Ox Alpha 对应的模型 ID 可能是stealth/ox-alpha之类的格式。具体要以你打开平台时看到的列表为准,因为模型 ID 可能会调整。
确认模型 ID 是解决“配置后找不到模型”这类问题的关键方法。很多人就是手动拼写模型名,少了一个前缀或写错了一个单词,导致 API 返回 404。
3. API 调用核心原理与配置详解
3.1 OpenRouter API 基本格式
OpenRouter 的 API 设计遵循 OpenAI 兼容风格,所以如果你之前用过 OpenAI SDK,迁移成本很低。
核心接口是:
POST https://openrouter.ai/api/v1/chat/completions请求头需要携带:
Authorization: Bearer <你的API Key>Content-Type: application/json
请求体通常包含:
| 参数 | 作用 |
|---|---|
model | 模型 ID |
messages | 对话消息数组 |
max_tokens | 限制生成的最大 token 数 |
temperature | 控制随机性 |
stream | 是否流式输出 |
3.2 最小可运行的 curl 示例
先来一个最基础的调用。打开终端,将环境变量设置好后执行:
curl http://openrouter.ai/api/v1/chat/completions \ -H "Authorization: Bearer $OPENROUTER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "stealth/ox-alpha", "messages": [ { "role": "user", "content": "请用一句话解释什么是 tokens" } ] }'注意两个细节:
- 接口地址用的是
http://openrouter.ai,和平台官网域名一致,不要拼错。 model字段的值必须和平台列表中的 ID 完全一致。
如果返回结果包含choices字段,说明 API 调用成功。如果返回 404,优先去模型列表页核对 ID。
3.3 使用 Python 调用 OpenRouter
Python 是 AI 开发中使用率最高的语言。下面是完整的调用示例:
# 文件路径:openrouter_demo.py import os import requests API_KEY = os.environ.get("OPENROUTER_API_KEY") if not API_KEY: raise ValueError("请先设置环境变量 OPENROUTER_API_KEY") url = "http://openrouter.ai/api/v1/chat/completions" headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json", } payload = { "model": "stealth/ox-alpha", "messages": [ { "role": "system", "content": "你是一个乐于助人的技术助手。", }, { "role": "user", "content": "用三句话说明 OpenRouter 聚合 API 的优势。", }, ], "max_tokens": 500, "temperature": 0.7, } try: response = requests.post(url, headers=headers, json=payload, timeout=60) response.raise_for_status() data = response.json() content = data["choices"][0]["message"]["content"] usage = data.get("usage", {}) print("模型回复:", content) print("Token 使用统计:", usage) except requests.exceptions.HTTPError as e: print("HTTP 请求失败:", e) if e.response is not None: print("响应内容:", e.response.text) except Exception as e: print("请求异常:", e)运行方式:
python openrouter_demo.py正常情况下,你会看到类似输出:
模型回复: OpenRouter 聚合了多个大模型接口,开发者通过一个 API Key 即可调用不同模型,切换成本低,计费也比较集中。 Token 使用统计: {'prompt_tokens': 28, 'completion_tokens': 42, 'total_tokens': 70}这里的usage对象非常关键:
prompt_tokens表示本次请求的输入 tokens。completion_tokens表示模型生成的 tokens。total_tokens是两者之和。
通过这个字段,你可以把每次调用的消耗写入日志,用于成本核算。
3.4 流式输出示例
在 AI 对话类应用中,流式输出比一次性返回体验好很多。下面是使用stream=True的 Python 示例:
# 文件路径:openrouter_stream_demo.py import os import requests API_KEY = os.environ.get("OPENROUTER_API_KEY") url = "http://openrouter.ai/api/v1/chat/completions" headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json", } payload = { "model": "stealth/ox-alpha", "messages": [ {"role": "user", "content": "用 100 字介绍 AI 编程工具对开发效率的影响。"} ], "max_tokens": 300, "stream": True, } response = requests.post(url, headers=headers, json=payload, stream=True, timeout=60) for line in response.iter_lines(): if not line: continue line_text = line.decode("utf-8") if line_text.startswith("data: "): data_str = line_text[6:] if data_str == "[DONE]": break # 这里可以按你的业务解析 JSON print(data_str)流式输出的数据结构是分片(chunk)返回的,每个 chunk 里可能只包含一小段增量内容。生产环境中,你需要自行做增量字符串拼接,或者借助成熟 SDK 处理。
3.5 OpenRouter 的模型路由与 Fallback
OpenRouter 一个很实用的功能是可以通过路由配置,把请求发送到多个候选模型。当首选模型不可用时,自动 fallback 到备用模型。
你可以通过provider或route相关参数控制路由策略。但不同时期的功能名称可能变化,更稳妥的做法是查阅当时平台 API 文档。这里讲一下设计思路:
- 主模型:追求效果,选更强的模型。
- 备用模型:追求稳定,选库存充足的模型。
- 业务层:记录实际命中的模型和 tokens 用量。
这样即使主模型服务不稳定,你的应用也不会全部挂掉。
4. 在 AI 编程工具中接入 OpenRouter
除了直接写代码调用 API,AI 编程工具接入 OpenRouter 是另一个高频需求。很多开发者希望用一个平台账号,统一在 Claude Code、opencode 等工具里使用不同模型。
4.1 Claude Code 如何接入 OpenRouter 的 API Key
Claude Code 是 Anthropic 推出的终端编程助手。它的底层配置默认指向 Anthropic API,但很多 AI 编程工具允许通过环境变量覆盖 API 地址,从而接入 OpenAI 兼容的网关服务。
思路如下:
- 获取 OpenRouter 的 API Key。
- 设置环境变量,覆盖 Claude Code 的 API Base URL 和 Key。
- 启动 Claude Code,验证模型是否正常响应。
常见的环境变量配置方式:
# .env 文件示例,按实际工具要求调整变量名 OPENROUTER_API_KEY=sk-or-你的key ANTHROPIC_BASE_URL=http://openrouter.ai/api/v1 ANTHROPIC_AUTH_TOKEN=sk-or-你的key这里需要特别说明:不同版本的 Claude Code 支持的变量名不一样,而且 OpenRouter 对 Anthropic 协议的兼容程度也在动态变化。正确做法是先查看你安装的 Claude Code 官方文档,确认支持哪些环境变量,再按文档设置。
不要盲目复制网上的配置,因为版本一变,变量名就可能失效。
4.2 opencode 中接入 Ox Alpha
opencode 是一种终端 AI 编程工具,主打命令行交互和代码仓库协作。它的模型配置通常存放在本地配置文件中。
一个典型配置思路如下(路径和格式以工具版本为准):
{ "model": { "provider": "openrouter", "model": "stealth/ox-alpha" } }有些版本支持通过环境变量传入 API Key:
export OPENROUTER_API_KEY="sk-or-你的key" opencode如果你在配置里写了一个模型 ID,但启动工具后提示“模型不存在”,大概率是模型 ID 拼写错误,或者该模型没有在 OpenRouter 上架。
4.3 WorkBuddy 等本地工具如何接入
除了前面两种,还有像 WorkBuddy 这类本地 AI 工具。接入步骤通常如下:
- 找到工具的“模型接入”或“Providers”设置页面。
- 选择 OpenRouter 或 OpenAI 兼容模式。
- 填入 API Key。
- 填入基础地址:
http://openrouter.ai/api/v1。 - 选择模型 ID。
如果你的工具支持环境变量,优先使用环境变量方式传递密钥,避免密钥明文写在配置文件中。
但请记住一点:工具名称、字段名、菜单路径各不相同,必须结合具体工具的官方说明操作。我这里给的是通用思路,不是某个工具的详细截图教程。
4.4 搜索不到模型怎么办
热搜词里有一条很典型的问题:
“为啥我在 openrouter 的 api 配置后找不到 stealth/ox-alpha 这个模型?”
遇到这种情况,按下面的步骤排查:
- 打开 OpenRouter 模型列表,搜索
ox-alpha。 - 确认模型 ID 是否包含前缀,比如
stealth/ox-alpha。 - 确认该模型是否已下架或改名。
- 确认模型命名是否有大小写差异,比如
Ox-Alpha和ox-alpha不是一回事。 - 确认你配置使用的 API 地址是
http://openrouter.ai/api/v1,而不是其他域名。
这里要特别强调:模型 ID 是区分大小写的,而且必须包含完整前缀。
5. tokens 计费机制与消耗场景分析
5.1 什么任务消耗的 tokens 大
很多开发者充值之后发现 tokens 消耗得特别快,第一反应是“是不是被刷了”。其实大部分情况都是正常的,因为某些任务天然就是 tokens 消耗大户。
常见的高消耗任务:
| 任务类型 | 消耗大的原因 | 优化建议 |
|---|---|---|
| 长文档总结 | 输入 tokens 直接取决于文档长度 | 先做分块,再分层总结 |
| 代码仓库理解 | 需要把多个文件喂给模型 | 尽量只给相关文件片段 |
| 多轮对话 | 历史消息全部累计计入输入 | 定期裁剪历史,只保留关键信息 |
| 流式生成大量文案 | 输出 tokens 累积很多 | 设置 max_tokens,控制输出长度 |
| Agent 循环任务 | 每轮工具调用都携带上下文 | 精简中间步骤,合并上下文 |
举个例子,如果你让 AI 总结一本 10 万字的书籍,输入 tokens 大约在 7 万到 15 万之间。这些输入 tokens 在每一轮对话中都会被重新计算一次。多轮之后,费用会成倍增长。
5.2 如何精确控制 tokens 成本
控制成本最有效的手段,不是在账单出来后才去分析,而是在每次请求前就做好预算。
代码层面可以做三件事:
第一,设置max_tokens限制输出长度。
payload = { "model": "stealth/ox-alpha", "messages": [{"role": "user", "content": "写一段 100 字的简介"}], "max_tokens": 200, }第二,充分利用usage返回的统计字段,把每次调用的prompt_tokens、completion_tokens、total_tokens记录到日志中。
第三,对输入文本做长度检查。如果文本太长,先做摘要,而不是直接把原文塞给模型。
5.3 TPM 限制如何影响生产环境
前面提过 TPM = Tokens Per Minute = 每分钟输入 token + 输出 token 的总和。
在生产环境里,TPM 限制决定了你的服务能在多高并发下正常运转。比如平台给某个模型设置的 TPM 是 100 万,而你的应用平均每个请求消耗 5000 tokens,那一分钟最多处理 200 个请求,超过就会触发限流。
优化手段包括:
- 降低单请求 tokens 消耗。
- 增加本地缓存,减少重复请求。
- 使用队列,平滑请求压力。
- 在业务层做并发控制。
记住一个原则:不要把 TPM 用满,预留 20% 到 30% 的余量,应对突发流量。
5.4 为什么说 11.6T tokens 是很大的数字
回到最开头那个事件。11.6T tokens 是什么概念?
- 1T = 1000G = 10 亿 M。
- 如果按中文每 token 约 1 到 2 个汉字计算,11.6T tokens 可以覆盖海量的文本语料。
- 放到 API 计费角度看,这是一个非常可观的吞吐量,说明 Ox Alpha 在 OpenRouter 平台上承受了高强度的真实调用。
这个数据给我们的启发不是“这个模型有多强”,而是:
- 聚合平台确实能支撑大规模模型调用。
- 真实业务中,tokens 消耗量可能远超你的预估。
- 做成本预算时,要按峰值吞吐量设计,而不是按平均量。
6. 常见问题与排查思路
以下问题都是围绕 OpenRouter 和 Ox Alpha 的高频问题,按现象、原因、解决思路整理成表格。
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| API 返回 404 模型不存在 | 模型 ID 拼写有误,或该模型已下架 | 去模型列表复制最新 ID |
| 认证失败 401 | API Key 未设置正确,或 Key 失效 | 检查环境变量和 Key 前缀 |
| 余额不足 | Credits 用完 | 去平台官方渠道充值 |
| 请求超时 | 网络不稳定,或模型负载高 | 增加超时时间,使用备用模型 |
| 上下文超长 | 请求文本超出模型上下文窗口 | 裁剪内容或选择更大上下文的模型 |
| 被限流 | 触发 TPM 或每分钟请求数限制 | 增加本地队列,平滑请求频率 |
| 配置了模型但工具找不到 | 工具配置格式错误或版本不兼容 | 查看工具日志,按文档核对配置 |
下面挑几个典型问题展开说明。
6.1 认证失败
错误信息通常类似:
{ "error": { "message": "Invalid API key", "type": "authentication_error" } }排查顺序:
- 确认 API Key 是否完整复制,没有丢失前缀
sk-or-。 - 确认环境变量是否在当前终端会话中生效。
echo $OPENROUTER_API_KEY- 确认是否在多个环境变量里写了不同的 Key,导致冲突。
6.2 模型找不到
错误信息通常类似:
{ "error": { "message": "Model not found", "type": "invalid_request_error" } }需要做两件事:
- 去 OpenRouter 模型列表页搜索模型名,复制完整的模型 ID。
- 检查代码里的 model 字段,确认前后没有多余的空格或换行。
6.3 余额不足
OpenRouter 后台会显示 Credits 余额。当余额不足时,API 会返回类似余额不足的错误。
应对措施:
- 用官方支持的方式充值。
- 在代码里捕获余额不足异常,告警通知。
- 设置每月消费上限,防止意外超支。
特别提醒:不要轻信“低价代充”“内部渠道”,这类操作极有可能涉及盗刷或诈骗。平台官方支持的方式才是最安全的选择。
6.4 网络访问问题
OpenRouter 是海外服务,部分地区访问可能会遇到延迟或连接不稳定的情况。如果你遇到请求超时:
- 使用
curl测试连通性。 - 增加请求超时时间到 60 秒以上。
- 为生产环境配置合理的重试机制,但不要无限重试。
关于网络可用性:请以你所在网络环境实测为准,并确保所有网络访问行为符合当地法律法规。
7. 最佳实践与工程建议
7.1 Key 管理与安全边界
API Key 是访问模型的唯一凭证,必须妥善保管:
- 使用环境变量或密钥管理服务存储,不写死在代码里。
- 定期轮换 Key,发现异常立即吊销。
- 不要共享 Key,不要发布到公开仓库。
- 不同项目使用不同 Key,便于审计和限额。
如果代码已经不小心提交到了 Git 仓库,应立即:
- 吊销旧 Key。
- 在 Git 历史中清理密钥。
- 更新所有引用该 Key 的服务。
7.2 日志记录与成本追踪
生产环境中,建议为每一次模型调用记录结构化日志:
{ "timestamp": "2025-01-01T12:00:00Z", "model": "stealth/ox-alpha", "prompt_tokens": 1200, "completion_tokens": 300, "total_tokens": 1500, "request_id": "req_12345", "latency_ms": 2340 }这样你随时可以统计出:
- 每天消费多少 tokens。
- 哪个业务方消耗最大。
- 平均响应延迟是多少。
- 哪个模型性价比最高。
7.3 异常处理与重试机制
调用外部 API 一定会遇到失败。稳健的做法是分层处理:
- 网络层错误:尝试重试,采用指数退避。
- HTTP 4xx 错误:一般是参数问题,不要盲目重试,先修复请求。
- HTTP 5xx 错误:服务端问题,可以延迟重试。
- 限流错误:等待后重试,但要控制频率。
下面是一个简单的重试思路示例:
# 文件路径:retry_example.py import time import requests def call_with_retry(url, headers, payload, max_retries=3): for attempt in range(max_retries): try: response = requests.post(url, headers=headers, json=payload, timeout=60) if response.status_code in (429, 500, 502, 503): time.sleep(2 ** attempt) continue response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: time.sleep(2 ** attempt) raise RuntimeError("请求多次重试仍然失败")注意:重试只适用于幂等请求或可以接受重复执行的场景。对于敏感操作,一定要保证业务层的幂等性。
7.4 生产变更要谨慎
如果你在项目中修改了默认模型、API 地址、Key 或并发参数,应该遵守变更流程:
- 先在测试环境验证。
- 确认模型 ID 和参数无误。
- 观察日志中的 tokens 消耗和响应延迟。
- 逐步灰度,不要一次性全量切换。
- 准备好回滚方案。
尤其是切换模型时,不同模型的输出格式、上下文长度、能力边界可能不同,必须做回归测试。
7.5 弹性成本控制
即使你只是个人开发者,也建议在项目早期就建立成本意识:
- 给不同任务设置不同的
max_tokens。 - 让用户输入长度受限,或在前端做截断。
- 对高频重复请求做结果缓存。
- 使用更轻量的模型处理简单任务,把复杂任务交给更强的模型。
举个例子:意图识别这类任务完全可以用速度快的轻量模型,只有代码生成和复杂推理才值得调用更强模型。这样能节省大量成本,同时保持用户体验。
8. 总结与实际落地建议
这篇文章从 OpenRouter 的基本概念讲起,梳理了 Ox Alpha 模型接入的完整链路。你现在应该掌握了以下关键点:
- OpenRouter 是大模型 API 聚合平台,统一了多个模型的调用方式。
- 模型 ID 必须从平台列表复制,不能凭记忆拼写。
- tokens 是理解成本和性能的基础单位,TPM 用于衡量每分钟处理能力。
- 长文档、多轮对话、Agent 任务属于高 tokens 消耗场景,需要提前做预算。
- Claude Code、opencode 等 AI 编程工具可以接入 OpenRouter,但需要按工具文档配置环境变量和模型 ID。
- 遇到 404、401、余额不足、限流等问题时,有清晰的排查顺序。
- 生产环境要重点关注 Key 安全、日志统计、异常重试和成本控制。
说到我自己的经验,我一直建议团队在接入任何大模型 API 平台时,先做一个小型验证项目,用真实业务数据跑一周,记录 tokens 消耗和调用成功率,再决定是否全面推广。这样比直接上线然后月底看账单要安全得多。
如果你打算在本机做实验,下一步可以这样做:
- 注册 OpenRouter 账号并创建一个 API Key。
- 用文章里的 curl 示例先跑通第一个请求。
- 在模型列表页找到一个实际存在的模型 ID,替换示例中的
stealth/ox-alpha。 - 把示例扩展成一个小工具,比如调用模型帮你批量总结代码注释。
- 写一个简单的日志统计脚本,记录每天消耗的 tokens。
动手跑一遍,比看十篇文章都更有用。希望这篇内容能帮你少踩一些坑。