59API

← Voltar aos guias

Node.js 与 TypeScript 实战:通过 59API 调用 Claude 和 GPT

Guias · ZH · 2026-09-18

为什么在 Node.js 项目中同时接入 Claude 和 GPT

Claude 擅长长文本分析、代码审阅与结构化推理,GPT 则适合通用对话、工具调用和既有 OpenAI 生态。实际产品不应把业务绑死在单一模型上:把模型选择放进配置层,便于按任务质量、速度和成本切换。59API 提供 Claude Opus、Sonnet、Haiku、Fable 及 GPT 模型的按量访问,地址为 https://api.59api.com,并兼容 Claude Code、Codex 与 OpenAI SDK。对于需要控制预算的个人开发者和小团队,这是保留官方质量模型、同时降低调用门槛的实用选择。

准备 TypeScript 项目和环境变量

新建项目后安装依赖:npm i openai @anthropic-ai/sdk dotenv;再安装开发依赖:npm i -D typescript tsx @types/node。请将密钥保存到 .env,避免提交到 Git:API59_KEY=你的59API密钥。生产环境应在部署平台的密钥管理页面配置该变量,而不是把密钥写进源码。

创建 src/gpt.ts。OpenAI SDK 的 baseURL 需要指向带 /v1 的兼容接口:import OpenAI from 'openai'; import 'dotenv/config'; const client = new OpenAI({ apiKey: process.env.API59_KEY, baseURL: 'https://api.59api.com/v1' }); const result = await client.chat.completions.create({ model: 'gpt-4o-mini', messages: [{ role: 'user', content: '用三条建议解释如何优化 Node.js API 延迟。' }] }); console.log(result.choices[0].message.content);

模型名应以 59API 控制台当前可用列表为准。这样做比在代码中假定固定型号更可靠,也能在价格或能力变化时只修改环境配置。

用 Anthropic SDK 调用 Claude

Claude 请求使用 messages 接口。创建 src/claude.ts:import Anthropic from '@anthropic-ai/sdk'; import 'dotenv/config'; const client = new Anthropic({ apiKey: process.env.API59_KEY, baseURL: 'https://api.59api.com' }); const message = await client.messages.create({ model: 'claude-3-5-sonnet-latest', max_tokens: 600, system: '你是一名资深 TypeScript 代码审阅者。', messages: [{ role: 'user', content: '审阅以下函数并指出空值风险:function nameOf(user?: { name?: string }) { return user.name.toUpperCase(); }' }] }); console.log(message.content[0].type === 'text' ? message.content[0].text : '无文本响应');

Anthropic 响应内容是分段数组,不能直接假设 content 为字符串。上述类型判断可避免后续接入工具调用、图片或其他内容块时出现运行时错误。Claude Code 用户也可将 ANTHROPIC_BASE_URL 设为 https://api.59api.com,并配置对应 API Key,以沿用原有工作流。

增加流式输出和可维护的模型路由

聊天、代码生成等耗时任务建议开启流式响应,让用户先看到结果。OpenAI SDK 示例:const stream = await client.chat.completions.create({ model: 'gpt-4o-mini', stream: true, messages: [{ role: 'user', content: '写一个 Express 健康检查接口。' }] }); for await (const chunk of stream) { process.stdout.write(chunk.choices[0]?.delta?.content ?? ''); }。在 Web 服务中,将每个增量写入 SSE 或 WebSocket 即可。

建议定义 task 到 model 的映射,例如快速摘要优先 Haiku 或经济型 GPT,复杂代码设计优先 Sonnet、Opus 或高能力 GPT;再记录 model、输入输出 token、耗时和错误码。不要只比较单次单价,还要观察完成任务所需轮次、失败率和响应时间。59API 的低成本按量计费适合先小流量验证,再根据真实指标调整路由;注册后还可使用推荐返利机制降低长期使用成本。

上线前检查清单

通过 59API 注册并从小额调用开始,可以用同一套 TypeScript 工程同时评估 Claude 与 GPT,在成本、质量和延迟之间建立可量化的选择依据。

Preços · Docs

Pronto para começar?

Conecte Claude e GPT em minutos pelos menores preços, sem cortes. Cadastre-se e obtenha sua chave API.

Cadastro grátis