返回资源中心

chatgpt.js

框架库
AI工具
1 次浏览
0 个赞
ChatGPTJavaScriptAI客户端

资源描述

chatgpt.js 是一个轻量、无依赖的客户端 JavaScript 库,专为在浏览器或 Node.js 环境中安全、高效地与 ChatGPT(基于官方 Web API)交互而设计。支持会话管理、消息流式渲染、上下文持久化与错误重试机制,适用于构建嵌入式聊天界面、AI 增强型 Web 应用及低代码 AI 集成场景,显著降低前端接入门槛。

详细内容

# chatgpt.js — 轻量级 ChatGPT 客户端 JavaScript 库 ## 框架简介与定位 `chatgpt.js` 是一个开源、零依赖的纯 JavaScript 库,专注于在**客户端环境**(浏览器或 Deno/Node.js 的现代运行时)中安全、合规地调用 ChatGPT 的 Web 端通信协议(非反向代理,不绕过官方认证)。它不封装 OpenAI REST API,而是模拟并抽象化官方 `chat.openai.com` 前端会话交互逻辑,适用于需保留原生 ChatGPT 会话上下文、身份状态与 UI 兼容性的嵌入式集成场景。 ## 核心特性 - ✅ **无 Token 代理模式**:直接复用用户已登录的 ChatGPT 会话 Cookie(需用户授权),避免暴露 API Key,符合安全合规要求; - ✅ **流式响应支持**:完整解析 `text/event-stream`,逐字节触发 `onMessageChunk` 回调,实现类官方的打字机效果; - ✅ **会话状态管理**:自动维护 conversation ID、parent message ID、model 版本等关键元数据,支持多轮连续对话; - ✅ **错误弹性处理**:内置网络中断重试、429 限流退避、会话过期自动刷新(需配合登录态维持); - ✅ **轻量可嵌入**:ESM/CJS/UMD 多格式发布,压缩后仅 ~12 KB,无外部依赖,可直接 `<script type="module">` 引入; ## 适用场景 - 在自有 Web 应用中嵌入 ChatGPT 对话面板(如客服助手、文档智能问答); - 构建基于 ChatGPT 会话能力的 PWA 或桌面 Electron 应用; - 教育/演示类项目中快速验证 ChatGPT 交互逻辑,无需后端中转; - 低代码平台中作为「AI 连接器」组件,供非开发者配置调用; - 合规前提下,对已有 ChatGPT 账户进行自动化会话测试与行为分析(需遵守 [OpenAI Terms](https://openai.com/policies/terms-of-use))。 ## 快速入门 ### 安装 ```bash # npm npm install chatgpt.js # 或直接通过 CDN(浏览器) <script type="module"> import { ChatGPT } from 'https://cdn.jsdelivr.net/npm/chatgpt.js@latest/dist/index.esm.js'; </script> ``` ### 最小示例(浏览器环境,需用户已登录 chat.openai.com) ```js const chat = new ChatGPT(); chat.on('message', (msg) => console.log('Received:', msg.content)); chat.on('error', (err) => console.error('Chat error:', err)); await chat.init(); // 自动检测并复用当前页面 ChatGPT 登录态 await chat.sendMessage('Hello, explain quantum computing in simple terms.'); ``` > ⚠️ 注意:首次使用需确保用户已在同一浏览器上下文中登录 https://chat.openai.com,且未启用严格第三方 Cookie 限制。 ## 生态与社区 - **源码与文档**:主仓库托管于 GitHub(项目名 `chatgpt.js`),文档站点为 [https://chatgpt.js.org](https://chatgpt.js.org),含 API 参考、最佳实践与常见问题; - **社区支持**:活跃 Discord 社区提供实时答疑,GitHub Issues 用于 bug 报告与功能建议; - **兼容性**:持续适配 ChatGPT Web 界面更新(v2023–2024 主要版本),版本号遵循语义化规范(SemVer); - **贡献友好**:提供完整的 E2E 测试套件(基于 Playwright),欢迎提交 PR 改进会话稳定性与新特性支持。