通过 WebRTC 连接 OpenAI Realtime API 实现实时语音对话
openai-realtime-api-nextjs — Next.js 启动器模板
作者 cameronking4
基于 Next.js 与 shadcn/ui 的语音 AI 启动器,通过 WebRTC 接入 OpenAI Realtime API,内置工具调用与多语言示例。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
提供 use-WebRTC 钩子封装 WebRTC 处理逻辑
内置 6 个客户端工具调用示例,含时间查询、背景切换、剪贴板复制等
支持英语、西班牙语、法语、中文的应用与语音代理本地化
使用 shadcn/ui、Tailwind CSS 与 Framer Motion 构建界面
同时支持 Node.js 与 Deno 运行时
模板详细介绍
这是一个面向语音 AI 应用的启动器模板,核心是通过 WebRTC 与 OpenAI Realtime API 建立实时音频会话。项目包含 /api 路由和基于 Next.js、shadcn/ui 构建的界面组件,并提供一个 use-WebRTC 钩子来封装 WebRTC 处理逻辑,其实现参考了 skrivov/openai-voice-webrtc-next 并做了钩子抽象。
功能层面,模板附带 6 个客户端工具调用示例:getCurrentTime、partyMode、changeBackground、launchWebsite、copyToClipboard 和 scrapeWebsite,其中 scrapeWebsite 需要额外的 FireCrawl API 密钥。界面支持英语、西班牙语、法语、中文四种语言,可分别切换应用文案与语音代理语言。样式使用 Tailwind CSS 与 Framer Motion,代码为 TypeScript 并可选启用严格 ESLint 规则。
运行环境方面,需要 Deno 或 Node.js 运行时,并在 .env 中配置 OpenAI API Key 或 Azure OpenAI API Key。按 README 说明,应用默认运行在 http://localhost:3000,也提供 Vercel 一键部署按钮。项目采用 MIT 许可,可免费使用、修改、商用和分发代码,但演示图片、字体、图标等第三方素材以及域名、托管、AI 等外部服务需另行核对许可与费用。
适合你的项目吗?
适用场景
- 搭建基于 WebRTC 的实时语音对话应用原型
- 演示 Realtime API 的客户端工具调用能力
- 验证多语言语音代理与应用文案的切换效果
- 作为 Next.js 项目中集成语音交互功能的起点
适合人群
- 需要快速验证 OpenAI Realtime API 语音方案的开发者
- 希望参考 WebRTC 与 Next.js 结合方式的工程师
- 准备构建多语言语音 AI 应用原型的团队
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Deno 或 Node.js 运行时环境
- 2
在根目录创建 .env 并配置 OPENAI_API_KEY 或 Azure OpenAI API Key
- 3
Node.js 使用 npm install 与 npm run dev,Deno 使用 deno install 与 deno task start
- 4
scrapeWebsite 工具示例需要额外的 FireCrawl API 密钥
- 5
可通过 Vercel 一键部署按钮部署,部署时需提供 OPENAI_API_KEY
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 运行应用必须自备 OpenAI 或 Azure OpenAI API 密钥并写入 .env,属于外部付费服务依赖,需自行承担调用费用。
- scrapeWebsite 工具示例依赖额外的 FireCrawl API 密钥,未配置该密钥时此功能不可用,且可能产生第三方服务费用。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
OpenAI API Key or Azure OpenAI API Key in `.env` file
README 原文
https://github.com/cameronking4/openai-realtime-api-nextjs/blob/main/LICENSEhttps://github.com/cameronking4/openai-realtime-api-nextjs/blob/main/README.md`scrapeWebsite` (requires FireCrawl API key)
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-09-30。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Next.js · React
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2025-04-12
- 截图检查日期
- 2026-09-30
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 83f142833d245c4ad7a9c6fb02e50dc55c5747b304c3b4a6c2ae0229437dca54
2026-09-30T08:13:25.865Z
来源文件 / 仓库# OpenAI WebRTC Shadcn Next15 Starter This is a WebRTC-based Voice AI stream application using `OpenAI`'s `Realtime API` and `WebRTC`. Project contains `/api` route and UI components developed with `Next.js` and `shadcn/ui`. It supports real-time audio conversations implented in [skrivov/openai-voice-webrtc-next](https://github.com/skrivov/openai-voice-webrtc-next) with the addition of a hook to abstract the WebRTC handling. https://github.com/user-attachments/assets/ea9324af-5c18-48d2-b980-2b81baeea4c0 ## Features - **Next.js Framework**: Built with Next.js for server-side rendering and API routes. - **Modern UI**: Animated using Tailwind CSS & Framer Motion & shadcn/ui. - **Use-WebRTC Hook**: A hook to abstract the OpenAI WebRTC handling. - **Tool Calling**: 6 example functions to demonstrate client side tools along with Realtime API: `getCurrentTime`, `partyMode`, `changeBackground`, `launchWebsite`, `copyToClipboard`, `scrapeWebsite` (requires FireCrawl API key) - **Localization**: Select language for app strings and the voice agent (English, Spanish, French, Chinese) - **Type Safety**: TypeScript with strict eslint rules (optional) ## Requirements - **Deno runtime** or **Node.js** - OpenAI API Key or Azure OpenAI API Key in `.env` file ## Installation ### 1. Clone the Repository ```bash git clone https://github.com/cameronking4/openai-realtime-api-nextjs.git cd openai-realtime-api-nextjs ``` ### 2. Environment Setup Create a `.env` file in the root directory: ```env OPENAI_API_KEY=your-openai-api-key ``` ### 3. Install Dependencies If using **Node.js**: ```bash npm install ``` If using **Deno**: ```bash deno install ``` ### 4. Run the Application #### Using Node.js: ```bash npm run dev ``` #### Using Deno: ```bash deno task start ``` The application will be available at `http://localhost:3000`. ## Usage 1. Open the app in your browser: `http://localhost:3000`. 3. Select a voice and start the audio session. ## Deploy to Vercel **Deploy in one-click** [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fcameronking4%2Fopenai-realtime-api-nextjs&env=OPENAI_API_KEY&envDescription=OpenAI%20Key%20(Realtime%20API%20Beta%20access)&envLink=https%3A%2F%2Fplatform.openai.com%2Fapi-keys&project-name=openai-rt-shadcn&repository-name=openai-realtime-api-nextjs-clone&demo-title=OpenAI%20Realtime%20API%20(WebRTC)%20x%20shadcn%2Fui&demo-description=Next.js%2015%20template%20to%20create%20beautiful%20Voice%20AI%20applications%20with%20OpenAI%20Realtime%20API%20Beta&demo-url=https%3A%2F%2Fopenai-rt-shadcn.vercel.app&demo-image=http%3A%2F%2Fopenai-rt-shadcn.vercel.app%2Fdemo.gif) ## License This project is licensed under the MIT License. See the `LICENSE` file for details. ## Acknowledgements - [OpenAI](https://openai.com/) for their API and models. - [Next.js](https://nextjs.org/) for the framework. - [Tailwind CSS](https://tailwindcss.com/) for styling. - [Simon Willison’s Weblog](https://simonwillison.net/2024/Dec/17/openai-webrtc/) for inspiration - [Originator: skrivov](https://github.com/skrivov/openai-voice-webrtc-next) for the WebRTC and Nextjs implementation
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

ai-website-cloner-template
Clone any website with one command using AI coding agents
Next.js · 启动器

Next.js SaaS Starter
Next.js SaaS Starter 是 Next.js 官方维护的 SaaS 起点模板,定位介于学习资源和可直接部署的脚手架之间。
Next.js · SaaS

Next.js Commerce
Next.js Commerce 是 Vercel 团队维护的电商启动模板,基于 Next.js App Router 构建,采用服务端渲染、React Server Components、Server Actions …
Next.js · 电商

Next-js-Boilerplate
Next-js-Boilerplate 是一个面向 Next.js 16、Tailwind CSS 4 和 TypeScript 的启动器,核心定位是开发者体验优先。
Next.js · 启动器

tailwind-nextjs-starter-blog
tailwind-nextjs-starter-blog 是一个面向个人技术博客的 Next.js 与 Tailwind CSS 启动模板,其 v2 版本基于 App Router 与 React Server Comp…
Next.js · 博客

next-forge
Production-grade Turborepo template for Next.js apps.
Next.js · 启动器
