当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 用 DeepSeek API 从零写一个流式摘要小工具:Node.js 命令行版

用 DeepSeek API 从零写一个流式摘要小工具:Node.js 命令行版

来源:17golang原创 2026-07-01 11:54:19 0浏览 收藏

很多 AI 小工具不需要一开始就做成完整网站。比如“把一段长文本压缩成 5 条摘要”,用命令行就能快速验证:输入文本文件,调用模型,边生成边显示结果,最后把摘要保存下来。这篇文章用 DeepSeek API 和 Node.js 从零写一个流式摘要小工具,重点放在能跑、能看见输出、能处理失败。

根据 DeepSeek API Docs,DeepSeek API 使用兼容 OpenAI/Anthropic 的接口格式;在 OpenAI 格式下可以访问 https://api.deepseek.com,并通过 /chat/completions 发起对话请求。官方文档也提示旧模型名 deepseek-chatdeepseek-reasoner 将在 2026-07-24 15:59 UTC 弃用,所以新项目建议优先选择文档里的 deepseek-v4-prodeepseek-v4-flash

目录
  • 项目目标:一个能边输出边摘要的 CLI
  • 环境准备:密钥、依赖和输入文件
  • 核心代码:读取文本并请求模型
  • 本地运行:从文件到流式输出
  • 部署和集成:把小工具接进工作流
  • 验收清单:怎么确认它真的可用
  • 总结

项目目标:一个能边输出边摘要的 CLI

我们要做的工具很小,目标也很明确:

  • 从本地文件读取一段长文本。
  • 调用 DeepSeek API 生成中文摘要。
  • 使用流式响应,让用户不用等完整结果才看到输出。
  • 最后把生成内容保存成 summary.md

这个项目适合作为 AI 应用的第一步:你可以先验证提示词、模型响应速度和错误处理,再决定要不要扩展成网页、接口服务或自动化任务。

DeepSeek 流式摘要小工具时间线:读取文件、提交请求、流式输出、保存摘要

环境准备:密钥、依赖和输入文件

先准备一个空目录,并安装 OpenAI 兼容 SDK:

mkdir ai-summary-cli
cd ai-summary-cli
npm init -y
npm install openai

然后设置环境变量。密钥不要写进代码,也不要提交到仓库:

export DEEPSEEK_API_KEY="你的 DeepSeek API Key"

准备一个输入文件 input.txt,里面放需要摘要的内容。第一次测试建议用几百到一两千字,不要上来就塞超长文档,这样更容易观察请求、输出和失败提示。

核心代码:读取文本并请求模型

新建 summarize.mjs,代码如下:

import OpenAI from "openai";
import fs from "node:fs/promises";

const apiKey = process.env.DEEPSEEK_API_KEY;

if (!apiKey) {
  console.error("请先设置 DEEPSEEK_API_KEY");
  process.exit(1);
}

const client = new OpenAI({
  apiKey,
  baseURL: "https://api.deepseek.com"
});

const inputPath = process.argv[2] || "input.txt";
const outputPath = process.argv[3] || "summary.md";
const sourceText = await fs.readFile(inputPath, "utf8");

const stream = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  stream: true,
  messages: [
    {
      role: "system",
      content: "你是一个严谨的中文摘要助手,只输出摘要,不补充无关内容。"
    },
    {
      role: "user",
      content: `请把下面内容整理成 5 条要点,并保留关键数字和结论:\n\n${sourceText}`
    }
  ]
});

let result = "";

for await (const chunk of stream) {
  const delta = chunk.choices?.[0]?.delta?.content || "";
  if (!delta) continue;
  process.stdout.write(delta);
  result += delta;
}

await fs.writeFile(outputPath, result + "\n", "utf8");
console.log(`\n\n已保存到 ${outputPath}`);

这里有三个关键点:第一,baseURL 指向 DeepSeek 的 OpenAI 兼容入口;第二,stream: true 打开流式响应;第三,循环里每拿到一段内容就打印出来,同时拼接到最终结果里。

本地运行:从文件到流式输出

运行命令:

node summarize.mjs input.txt summary.md

正常情况下,终端会边生成边显示摘要,结束后看到“已保存到 summary.md”。如果没有输出,先检查三个地方:

  • DEEPSEEK_API_KEY 是否已经设置。
  • input.txt 是否存在且有内容。
  • 当前网络是否能访问 API 地址。

DeepSeek 摘要工具运行检查:环境变量、输入文件、流式输出、保存结果和错误分支

部署和集成:把小工具接进工作流

命令行工具最适合先接入低风险流程。例如:

  • 把会议纪要草稿整理成 5 条待办。
  • 把技术文档压缩成阅读提纲。
  • 把客服反馈整理成问题分类。
  • 把日志说明转换成排查清单。

如果后续要集成到后台任务或网页接口里,建议先补三件事:限制输入长度、记录请求耗时、给失败场景返回清晰提示。不要把用户隐私、生产密钥、内部合同等敏感内容直接送给模型;确实要处理内部文本时,先做脱敏和权限控制。

验收清单:怎么确认它真的可用

上线前可以按这张清单验收:

  • 结果可读:摘要是不是 5 条,是否保留了关键数字和结论。
  • 输出可见:终端是否能看到流式输出,而不是一直空等。
  • 失败清楚:没有密钥、文件不存在、网络异常时,提示是否明确。
  • 文件落盘:summary.md 是否正常生成,内容是否和终端一致。
  • 安全边界:是否避免把密钥和敏感数据写入代码或仓库。

总结

这个小项目把 AI 应用最核心的链路跑通了:读入文本、组织提示词、调用 DeepSeek API、流式显示结果、保存摘要。它足够小,适合快速验证;也足够完整,后续可以扩展成网页摘要、批量处理、定时任务或文档归档流程。真正落地时,别只关注模型回答,还要把输入长度、失败提示、权限边界和敏感信息处理一起设计进去。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
DeepSeek 官网是什么?App 怎么下载更安全:入口核对和使用建议DeepSeek 官网是什么?App 怎么下载更安全:入口核对和使用建议
上一篇
DeepSeek 官网是什么?App 怎么下载更安全:入口核对和使用建议
Go 并发读写 map 怎么选:map+RWMutex、sync.Map、分片 map 对比
下一篇
Go 并发读写 map 怎么选:map+RWMutex、sync.Map、分片 map 对比
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • ljg-skills -
    ljg-skills
    ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
    3157次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    2919次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    2872次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    3078次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    3033次使用
查看更多
相关文章
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码