Skip to content

feat(asr): 接入 AssemblyAI 和 Deepgram 实时语音转写供应商#846

Closed
lvsao wants to merge 3 commits into
Open-Less:betafrom
lvsao:feat/asr-assemblyai
Closed

feat(asr): 接入 AssemblyAI 和 Deepgram 实时语音转写供应商#846
lvsao wants to merge 3 commits into
Open-Less:betafrom
lvsao:feat/asr-assemblyai

Conversation

@lvsao

@lvsao lvsao commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

User description

摘要

接入 AssemblyAI 和 Deepgram 两个实时语音转写(Realtime ASR)供应商,扩展 openless 的语音识别能力。

新增

  • AssemblyAI: v3 WebSocket 实时 ASR 实现(assemblyai.rs)
    • 协议:\wss://streaming.assemblyai.com/v3/ws\
    • 认证:\Authorization: <API_KEY>\(无 Bearer 前缀)
    • 事件:Begin → Turn(含 end_of_turn 标记)→ Termination
    • 默认模型:universal-3-5-pro
  • Deepgram: Live WebSocket 实时 ASR 实现(deepgram.rs)
    • 协议:\wss://api.deepgram.com/v1/listen\
    • 认证:\Authorization: Token <API_KEY>\
    • 事件:Results(含 is_final / speech_final 标记)
    • 默认模型:nova-3,默认语言:zh
  • 集成到 coordinator 调度层:新增 \ActiveAsr::AssemblyAI\ / \ActiveAsr::Deepgram\ 枚举变体及 wiring
  • 新增供应商校验函数:\�alidate_assemblyai_asr_provider()\ / \�alidate_deepgram_asr_provider()\
  • 更新多语言 i18n 标签(en/ja/ko/zh-CN/zh-TW)
  • 新增供应商预设(shared.tsx)

修复

  • Deepgram 服务端 Close 误判为成功:\Ok(Message::Close(_))\ 改为调用 \ inish_with_partial_or_error\ 而非 \ inish_success\,避免因 API Key 错误等导致的服务器闭包被误认为转写成功
  • Deepgram 静音验证超时:Deepgram 对纯静音不会返回最终转写结果,验证函数跳过 \�wait_final_result()\,仅验证连接与关闭流程

兼容

  • 不包含破坏性变更
  • 对现有用户无影响,新增供应商需用户在设置中手动配置
  • 构建流程无变化

测试计划

  • 单元测试覆盖:connect_url 格式、事件处理(Begin/Turn/Termination/Results)
  • 集成验证需真实 API Key 进行端到端测试

PR Type

Enhancement, Bug fix


Description

  • Add AssemblyAI and Deepgram realtime ASR providers

  • Integrate new providers into coordinator and validation

  • Fix Deepgram server close misinterpretation as success

  • Skip final result await for silent Deepgram validation


Diagram Walkthrough

flowchart LR
  A["AssemblyAI Realtime ASR"] --> B["WebSocket wss://streaming.assemblyai.com/v3/ws"]
  C["Deepgram Realtime ASR"] --> D["WebSocket wss://api.deepgram.com/v1/listen"]
  E["coordinator.rs"] --> F["ActiveAsr enum variants"]
  G["providers.rs"] --> H["Validation functions"]
  I["i18n"] --> J["New labels"]
  K["shared.tsx"] --> L["Provider presets"]
Loading

File Walkthrough

Relevant files
Enhancement
6 files
assemblyai.rs
Add AssemblyAI streaming ASR module                                           
+614/-0 
deepgram.rs
Add Deepgram streaming ASR module                                               
+565/-0 
mod.rs
Register AssemblyAI and Deepgram modules                                 
+4/-0     
providers.rs
Add validation functions for new providers                             
+94/-0   
coordinator.rs
Add AssemblyAI/Deepgram enum variants and wiring                 
+60/-2   
asr_wiring.rs
Implement startup logic for new ASR providers                       
+60/-0   
Documentation
5 files
en.ts
Add English labels for AssemblyAI/Deepgram                             
+2/-0     
ja.ts
Add Japanese labels for AssemblyAI/Deepgram                           
+2/-0     
ko.ts
Add Korean labels for AssemblyAI/Deepgram                               
+2/-0     
zh-CN.ts
Add Chinese (Simplified) labels for new ASRs                         
+2/-0     
zh-TW.ts
Add Chinese (Traditional) labels for new ASRs                       
+2/-0     
Configuration changes
1 files
shared.tsx
Add AssemblyAI/Deepgram provider presets                                 
+2/-0     

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

(Review updated until commit a75c6c5)

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ No major issues detected

@lvsao lvsao changed the title feat(asr): add AssemblyAI and Deepgram realtime ASR providers feat(asr): 接入 AssemblyAI 和 Deepgram 实时语音转写供应商 Jul 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit a75c6c5

1 similar comment
@github-actions

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit a75c6c5

@H-Chris233

Copy link
Copy Markdown
Collaborator

提交一个PR,你连测试都不带跑的就放上来你尊重人吗你😡😡😡

@H-Chris233 H-Chris233 closed this Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants