全网最细!DeepSeek R1 API 调用 Node.js 示例:保姆级实战,复制粘贴即可运行
2026-07-18
全网最细!DeepSeek R1 API 调用 Node.js 示例:保姆级实战,复制粘贴即可运行 #
说实话,国内的 Node.js 开发者想调一下 DeepSeek-R1 的 API,这条路过去一直不太好走。又是要翻墙,又是要注册海外账号,还得绑信用卡——代码还没写两行,环境先折腾半个小时。
最近我一直在用 云雾ai中转站(www.yunwuai.cc)来跑各种大模型,特别是 DeepSeek-R1。这感觉就像终于有人把路铺好了,你不用再自己吭哧吭哧修路了。今天这篇文章,我就把怎么用 Node.js 调用 DeepSeek-R1 API 的全过程,掰开揉碎了讲给你听。
【MATRIX_PLACEHOLDER】
为什么选择云雾ai中转站调用 DeepSeek-R1? #
在开始写代码之前,先说说我为什么推荐你用 云雾ai中转站。DeepSeek-R1 的官方 API 需要海外环境,但对于很多国内开发者来说,光“翻墙”这一步就能卡掉70%的人。
云雾ai中转站 的核心优势就三点,简单粗暴:
- 国内直连:不需要任何代理,你的代码在国内服务器上就能直接跑。
- 价格透明:1元人民币 = 1美元 Token 额度,按官方1:1计费,没有乱七八糟的倍率。
- 无缝兼容:完全兼容 OpenAI 的 API 格式。你之前为 OpenAI 写的 Node.js 代码,只需要把
base_url改一下,API Key 换一下,就能直接调 DeepSeek-R1。
这意味着什么?意味着你花最少的钱,用最快的速度,就能在自己的项目里用上 DeepSeek-R1 的推理能力。
👉 立即注册云雾ai中转站,新用户直接送 $0.2 消费额度
Node.js 调用 DeepSeek-R1:从零开始 #
好了,废话不多说,直接上实战。这篇文章的目标是:你复制我的代码,改两行配置,就能在你的机器上跑起来。
第一步:环境准备 #
确保你的电脑上已经安装了 Node.js(推荐版本 18+)。没有的话,去官网下载安装。然后创建一个新项目:
bash mkdir deepseek-demo cd deepseek-demo npm init -y
第二步:安装依赖 #
我们需要安装一个核心依赖:openai 库。虽然我们调的不是 OpenAI 的模型,但因为 云雾ai中转站 的接口完全兼容 OpenAI 格式,所以直接用这个库就行。
bash npm install openai
第三步:配置 API Key 和 Base URL #
去 云雾ai中转站 的官网 www.yunwuai.cc 注册并登录,在个人中心找到你的 API Key。复制它。
在项目根目录下创建一个 .env 文件(或者直接在代码里写,但不推荐),存放你的配置信息。
YUNWU_API_KEY=你的云雾AI API Key YUNWU_BASE_URL=https://www.yunwuai.cc/v1
如果要直接在代码里写,记得以后别上传到 GitHub。
第四步:编写核心代码 #
创建一个 index.js 文件,把下面的代码复制进去。这是整个教程的核心。
javascript const OpenAI = require(‘openai’);
// 1. 初始化客户端 const client = new OpenAI({ // 从云雾ai中转站获取你的 API Key apiKey: process.env.YUNWU_API_KEY || ‘sk-your-key-here’, // 核心:将 baseURL 改为云雾ai中转站的地址 baseURL: process.env.YUNWU_BASE_URL || ‘https://www.yunwuai.cc/v1', });
async function chatWithDeepSeek() { try { // 2. 发送请求 const response = await client.chat.completions.create({ // 模型名称:DeepSeek-R1 满血版 model: ‘deepseek-r1’, messages: [ { role: ‘system’, content: ‘你是一个专业的代码助手,回答要简洁准确。’, }, { role: ‘user’, content: ‘用 Node.js 写一个简单的 HTTP 服务器,要求列出当前目录文件。’, }, ], // 控制输出长度,防止 Token 耗尽 max_tokens: 1024, // 如果希望获取流式输出,设置 stream: true // stream: true, });
// 3. 输出结果
console.log('DeepSeek-R1 回复:');
console.log(response.choices[0].message.content);
} catch (error) { console.error(‘调用失败:’, error); } }
chatWithDeepSeek();
代码解释:
- OpenAI 客户端:我们用的是
openai库,但把baseURL指向了 云雾ai中转站。这是关键的一步。 - Model 参数:这里用的是
deepseek-r1,你可以换成deepseek-v3或者任何 云雾ai中转站 支持的模型。 - 错误处理:
try...catch语句捕获网络错误或 API 错误,确保你的程序不会意外崩溃。
第五步:运行你的代码 #
在终端执行:
bash node index.js
如果一切顺利,你会在控制台看到 DeepSeek-R1 的回复。整个过程不需要科学上网,不需要注册海外账号。就这么简单。
进阶玩法:流式输出与更多模型 #
上面的代码是常规的一次性返回,但 DeepSeek-R1 特别适合做推理任务。如果你想在用户界面上模拟“打字”的效果,就需要用到 流式输出 (Streaming)。
流式输出代码示例 #
javascript const OpenAI = require(‘openai’);
const client = new OpenAI({ apiKey: process.env.YUNWU_API_KEY || ‘sk-your-key-here’, baseURL: process.env.YUNWU_BASE_URL || ‘https://www.yunwuai.cc/v1', });
async function chatWithStream() { try { // 开启流式输出 const stream = await client.chat.completions.create({ model: ‘deepseek-r1’, messages: [ { role: ‘user’, content: ‘解释一下什么是量子纠缠,用比喻的方式。’ }, ], stream: true, // 关键参数:启用流式 });
console.log('DeepSeek-R1 流式回复:');
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content || '';
process.stdout.write(content); // 不换行打印
}
console.log('\n--- 流式输出结束 ---');
} catch (error) { console.error(‘流式调用失败:’, error); } }
chatWithStream();
流式输出的核心是 stream: true 和 for await...of 循环。这对做聊天机器人、AI 伴侣等实时交互项目非常有用。
多模型切换与成本控制 #
云雾ai中转站 支持 500+ 模型。如果你想从 DeepSeek-R1 切换到 Gemini 或者 GPT-4o,只需修改 model 参数。
javascript // 切换成 DeepSeek-V3 model: ‘deepseek-v3’
// 切换成 Gemini 2.5 Pro model: ‘gemini-2.5-pro’
// 切换成 Claude 3.5 Sonnet model: ‘claude-3.5-sonnet’
成本方面,云雾ai中转站 的价格非常透明:
- 默认分组(混合渠道):官方价格 ×1
- 限时特价分组:用于 DeepSeek、Qwen、Gemini 等,官方价格 ×0.6!
这意味着,如果你用限时特价分组调用 DeepSeek-R1,花费比官方 API 更便宜。这对于跑量大的项目来说,每个月能省下不少钱。
| 分组名称 | 费率倍数 | 推荐模型 |
|---|---|---|
| 默认(混合) | ×1 | OpenAI、Claude、国产模型 |
| 限时特价 | ×0.6 | DeepSeek、Qwen、Gemini |
| 纯 AZ | ×1.5 | 高稳定性场景 |
常见错误与解决方案 #
作为新手,你可能会遇到一些问题。这里列出最常见的三个及其解决方案:
1. 401 Unauthorized 错误
- 原因:API Key 错误或未设置。
- 解决:检查
.env文件或代码中的apiKey是否正确。重新在 云雾ai中转站 复制一把。
2. 404 或模型不存在错误
- 原因:模型名称拼写错误或该模型不在你的授权分组内。
- 解决:确认模型名称是
deepseek-r1而不是deepseek-R1(注意大小写)。检查你的分组是否支持该模型。
3. 请求超时或网络错误
- 原因:国内网络不稳定。
- 解决:云雾ai中转站 本身国内直连,如果超时,可以尝试在代码中增加超时时间。云服务商偶尔也会波动,重试一次就好。
适合哪些开发者用? #
- 个人开发者:不想为翻墙和绑定信用卡烦恼,只想快速体验 DeepSeek-R1 的能力。
- 小团队和初创公司:需要低成本、无门槛地接入强推理模型,用于内部工具或客户产品。
- AI 应用构建者:正在用 Node.js 写聊天机器人、代码助手或数据分析工具,需要一个稳定且便宜的 API 源。
- 外包或自由职业者:为客户交付项目时,需要集成 AI 能力,但不想让客户去折腾海外账号。
云雾ai中转站 的接入方式极其简单(改一行 baseURL),几乎与所有 Node.js 的 AI 框架兼容 (LangChain, LlamaIndex等)。
总结与下一步行动 #
从环境配置到流式输出,这篇文章完整覆盖了如何在 Node.js 中调用 DeepSeek-R1 API。核心就是三件事:
- 注册 云雾ai中转站 并获取 API Key。
- 修改
baseURL为https://www.yunwuai.cc/v1。 - 复制 上面的代码,粘贴到你的项目中。
就是这么简单。DeepSeek-R1 的推理能力很强,配合 云雾ai中转站 的直连和低价,你可以开始构建以前想都不敢想的应用。
现在,花 1 分钟注册,花 5 分钟跑通代码。你的个人 AI 助手,就在今天启动。