Skip to content

feat(asr): add AssemblyAI and Deepgram realtime ASR providers#847

Closed
lvsao wants to merge 1 commit into
Open-Less:betafrom
lvsao:feat/asr-deepgram
Closed

feat(asr): add AssemblyAI and Deepgram realtime ASR providers#847
lvsao wants to merge 1 commit into
Open-Less:betafrom
lvsao:feat/asr-deepgram

Conversation

@lvsao

@lvsao lvsao commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

User description

摘要

Fixes #。

说明这个 PR 解决的单一目标。标题必须使用 type(scope): 中文目标,例如 docs(infra): 补齐 Windows 构建说明

修复 / 新增 / 改进

兼容

  • 不包含:
  • 对现有用户 / 本地环境 / 构建流程的影响:

测试计划

  • 命令:
  • 结果:
  • 证据路径:

PR Type

Enhancement


Description

  • Add AssemblyAI realtime ASR provider (v3 WebSocket)

  • Add Deepgram realtime ASR provider (Live WebSocket)

  • Integrate into coordinator and validation logic

  • Update i18n labels for new providers


Diagram Walkthrough

flowchart LR
  A["AssemblyAI Provider"] --> B["Coordinator Integration"]
  C["Deepgram Provider"] --> B
  B --> D["Validation & Wiring"]
  D --> E["I18n Labels & Presets"]
Loading

File Walkthrough

Relevant files
Enhancement
7 files
assemblyai.rs
New AssemblyAI WebSocket ASR implementation                           
+614/-0 
deepgram.rs
New Deepgram WebSocket ASR implementation                               
+565/-0 
mod.rs
Add module declarations and re-exports                                     
+4/-0     
providers.rs
Add validation functions for new providers                             
+95/-0   
coordinator.rs
Add enum variants and credential readers                                 
+60/-2   
asr_wiring.rs
Add provider identification and session build                       
+60/-0   
shared.tsx
Add presets for AssemblyAI and Deepgram                                   
+2/-0     
Documentation
5 files
en.ts
Add English labels for new providers                                         
+2/-0     
ja.ts
Add Japanese labels for new providers                                       
+2/-0     
ko.ts
Add Korean labels for new providers                                           
+2/-0     
zh-CN.ts
Add Simplified Chinese labels for new providers                   
+2/-0     
zh-TW.ts
Add Traditional Chinese labels for new providers                 
+2/-0     

@github-actions

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Potential Bug

In open_session, when a WebSocket Close frame is received from the server, the code calls this.finish_success() unconditionally. This treats any server-initiated close, including error closures, as a successful transcript completion. If the server closes due to an invalid API key or internal error, the function will produce an empty or partial transcript instead of propagating the error. The receiver will never see the error. This can cause silent failures. The fix should check for an error message or treat unexpected closes as errors rather than success.

Ok(Message::Close(_)) => {
    this.finish_success();
    break;
}

@lvsao

lvsao commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

关闭此重复 PR。#846 已包含相同的 commit(e655169),其中已涵盖 AssemblyAI 和 Deepgram 两个供应商的接入。

@lvsao lvsao closed this Jul 21, 2026
@lvsao
lvsao deleted the feat/asr-deepgram branch July 21, 2026 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant