跳转至

Deepgram

Deepgram 是一种语音转文本 API。OpenClaw 通过 tools.media.audio 使用它进行入站音频/语音留言转录,并通过 plugins.entries.voice-call.config.streaming 用于 Voice Call 流式 STT。

批处理转录会将完整音频文件上传到 Deepgram。Flux 模型则改用 Deepgram 的一次性 WebSocket。两条路径都会将转录文本注入回复管道({{Transcript}} + [Audio] 块)。 Voice Call 流式处理会通过 Deepgram 的 WebSocket listen 端点转发实时 G.711 u-law 帧,并在 Deepgram 返回时发出部分/最终转录文本。

详情 值
文档 developers.deepgram.com
认证 DEEPGRAM_API_KEY
默认模型 nova-3

快速开始

1. 设置你的 API 密钥

export DEEPGRAM_API_KEY=dg_...

2. 启用音频提供商

{
  tools: {
    media: {
      models: [{ provider: "deepgram", model: "nova-3", capabilities: ["audio"] }],
      audio: {
        enabled: true,
      },
    },
  },
}

3. 发送语音留言

通过任意已连接渠道发送音频消息。OpenClaw 会通过 Deepgram 对其进行转录,并将转录文本注入回复管道。

配置选项

选项 路径 描述
model tools.media.models[].model Deepgram 模型 ID(默认:nova-3)
language tools.media.models[].language 语言提示(可选)

providerOptions.deepgram 会将额外查询参数直接合并到 Deepgram /listen 请求中,因此任何 Deepgram 支持的参数名都可以使用 (例如 detect_language、punctuate、smart_format):

{
  tools: {
    media: {
      models: [
        { provider: "deepgram", model: "nova-3", language: "en", capabilities: ["audio"] },
      ],
      audio: {
        enabled: true,
      },
    },
  },
}
{
  tools: {
    media: {
      models: [{ provider: "deepgram", model: "nova-3", capabilities: ["audio"] }],
      audio: {
        enabled: true,
        providerOptions: {
          deepgram: {
            detect_language: true,
            punctuate: true,
            smart_format: true,
          },
        },
      },
    },
  },
}

Flux 模型

对于 Deepgram Flux,请使用 flux-general-en 或 flux-general-multi。OpenClaw 会使用 ffmpeg 将语音留言转换为 16 kHz 单声道 linear16 音频,然后发送到 Deepgram 的 /v2/listen WebSocket 端点。 在上面的快速开始配置中,将 tools.media.models[].model 设置为任一 Flux 模型。

语音留言转换会处理完整音频文件,包括时长超过 20 分钟的留言。解码后的音频使用私有临时文件,并在 转录尝试后删除。已配置的输入大小和请求超时 限制仍然适用;转换或上传失败不会返回部分转录文本。

Flux 支持在 providerOptions.deepgram 中使用 eager_eot_threshold、eot_threshold、eot_timeout_ms、 keyterm、language_hint、mip_opt_out、numerals、profanity_filter、 redact 和 tag。OpenClaw 在 Flux 上会忽略仅限批处理的选项,例如 detect_language、punctuate 和 smart_format。 语言提示仅适用于 flux-general-multi:OpenClaw 会将模型条目的 language 设置映射到 language_hint,显式提供商选项优先。对于仅支持英语的 flux-general-en 模型,这两个设置都会被忽略。

Voice Call 流式 STT

内置的 deepgram 插件还会为 Voice Call 插件注册一个实时转录提供商。

设置 配置路径 默认值
API 密钥 plugins.entries.voice-call.config.streaming.providers.deepgram.apiKey 回退到 DEEPGRAM_API_KEY
基础 URL ...deepgram.baseUrl DEEPGRAM_BASE_URL 或 Deepgram 公共 API
模型 ...deepgram.model nova-3
语言 ...deepgram.language (未设置)
编码 ...deepgram.encoding mulaw
采样率 ...deepgram.sampleRate 8000
端点检测 ...deepgram.endpointingMs 800
中间结果 ...deepgram.interimResults true
{
  plugins: {
    entries: {
      "voice-call": {
        config: {
          streaming: {
            enabled: true,
            provider: "deepgram",
            providers: {
              deepgram: {
                apiKey: "${DEEPGRAM_API_KEY}",
                model: "nova-3",
                endpointingMs: 800,
                language: "en-US",
              },
            },
          },
        },
      },
    },
  },
}

对于 Deepgram 自定义端点, 请将 baseUrl 设置为端点根地址,包括任何基础路径,但不要包含 /listen。 实时端点接受 http://、https://、ws:// 和 wss://。HTTP 映射到 WS,HTTPS 映射到 WSS,显式 WebSocket 协议保持不变。 格式错误的 URL 和其他协议会在会话设置期间失败。

Note

Voice Call 接收电话音频,格式为 8 kHz G.711 u-law。Deepgram 流式提供商默认使用 encoding: "mulaw" 和 sampleRate: 8000,因此 Twilio 媒体帧可以直接转发。

备注

认证

认证遵循标准提供商认证顺序。DEEPGRAM_API_KEY 是最简单的路径。

代理和自定义端点

使用代理时,在 Deepgram 的 tools.media.models[] 条目上覆盖端点或请求头。

输出行为

输出遵循与其他提供商相同的音频规则(大小上限、超时、转录注入)。

Flux 需要 ffmpeg

在选择 Flux 模型之前,请使用网关主机的包管理器安装 ffmpeg。

媒体工具

音频、图像和视频处理流水线概览。

配置

完整配置参考,包括媒体工具设置。

故障排除

常见问题和调试步骤。

常见问题

关于 OpenClaw 设置的常见问题。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw