Node.js 接入 Claude API 教程:ZeusAPI 快速上手
随着 Claude 系列模型在代码生成、长文本理解和多轮对话等场景中的表现越来越出色,越来越多的开发者希望在自己的 Node.js 项目中集成 Claude API。本文将带你从零开始,用最少的步骤完成接入,并介绍一个对国内开发者非常友好的中转方案——ZeusAPI。
为什么选择 ZeusAPI
直接使用 Anthropic 官方 API 对国内开发者存在两个常见障碍:网络访问限制和美元付款门槛。ZeusAPI 解决了这两个问题:
- 人民币充值:1 元人民币 = 1 美元额度,无需绑定境外信用卡
- 多模型支持:同一 API Key 可调用 Claude 3.5 Sonnet、Claude 3 Opus、GPT-4o 等主流模型
- 兼容 OpenAI SDK:只需修改 baseURL,现有代码几乎无需改动
- 按量计费:没有月费,充值即用,适合个人开发者和小团队
前置准备
开始之前,确保你的环境满足以下条件:
- Node.js 18.x 或更高版本(推荐使用 LTS 版本)
- npm 或 yarn 包管理器
- 已在 ZeusAPI 注册并获取 API Key
注册 ZeusAPI 后,在控制台的「API 管理」页面即可生成你的 API Key,格式类似 sk-zeus-xxxxxxxxxxxxxxxx。
安装依赖
新建一个项目目录并初始化:
mkdir claude-demo && cd claude-demo
npm init -y
npm install openai
ZeusAPI 兼容 OpenAI 的接口协议,因此直接使用官方 openai npm 包即可,无需额外安装其他 SDK。
基础调用示例
创建 index.js 文件,写入以下代码:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'your-zeusapi-key', // 替换为你的 ZeusAPI Key
baseURL: 'https://aitoolsforsellers.com/v1', // ZeusAPI 端点
});
async function chat(userMessage) {
const response = await client.chat.completions.create({
model: 'claude-3-5-sonnet-20241022', // 指定 Claude 模型
max_tokens: 1024,
messages: [
{
role: 'user',
content: userMessage,
},
],
});
return response.choices[0].message.content;
}
// 测试调用
const result = await chat('用一句话解释递归的概念');
console.log(result);
运行代码:
node --experimental-vm-modules index.js
如果使用 CommonJS,将 import 替换为 require,并把顶层 await 包裹在 async 函数中即可。
流式输出实现
对于聊天应用,流式输出可以显著提升用户体验,让回复像打字一样逐字出现。修改代码如下:
async function streamChat(userMessage) {
const stream = await client.chat.completions.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 1024,
stream: true, // 开启流式模式
messages: [{ role: 'user', content: userMessage }],
});
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta?.content ?? '';
process.stdout.write(delta); // 实时打印每个 token
}
console.log(); // 换行
}
await streamChat('写一个快速排序的 JavaScript 实现');
多轮对话管理
Claude 擅长处理上下文连贯的多轮对话。维护一个消息历史数组即可实现:
const history = [];
async function multiTurnChat(userMessage) {
history.push({ role: 'user', content: userMessage });
const response = await client.chat.completions.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 2048,
messages: history,
});
const assistantMessage = response.choices[0].message.content;
history.push({ role: 'assistant', content: assistantMessage });
return assistantMessage;
}
console.log(await multiTurnChat('我想学 TypeScript'));
console.log(await multiTurnChat('从哪里开始比较好?')); // 保留上下文
常见错误处理
生产环境中务必处理以下几类错误:
- 401 Unauthorized:API Key 错误或未激活,检查控制台余额是否充足
- 429 Too Many Requests:触发速率限制,加入指数退避重试逻辑
- context_length_exceeded:输入超过模型上下文窗口,需要截断历史消息
try {
const result = await chat('你好');
} catch (error) {
if (error.status === 429) {
console.error('请求过于频繁,请稍后重试');
} else {
console.error('API 错误:', error.message);
}
}
费用参考
以 Claude 3.5 Sonnet 为例,官方定价约为输入 $3 / 百万 token,输出 $15 / 百万 token。通过 ZeusAPI 以人民币充值,1 元即可兑换 1 美元额度,日常开发测试充值 10~20 元即可使用相当长一段时间。
立即开始
整个接入过程不超过 10 分钟,核心只有三步:注册账号、获取 API Key、修改 baseURL。无论你是想搭建智能客服、代码助手还是文档处理工具,ZeusAPI 都能让你跳过繁琐的付款和网络问题,专注于业务逻辑本身。
现在访问 aitoolsforsellers.com 注册账号,充值 1 元即可立即体验 Claude 和 GPT-4 全系列模型。