Repository navigation
fix(asr): 完善 ElevenLabs Scribe 接入并解决 beta 冲突 - #800
Closed
H-Chris233 wants to merge 6 commits into
Closed
H-Chris233 wants to merge 6 commits into
H-Chris233 wants to merge 6 commits into
Conversation
Add ElevenLabs Speech-to-Text (Scribe) as a batch ASR provider. ElevenLabs uses `POST /v1/speech-to-text` with multipart/form-data (`model_id` + `file`) and the `xi-api-key` header — not OpenAI's Bearer `/audio/transcriptions` protocol — so it gets a dedicated client (`asr/elevenlabs.rs`) modeled on the MiMo batch client rather than riding on WhisperBatchASR. `tag_audio_events=false` keeps bracketed non-speech events out of dictation transcripts. Wiring: - ActiveAsr::ElevenLabs + ActiveAsrProviderKind::ElevenLabs, dictation / QA / retranscribe transcribe arms, cancel arm, credential reader. - provider validation + model list (scribe_v1 / scribe_v2). - credentials "configured" check (api key + endpoint + model). - frontend preset, Overview label, en/zh-CN/zh-TW/ja/ko i18n. Verified the wire protocol end-to-end against the live ElevenLabs API. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
scribe_v1 is deprecated and is removed from the ElevenLabs API on 2026-07-09, so shipping it as the default would break shortly. scribe_v2 is the current recommended model (higher accuracy, 99 languages, ~40% cheaper, multi-language in one file). Update the Rust DEFAULT_MODEL, the frontend preset, and the validation/model-list fallback accordingly; keep scribe_v1 selectable in the model list for now. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
active_asr_provider_kind's test locked bailian/whisper/mimo/volcengine but not ElevenLabs, so a regression in is_elevenlabs_provider or its ordering in the dispatch chain would go uncaught. Add the assertion. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
Collaborator
Author
|
已通过 maintainer edit 将同一提交推回原始 PR #797;本 PR 为重复替代 PR,关闭。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
变更
beta,解决全部合并冲突。根因
原 PR 基于旧版
beta,与当前beta在 ASR、coordinator 和设置页面存在冲突;同时自定义端点实际请求路径未完全复用安全校验,QA 转写和设置凭据写入存在竞态。验证
cargo check --locked --libnpm.cmd run buildgit diff --check该 PR 替代 #797。原 PR 的 head 属于无当前账号写权限的
Billmvp73/openless,因此无法直接更新其源分支。PR Type
Enhancement, Documentation
Description
Add ElevenLabs Scribe batch ASR provider
Introduce provider-scoped credential storage
Extract shared HTTP endpoint validation module
Update frontend presets, i18n, and privacy notice
Diagram Walkthrough
File Walkthrough
15 files
Add ElevenLabs Scribe ASR clientRegister elevenlabs submoduleAccept optional provider in credential commandsAdd ElevenLabs validation and model listHandle ElevenLabs ASR in coordinatorAdd is_elevenlabs_provider and build wiringWire ElevenLabs into dictation sessionsWire ElevenLabs into QA sessionsCancel ElevenLabs ASRExtract shared HTTP endpoint validationDeclare endpoint_security moduleAdd get/set_for_asr_provider methodsForward provider param in credential functionsAdd provider‑scoped credential fields and noticeAdd ElevenLabs preset entry5 files
Add ElevenLabs preset and update privacy stringsTranslate ElevenLabs preset and privacy stringsTranslate ElevenLabs preset and privacy stringsTranslate ElevenLabs preset and privacy stringsTranslate ElevenLabs preset and privacy strings