Anthropic SDK
把 Praxis 接入 Anthropic SDK:换掉 baseURL,Claude 代码直接用。
把 Praxis 接入 Anthropic 官方 SDK——已有一切 Anthropic 代码不用换库,只改一个 baseURL。本页 Node 与 Python 均实测(其余语言同形)。
每一步都标了期望结果:照做即可,也可以把本页直接交给能操作电脑的 AI 助手,让它替你完成安装、运行与验证。
你将完成
- 用 Anthropic SDK 调 Praxis 的模型,拿到回复与用量
- 完成标志:
hello.mjs打印中文回复与usage,stream.mjs逐字打印回复 - 预计耗时:3 分钟(不含 Node.js 安装)
- 支持协议:Anthropic 兼容(
/anthropic)
前提
开始前逐项确认:
-
一个 Praxis API Key(
sk-praxis-开头)。没有就到 控制台 → API Keys 创建:点「创建 Key」,名称必填,有效期默认 90 天(可改永久);创建成功弹窗会展示完整 Key 并带「复制 Key」,关闭后列表只显示掩码,随时可点行内复制图标重新获取完整 Key。新账号自带 $1 免费额度。完整流程见快速开始。 -
Node.js 18 或更高(
node --version检查;用 Bun 亦可)。 -
安装 SDK——注意包名是
@anthropic-ai/sdk(npm 上的anthropic是同名的占位包,不是它):npm install @anthropic-ai/sdk期望:安装无报错。
第一个请求
先把 Key 放进环境变量(export PRAXIS_API_KEY=sk-praxis-…;PowerShell:$env:PRAXIS_API_KEY="…"),再新建 hello.mjs:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.deepraxis.ai/anthropic",
apiKey: "sk-praxis-你的Key",
});
const message = await client.messages.create({
model: "deepseek-flash",
max_tokens: 256,
messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(message.content.find((b) => b.type === "text")?.text);
console.log(message.usage);运行:
node hello.mjs期望:打印一段中文回复,随后是 usage——至少包含 input_tokens / output_tokens,SDK 还会附带缓存、服务分层等字段。两处注意:max_tokens 必填(Anthropic 协议的要求);content 是块数组,取 type 为 text 的块是回复文本——推理模型前面可能先带 thinking 块。

Python 版
pip install anthropic新建 hello.py:
import os
from anthropic import Anthropic
client = Anthropic(
base_url="https://api.deepraxis.ai/anthropic",
api_key=os.environ["PRAXIS_API_KEY"],
)
message = client.messages.create(
model="deepseek-flash",
max_tokens=256,
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(next(b.text for b in message.content if b.type == "text"))
print(message.usage)运行 python3 hello.py。期望:打印中文回复,随后是 Usage——同样必填 max_tokens,content 是块数组。流式用 client.messages.stream(...) 上下文管理器,与 Node 同形。

流式响应
新建 stream.mjs:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.deepraxis.ai/anthropic",
apiKey: process.env.PRAXIS_API_KEY,
});
const stream = client.messages.stream({
model: "deepseek-flash",
max_tokens: 256,
messages: [{ role: "user", content: "用两句话解释什么是 API" }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}
console.log();期望:回复逐字打印、以换行收尾。流式支持按模型路由而异,个别路由可能暂未开放(报 STREAMING_UNPROVEN 时去掉流式或换模型重试)。

常见问题
| 症状 | 原因 | 解法 |
|---|---|---|
导入名为 anthropic 的包后运行失败(报错指向 node_modules/anthropic/index.js 缺失或 main 无效) | 装到了 npm 上的同名占位包 | 卸掉重装正主:卸载 anthropic 后安装 @anthropic-ai/sdk |
| 401 / 无效令牌 | Key 复制不完整或未设进环境变量 | 重新完整复制(注意 sk-praxis- 前缀);用 echo $PRAXIS_API_KEY 检查 |
400 提示缺 max_tokens | Anthropic 协议必填该参数 | 在 messages.create 里加上 max_tokens(如 256) |
400 STREAMING_UNPROVEN | 该模型路由暂未开放流式 | 去掉流式用普通调用,或换个模型重试 |
| 模型不存在 | 模型 ID 与目录不一致 | 到控制台 → 模型复制确切 ID |
进阶
- 查这次调用花了多少钱:非流式
message.usage.cost(Python SDK)直接返回费用;流式在message_delta事件的usage.cost上(get_final_message().usage不带该字段)。JS SDK 的Usage类型不声明 cost(运行时字段仍在,as any可读),Node 用户也可看控制台 → 用量与费用逐笔明细,或走 OpenAI SDK - 换模型:改
model字段即可,Claude 系旗舰填claude-opus-5;deepseek-flash是滚动入口始终指向最新一代 Flash - 拿思维链:推理模型的
content里type为thinking的块即思维链,按需读取
相关食谱
- OpenAI SDK(OpenAI 协议姊妹篇)· LangChain · Vercel AI SDK
- 不想写代码?看 Cherry Studio · Claude Code