
openai-node
官方 TS SDK,类型安全调用 OpenAI 接口
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-10-26 · 当前星标 ★ 11242
技术标签
使用教程
环境要求
- Node.js 运行环境(README 未限定版本,建议用 LTS)
- npm 包管理器
- 一个可用的 API Key,通过环境变量 OPENAI_API_KEY 提供
- 可选:Deno 运行时可从 npm 直接导入该包
安装与启动步骤
-
1确认运行环境
确认本机已安装 Node.js 与 npm,后续安装和示例都在 Node 环境中运行。
node -v npm -v -
2初始化项目目录
新建一个空目录并生成 package.json,作为使用 SDK 的工程根目录。
mkdir openai-demo && cd openai-demo && npm init -y -
3安装 openai 包
README 给出的唯一安装方式,在项目目录下执行即可完成依赖安装。
npm install openai -
4配置 API Key
SDK 默认读取环境变量 OPENAI_API_KEY,该设置只对当前终端会话生效。
export OPENAI_API_KEY=sk-xxxxxxxx -
5编写调用脚本
按 README 示例创建 index.mjs,调用 Responses API 并打印返回文本。
cat > index.mjs <<'EOF' import OpenAI from 'openai'; const client = new OpenAI({ apiKey: process.env['OPENAI_API_KEY'], }); const response = await client.responses.create({ model: 'gpt-5.5', instructions: 'You are a coding assistant that talks like a pirate', input: 'Are semicolons optional in JavaScript?', }); console.log(response.output_text); EOF -
6运行脚本验证
执行脚本,终端输出模型生成的文本即代表安装与调用链路正常。
node index.mjs -
7Deno 方式导入
使用 Deno 时无需 npm 安装,直接从 npm 说明符导入该包即可。
import OpenAI from 'npm:openai';
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
apiKey | 是 | 调用接口的凭证,默认从环境变量 OPENAI_API_KEY 读取,可省略显式传入 | sk-xxxxxxxx |
baseURL | 否 | 自定义请求地址,用于对接兼容 OpenAI 协议的服务端点 | https://your-endpoint.example.com/v1 |
如何确认成功
运行 node index.mjs 后终端打印出模型返回的文本(response.output_text),即表示安装与调用成功。
常见问题
Q:运行时报错找不到 API Key 或鉴权失败怎么办?
A:确认当前终端已执行 export OPENAI_API_KEY=...,且 Key 未失效;换终端窗口后需重新导出环境变量。
Q:可以在 TypeScript 项目里直接用吗?
A:可以,该包自带完整类型定义,在 .ts 文件中按 README 示例导入即可获得类型提示与自动补全。
Q:Deno 环境怎么用?
A:无需 npm 安装,直接写 import OpenAI from 'npm:openai'; 即可导入使用。
Q:多轮对话历史丢失上下文怎么办?
A:README 提示手动维护历史时应按顺序保留 output items,直接筛选成 message 会丢掉必需内容。
注意事项
- 不要把 API Key 写死在代码里或提交到 Git 仓库,统一用环境变量注入。
- README 未限定 Node.js 最低版本,建议使用官方 LTS 版本以避免兼容问题。
- 更多接口用法见仓库中的 api.md 与 examples 目录,不要凭猜测传参。
核心亮点
- 官方维护,API 变更同步及时,类型定义完整
- 内置重试、超时、流式响应与分页,省去样板代码
- 统一错误类型与请求 ID,便于排查和日志追踪
不足之处
- 仅覆盖 OpenAI 协议,换其他厂商模型需另配 SDK
- 大版本升级偶有破坏性变更,需关注迁移说明
适用场景
- Node.js 后端服务集成对话与嵌入能力
- 前端或全栈项目通过 TypeScript 调用 OpenAI 接口
- 构建流式输出的聊天应用或命令行工具
替代项目
openai-python、langchainjs、vercel-ai-sdk
上一篇:openai
下一篇:openai-openapi
同类项目推荐
Lexoid
开源
把脏乱数据变成 AI 能用的干净上下文
The open-source universal adapter for LLMs. Turn messy real-world data into clean, a···
cc-statistics
开源
一个面板看穿所有AI编程工具的花费与效率
AI Coding stats dashboard — track costs, tokens, and efficiency across Claude Code ···
llm.report
开源
记录 OpenAI 调用日志,分析成本,优化提示词
llm.report is an open-source logging and analytics platform for OpenAI: Log your Cha···
CF-Workers-TGProxy
开源
白嫖 Cloudflare 搭私有 Telegram 代理,网页和客户端都能连
基于 Cloudflare Workers 的 Telegram Web/MTProto WebSocket 代理中继,支持 bridge 鉴权···
anolisa
开源
用 Rust 打造 AI 代理的底层操作系统,让多代理协同更稳更安全。
ANOLISA (Agentic Nexus Operating Layer & Interface System Architecture) | Agentic OS···
paddock
开源
Rust 写的推理服务器,Mac 和 N 卡都能跑开放模型
Native Rust inference server for open models on NVIDIA and Apple Silicon. OpenAI- an···
ShannonBase
开源
像用 MySQL 一样,为 AI 应用构建统一数据底座
The Next-Gen Database for AI—an infrastructure designed for data and AI. As the MyS···
airgate-core
开源
插件化 AI 网关,多账号调度+计费,一键部署拼车共享
插件化 AI 中转网关,平台能力以 gRPC 插件独立装载,支持多账号调度、计费与拼车共享,do···
evadb
开源
用 SQL 方式调用 AI 模型,快速构建智能数据应用
Database system for AI-powered apps