DeepSeek V4 Flash 上线 · 我们的 GLM-5.2 价格本次下调至 5折
博客
API 接入

在 OmniaKey 上使用 GPT-6 Astra

创建 API Key 并跑通 Responses 请求,再接入 Python、Node.js 或 Codex。

8 分钟阅读OmniaKey
GPT-6 AstraResponses APIOpenAI SDKCodexAPI setup

这篇教程从零开始,带你通过 OmniaKey 发出第一条 GPT-6 Astra 请求,并完成 Python、Node.js 和 Codex CLI 配置。这里讲的是服务端 API 与编程 Agent 接入;OmniaKey API Key 不是 ChatGPT 订阅,不能直接填进 ChatGPT 网页。

先记住四个准确值:模型 ID 是 gpt-6-astra,Base URL 是 https://api.omniakey.com/v1,主端点是 POST /v1/responses,第一次请求建议把 reasoning.effort 设为 medium

OpenAI 当前的 Astra 指南从 Responses API 开始。Chat Completions 仍能处理纯文本,但 Astra 的工具调用必须走 Responses。下面所有示例都遵守这条边界,并通过环境变量读取 Key,不把凭据写进源码。

开始前准备

创建一把有限额 API Key

登录 OmniaKey,打开 API Keys 页面。为这次接入单独创建一把 Key,并按测试需求设置额度和过期时间。Key 出现后立即复制。

账号还需要有可用余额。成功创建 Key 只说明凭据存在,不代表账户一定能支付请求费用。

把 API Key 当作密码处理。不要提交到 Git,不要写进浏览器前端,不要放进截图,也不要发到聊天记录里。

把 Key 放进环境变量

macOS 或 Linux:

bash
export OMNIAKEY_API_KEY="your-omniakey-api-key"

PowerShell:

powershell
$env:OMNIAKEY_API_KEY="your-omniakey-api-key"

后面的 SDK 与 Codex 示例都会读取同一个变量。

发出第一条 Responses 请求

在终端运行:

bash
curl https://api.omniakey.com/v1/responses \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-astra",
    "reasoning": {"effort": "medium"},
    "input": "检查这份迁移计划,返回两个最高风险,并为每个风险给出一个验收测试。"
  }'

成功响应会包含 output 数组、生成文本和 Token 用量。这一条请求同时验证了 Base URL、API Key、余额、模型权限、模型 ID 与 Responses 路由。

请求成功后打开 用量页面,确认记录中的模型是 gpt-6-astra。核对真实输入、缓存输入、推理和输出用量,不要只按屏幕上看到的文字长度估算成本。

用 Python 调用 Astra

安装或更新 OpenAI 官方 Python SDK:

bash
python -m pip install --upgrade openai

创建 astra_example.py

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OMNIAKEY_API_KEY"],
    base_url="https://api.omniakey.com/v1",
)

response = client.responses.create(
    model="gpt-6-astra",
    reasoning={"effort": "medium"},
    input="解释这份事故报告,并列出三个最值得执行的后续检查。",
)

print(response.output_text)

运行:

bash
python astra_example.py

response.output_text 是 SDK 提取生成文本的便捷字段。如果还要读取用量、状态或工具调用,请保留完整响应对象。

用 Node.js 调用 Astra

安装 SDK:

bash
npm install openai

创建服务端文件 astra-example.mjs

javascript
import OpenAI from "openai";

const apiKey = process.env.OMNIAKEY_API_KEY;
if (!apiKey) throw new Error("必须设置 OMNIAKEY_API_KEY");

const client = new OpenAI({
  apiKey,
  baseURL: "https://api.omniakey.com/v1",
});

const response = await client.responses.create({
  model: "gpt-6-astra",
  reasoning: { effort: "medium" },
  input: "检查这个 API 设计,找出两个故障模式,并为每个模式设计一个测试。",
});

console.log(response.output_text);

在已经设置环境变量的终端运行:

bash
node astra-example.mjs

这段代码应运行在服务端、本机或可信 Worker 中。任何进入前端构建产物的 Key 都能被访问者读取。

在 Codex CLI 中使用 GPT-6 Astra

Codex 的自定义 Provider 使用 Responses 协议。在 ~/.codex/config.toml 中加入:

toml
model = "gpt-6-astra"
model_provider = "omniakey"

