feat(asr): add local FunASR provider - #1044
Conversation
Signed-off-by: LauraGPT <199134975+LauraGPT@users.noreply.github.com>
|
Hi @LauraGPT, thanks for the FunASR integration. |
Signed-off-by: LauraGPT <199134975+LauraGPT@users.noreply.github.com>
Signed-off-by: LauraGPT <199134975+LauraGPT@users.noreply.github.com>
|
@wyuc Synced the branch again to exact current This update merged cleanly. The PR-relative scope remains the same 37 FunASR provider, settings, localization, documentation, logo, and regression-test files. Fresh validation on the pushed head:
I will monitor the new CI run and address any code failure immediately. |
|
Thank you for merging the native local FunASR provider. FunASR has now added OpenMAIC to the official bilingual community catalog and the public ecosystem pages, and published an operator-ready bilingual announcement:
The official-side regression covers the merged provider attribution, |
Summary
funasr-asrprovider for the local OpenAI-compatible FunASR serversensevoice,paraformer, andfun-asr-nanoThis addresses the FunASR ASR portion of #618. The requested IndexTTS integration remains separate, so this PR intentionally does not close the issue.
Validation
pnpm check:i18n-keyspnpm exec tsc --noEmitpnpm lint(0 errors; 15 pre-existing warnings outside this change)pnpm check:package-versions origin/maingit diff --checkReal service validation used the public PyPI package
funasr==1.4.0on CPU withsensevoice. A real WAV passed through OpenMAIC'stranscribeAudio()provider path toPOST /v1/audio/transcriptions, returned HTTP 200, and produced the non-empty Chinese transcript甚至出现交易几乎停滞的情况.The full Vitest run completed with 3,383 passing tests and 44 failures across 14 files under parallel load. A single-worker rerun recovered 12 of those 14 files; the remaining
tests/runtime/chat-storage.test.tsandtests/quiz/runtime.test.tsfailures are identical on pristinemain@12ccd315(27 existing IndexedDB/Web Locks timeout/assertion failures). No remaining failure touches this provider or its dependencies.AI assistance
This PR was implemented with AI assistance and manually self-reviewed. The final commit is SSH-signed, includes DCO, and was tested against the public FunASR v1.4.0 release rather than a local source checkout.
Current-main sync (2026-08-04)
The branch now merges exact upstream
main@54f959bb4501ded27529637110200108eef2cd75at SSH-signed+DCO head4000ab677c20dbaa10ce83dfd5ee3fc374dbfff1. The two content conflicts were limited to the bilingual provider lists: the resolution keeps upstream's complete Amazon Bedrock example and retains FunASR as a local ASR provider. The PR-relative path set remains unchanged at 37 files.Fresh merged-tree validation:
tsc --noEmitgit diff --checkand conflict-marker scan