@framers/agentos-ext-streaming-tts-openai

中文文档
0.2.5发布于 2026/10/21Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 2.1万

通过 OpenAI 音频语音 API 流出 TTS ,并配有 AgentOS 语音管道的可适应句子块

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 配置
  4. 页:1
  5. 核心事件兼容性
  6. 许可证

OpenAI 流式语音合成

此包会给一个代理语音合成提供者, 将文本符号分割成句子块并将其发送到 OpenAI Audio Speech HTTP API 使用 fetch。 。 。 .

安装

npm install @framers/agentos-ext-streaming-tts-openai

同伴依赖 : @framers/agentos (单位:千美元)>=0.10.40) (中文(简体) ).

使用量

import { AgentOS } from '@framers/agentos';

const agentos = await AgentOS.create({
  extensionManifest: {
    packs: [
      {
        package: '@framers/agentos-ext-streaming-tts-openai',
        options: { voice: 'nova', format: 'opus' },
      },
    ],
  },
  extensionSecrets: {
    OPENAI_API_KEY: process.env.OPENAI_API_KEY!,
  },
});

配置

会议 providerOptions 覆盖 model, (中文(简体) ), voice, (中文(简体) ), format 财务报告和审定财务报表 maxBufferMs。基础 URL 仍然是一个提供者设置.

选项秘密编号环境变量需求默认
apiKey (提供者配置; 选项在运行时也接受)OPENAI_API_KEY无是, 提供者接口包厂空字符串
baseUrl无无没有https://api.openai.com
model无无没有'tts-1'
voice无无没有'nova'
format无无没有'opus'
maxBufferMs无无没有2000 毫秒

页:1

包注册一个已启用 streaming-tts-provider 有提供者 id openai-streaming-tts。 。 。 . createOpenAIStreamingTTS 还从 API 密钥和可选设置创建独立的提供者.

句子边界需要先标出后标出白空格. 不活动计时器在每个符上重放并发出文本到上个空格,保留最终的单词. flush 散发所剩文本并等待未决的综合请求。 等待同一请求的弗卢什有一个结果,所以没有一个报告一个失败的批次完成.

每个句子开始一个 HTTP POST 到 /v1/audio/speech 在它的前身完成之后。 在核心和遗留的音频事件发出之前,将完全读取答复。 请求和音频按输入顺序排列.

会话保留遗留事件并添加 audio 财务报告和审定财务报表 flush_complete. Raw PCM 持续时间来自样本字节;压缩持续时间仍然是一个字数估计.

cancel 中止请求和报告缓冲文本. close 取消计时器, 中止请求并发送 close请求出错 error,如WAV响应不是一个很好配置的PCM16单容器;中止错误被压制. 交付时 error 扔出, 因为没有收听器被附着或收听器被丢出, 后面的句子仍然运行, 接下来的句子 flush 除此外拒绝。 没有设定 HTTP 超时, 通用会话 language 未转发.

工厂在密钥缺失时使用空密钥, 除非运行时选项扩展覆盖 apiKey它不验证证书或读取环境变量.

核心事件兼容性

核心消费者得到 audio 判决顺序和 flush_complete 成功排出合成批量。 遗产 audio_chunk, (中文(简体) ), utterance_start 财务报告和审定财务报表 utterance_complete 活动仍可提供。 订阅两个音频名称,而不是两个。 请求按顺序执行,所以快速的第二次请求不能超过第一次请求。 取消中止允许 HTTP 工作并删除已队列的句子 .

核心音频接受PCM,MP3和Opus. WAV在WAV容器中被明确宣布为PCM. AAC和FLAC仍然可供传统用户使用,当核心音频听众在场时,在合成前被拒绝. 原始PCM持续时间取自样本字节;压缩持续时间仍为估计. 完成报告综合,不得重复播放. 此仅事件适配器没有等待播放的回放槽,也不声称主机兼容 .

许可证

阿帕奇 - 2.0

版本与发布记录

@framers/agentos-ext-streaming-tts-openai 共发布 6 个版本,首次发布于 2026/03/25;过去 12 个月发布了 6 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.5latest2026/10/2125 天前
0.2.42026/10/151 个月前
0.2.32026/10/121 个月前
0.2.22026/10/111 个月前
0.2.12026/10/081 个月前
0.2.02026/03/257 个月前

关于 @framers/agentos-ext-streaming-tts-openai 的常见问题

@framers/agentos-ext-streaming-tts-openai 是什么?

通过 OpenAI 音频语音 API 流出 TTS ,并配有 AgentOS 语音管道的可适应句子块

如何安装 @framers/agentos-ext-streaming-tts-openai?

在项目目录运行 npm install @framers/agentos-ext-streaming-tts-openai,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@framers/agentos(>=0.10.40)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@framers/agentos-ext-streaming-tts-openai 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@framers/agentos-ext-streaming-tts-openai 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@framers/agentos-ext-streaming-tts-openai 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@framers/agentos-ext-streaming-tts-openai 可以商用吗?

@framers/agentos-ext-streaming-tts-openai 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@framers/agentos-ext-streaming-tts-openai 的下载量有多少?

根据 npm 官方下载统计,@framers/agentos-ext-streaming-tts-openai 在 2026/10/16 – 2026/11/14 这 30 天内被下载 20,973 次,日均约 699 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@framers/agentos-ext-streaming-tts-openai 还在维护吗?

最新版本 0.2.5 发布于 2026/10/21(25 天前);至今共发布 6 个版本,其中过去 12 个月发布了 6 个;首次发布于 2026/03/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。