[model_providers.omniakey]
name = "OmniaKey"
base_url = "https://api.omniakey.com/v1"
env_key = "OMNIAKEY_API_KEY"
wire_api = "responses"

从已经设置 Key 的终端启动 Codex:

bash
export OMNIAKEY_API_KEY="your-omniakey-api-key"
codex

不要给这个 Provider 添加 requires_openai_auth = true。该模式使用 OpenAI 账号认证,会让 Codex 忽略自定义 Provider 的 env_key

先检查 Codex 显示的当前模型,再运行一个只读的小任务,然后才允许修改文件。如果直接 cURL 成功而 Codex 失败,通常应先检查客户端配置,而不是怀疑模型权限。

客户端需要时再用 Chat Completions

GPT-6 Astra 可以通过 Chat Completions 处理纯文本。尚未支持 Responses 的客户端可以使用:

bash
curl https://api.omniakey.com/v1/chat/completions \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-astra",
    "reasoning_effort": "medium",
    "messages": [
      {"role": "user", "content": "总结这份发布计划中的两个主要风险。"}
    ]
  }'

注意参数区别:Responses 使用 reasoning.effort,Chat Completions 使用 reasoning_effort。不要在这个 Chat Completions 示例中附加 Astra 工具。OpenAI 当前指南明确要求 Astra 工具调用使用 Responses。

选择 reasoning effort

Effort适合从这里开始的任务
low边界明确、容易验收或对延迟敏感的任务
medium第一次运行有代表性的真实请求
high需要更深规划或跨文件检查的任务
xhigh / max较低档位仍无法通过已定义的验收测试

Astra 支持 lowmediumhighxhighmax,不支持 none。更高 effort 可能增加推理工作、延迟和输出 Token 费用,但不保证结果正确。应选择能够通过验收的最低档位。

给 Astra 一个可以验收的任务

第一次测试时,把目标、上下文、限制和完成条件写清楚:

text
目标:检查这份数据库迁移的发布风险。
上下文:PostgreSQL 15,生产环境只有一个写入方,回滚必须在五分钟内完成。
限制:不要提出破坏性命令;把已核实事实与假设分开。
完成条件:返回三个最高风险,并为每个风险给出一项缓解措施和一个验收测试。

编程任务还应写明仓库规则和证明完成的准确命令。Astra 会认真读取它能访问到的指令文件,因此开放工具权限前要先检查 AGENTS.md、skills 和同类文件。

按现象排查常见错误

401、Unauthorized 或 API Key 无效

确认运行命令的同一个终端中已经设置 OMNIAKEY_API_KEY。环境变量里只放 Key;Bearer 只写在 HTTP Header 中。然后检查 Key 是否启用以及是否过期。

余额或额度不足

同时检查账号余额和这把 Key 自己的额度。账号有余额时,有限额 Key 仍可能因为达到上限而失败。

模型不存在或暂时不可用

使用准确 ID gpt-6-astra。打开 实时模型页并确认当前 Key 有权调用。GPT 6 这样的展示名称不是 API ID。

参数不支持

删除 temperaturetop_ptop_logprobs。Chat Completions 还要删除 logprobs;Responses 的 include 中不要放 message.output_text.logprobs。Astra 不支持这些参数。

响应是 incomplete 或没有可见文本

提高 max_output_tokens,并检查 output_tokens_details.reasoning_tokens。推理 Token 会先占用输出预算,预算不足时可见答案可能尚未生成完毕。

普通对话成功,但工具调用失败

把工作流改到 /v1/responses。先验证纯文本 Responses,再一次只添加一个工具,并检查请求、工具结果、超时和权限链路。OpenAI 官方工具列表描述的是模型直连能力,网关或客户端实际暴露的范围可能更窄。

Codex 仍然使用另一个模型

检查当前 Codex 配置中的 modelmodel_providerbase_urlenv_keywire_api,然后从已经设置 OMNIAKEY_API_KEY 的终端重新启动 Codex。

上生产前核对成本

运行一项有代表性的真实任务,在用量页面确认记录,并把重试计入完整成本。Astra 实时模型页负责展示当前 OmniaKey 价格;Astra 评测则把网关价格与 OpenAI 直连价格分开,并解释直连价格的 272K 边界。

参考资料