OpenAI SDK
把 Praxis 接入 OpenAI SDK:三行核心代码,换掉 base_url 就能用。
把 Praxis 接入 OpenAI 官方 SDK——已有一切 OpenAI 代码不用换库,只改一个 baseURL。本页 Node 与 Python 均实测(其余语言同形)。
每一步都标了期望结果:照做即可,也可以把本页直接交给能操作电脑的 AI 助手,让它替你完成安装、运行与验证。
你将完成
- 用 OpenAI SDK 调 Praxis 的模型,拿到回复与用量
- 完成标志:
hello.mjs打印中文回复与usage,stream.mjs逐字打印回复 - 预计耗时:3 分钟(不含 Node.js 安装)
- 支持协议:OpenAI 兼容(
/openai/v1)
前提
开始前逐项确认:
-
一个 Praxis API Key(
sk-praxis-开头)。没有就到 控制台 → API Keys 创建:点「创建 Key」,名称必填,有效期默认 90 天(可改永久),创建后立即复制保存;之后也随时可在 Key 列表行点复制图标重新获取完整 Key。新账号自带 $1 免费额度。完整流程见快速开始。 -
Node.js 18 或更高(
node --version检查;用 Bun 亦可)。 -
安装 SDK:在项目目录里
npm install openai期望:安装无报错,
node -e "require('openai')"不抛错。
第一个请求
新建 hello.mjs,原样粘贴(把 Key 换成你的):
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.deepraxis.ai/openai/v1",
apiKey: "sk-praxis-你的Key",
});
const completion = await client.chat.completions.create({
model: "deepseek-flash",
messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(completion.choices[0].message.content);
console.log(completion.usage);运行:
node hello.mjs期望:打印一段中文回复,随后是 usage 对象——注意里面有 cost 字段,这次调用花了多少钱直接给你算好(平台按次计费,控制台用量与费用同口径)。

建议把 Key 放进环境变量而不是写进代码:export PRAXIS_API_KEY=sk-praxis-…(PowerShell:$env:PRAXIS_API_KEY="…"),然后 apiKey: process.env.PRAXIS_API_KEY。
Python 版
pip install openai先设置环境变量 export PRAXIS_API_KEY=sk-praxis-你的Key(PowerShell:$env:PRAXIS_API_KEY="你的Key"),再新建 hello.py:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.deepraxis.ai/openai/v1",
api_key=os.environ["PRAXIS_API_KEY"],
)
completion = client.chat.completions.create(
model="deepseek-flash",
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(completion.choices[0].message.content)
print(completion.usage)运行 python3 hello.py。期望:打印中文回复,随后是 CompletionUsage——其中 cost 字段直接给出本次费用。流式用法与 Node 同形(stream=True 后迭代 delta.content)。

流式响应
新建 stream.mjs:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.deepraxis.ai/openai/v1",
apiKey: process.env.PRAXIS_API_KEY,
});
const stream = await client.chat.completions.create({
model: "glm-5.3-flash",
messages: [{ role: "user", content: "用两句话解释什么是 API" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
console.log();期望:回复逐字打印、以换行收尾——这就是流式。示例用 glm-5.3-flash;流式支持按模型路由而异,个别路由可能暂未开放,详见下方常见问题。

常见问题
| 症状 | 原因 | 解法 |
|---|---|---|
| 401 / 无效令牌 | Key 复制不完整或未设进环境变量 | 重新完整复制(注意 sk-praxis- 前缀);用 echo $PRAXIS_API_KEY 检查 |
400 STREAMING_UNPROVEN | 该模型暂未开放流式(逐路由开通,偶发) | 去掉 stream: true,或换个模型重试 |
| 模型不存在 | 模型 ID 与目录不一致 | 到控制台 → 模型复制确切 ID |
| 连接超时 | 本地网络 | 重试或换网络;也可先用下面的命令测网关连通(期望 200) |
连通性自检:
curl -sS https://api.deepraxis.ai/openai/v1/models \
-H "Authorization: Bearer $PRAXIS_API_KEY" -o /dev/null -w "%{http_code}"期望输出 200。
进阶
- 查这次调用花了多少钱:非流式调用的
usage.cost直接返回费用,无需自行按 token 换算;流式的费用在最后一个 chunk 的usage里(该 chunk 的choices为空、含cost)——stream_options: { include_usage: true }可加可不加,平台两种情况都会回;控制台 → 用量与费用有逐笔明细 - 列出可用模型:
await client.models.list()——和控制台 → 模型同源 - 换模型:改
model字段即可;deepseek-flash是滚动入口始终指向最新一代 Flash,deepseek-v4-flash是固定版本快照
相关食谱
- Anthropic SDK(Anthropic 协议姊妹篇)· LangChain · Vercel AI SDK
- 不想写代码?看 Cherry Studio · Codex