# FunASR Ecosystem Growth Plan: +20,000 GitHub Stars Baseline on 2026-06-27: the FunASR ecosystem repositories had 31,224 combined GitHub stars. The next target is earning 20,000 additional stars across the ecosystem by 2026-09-30, reaching 51,224+ combined stars through better onboarding, stronger proof, and repeatable launches. This plan focuses on useful adoption work rather than vanity marketing: if more users can install, evaluate, deploy, and share FunASR successfully, stars follow naturally. ## Repository scope | Repository | Role in the ecosystem | Growth surface | |---|---|---| | `modelscope/FunASR` | Core toolkit, Python package, runtime services, deployment docs | First-run success, production deployment, issue/PR operations | | `QwenAudio/Fun-ASR` | Fun-ASR-Nano model family and LLM-ASR identity | Model cards, Transformers integration, benchmarks, vLLM/GGUF stories | | `QwenAudio/SenseVoice` | CPU-friendly multilingual ASR with emotion and audio events | Quick demos, edge use cases, app integrations | | `modelscope/FunClip` | Video clipping and transcription workflow | Creator workflows, local GUI/API recipes, showcase stories | ## North-star metrics - GitHub stars: +20,000 across the four-repository ecosystem by 2026-09-30 - Monthly PyPI downloads: sustained growth after each release - README quick-start success: first transcription in under 5 minutes - Deployment success: API server, WebSocket, Docker, and vLLM examples verified on fresh machines - Community throughput: faster issue triage, more external PRs, more user showcases ## Audience segments | Audience | What they need | Repository surface that should serve them | |---|---|---| | ASR developers | Fast local transcript, model choice, Python API | README quick start, tutorial, model zoo | | Production teams | Private deployment, streaming, API compatibility, Docker | runtime docs, OpenAI API example, vLLM guide | | Agent builders | Speech input to Claude/Cursor/LangChain/Dify/AutoGen | MCP server and OpenAI API examples | | Researchers | Benchmarks, reproducibility, citations, model details | benchmark report, docs, model cards | | Chinese users | Chinese docs, ModelScope path, deployment in China | README_zh, docs/zh, ModelScope links | | International users | English docs, Hugging Face path, comparison with Whisper | README, HF models, benchmark story | ## Current campaign snapshot As of 2026-07-23 04:24 UTC, the ecosystem has 35,796 combined GitHub stars, or 4,572 additional stars since the 31,224 baseline. The remaining gap to the +20,000 target is 15,428 stars by 2026-09-30, which requires roughly 224 stars/day across the remaining 69 days. | Repository | Stars | Forks | Open issues | Open PRs | Last push | |---|---:|---:|---:|---:|---| | `modelscope/FunASR` | 19,412 | 1,952 | 3 | 0 | 2026-07-23 | | `QwenAudio/Fun-ASR` | 1,417 | 139 | 0 | 0 | 2026-07-22 | | `QwenAudio/SenseVoice` | 8,920 | 796 | 0 | 0 | 2026-07-22 | | `modelscope/FunClip` | 6,047 | 721 | 0 | 0 | 2026-07-22 | Keep this snapshot fresh during weekly planning. The ecosystem mode also reports the remaining gap, days left to 2026-09-30, and the required daily average: ```bash python scripts/collect_growth_metrics.py --ecosystem python scripts/collect_growth_metrics.py --repos modelscope/FunASR QwenAudio/Fun-ASR QwenAudio/SenseVoice modelscope/FunClip python scripts/collect_growth_metrics.py --ecosystem --format json ``` ## Traffic funnel snapshot The highest owned conversion surfaces are the repository overviews and Chinese READMEs. Use these surfaces for model-selection clarity, deployment proof, and official ecosystem routing before adding new long-form pages. 14-day GitHub traffic for 2026-06-30 through 2026-07-13, collected on 2026-07-14 18:51 UTC: | Repository | Views | Unique visitors | Clones | Unique cloners | Highest-traffic owned paths | |---|---:|---:|---:|---:|---| | `modelscope/FunASR` | 39,873 | 9,823 | 10,805 | 2,293 | overview: 7,120 uniques; `README_zh.md`: 2,679; releases: 520 | | `QwenAudio/Fun-ASR` | 6,332 | 2,106 | 1,029 | 766 | overview: 1,652 uniques; `README_zh.md`: 668; `docs/vllm_guide.md`: 118 | | `QwenAudio/SenseVoice` | 8,425 | 3,436 | 1,132 | 660 | overview: 2,682 uniques; `README_zh.md`: 884; releases: 184 | | `modelscope/FunClip` | 2,708 | 1,295 | 729 | 518 | overview: 1,064 uniques; `README_zh.md`: 348; UI screenshots: 198 combined | The same exact 14-day window produced the following public stargazer events. `Viewer-days` is the sum of each day's unique-view count, so the final percentage is a directional funnel ratio rather than a deduplicated user conversion rate. | Repository | New stars | Stars/day | Viewer-days | Viewer-days/day | Stars / viewer-day | |---|---:|---:|---:|---:|---:| | `modelscope/FunASR` | 507 | 36.2 | 13,562 | 969 | 3.7% | | `QwenAudio/Fun-ASR` | 75 | 5.4 | 2,693 | 192 | 2.8% | | `QwenAudio/SenseVoice` | 147 | 10.5 | 4,119 | 294 | 3.6% | | `modelscope/FunClip` | 44 | 3.1 | 1,482 | 106 | 3.0% | | **Total** | **773** | **55.2** | **21,856** | **1,561** | **3.5%** | The current 55.2 stars/day is only 26% of the required 214 stars/day. At the observed 3.5% viewer-day ratio, the ecosystem needs roughly 6,120 qualified viewer-days/day, or 3.92x the current traffic. Holding traffic flat would require an implausible 13.7% ratio, so reach is the primary constraint; README conversion work alone cannot close the target gap. Top referrer pattern: - Search and GitHub dominate all four repos, contributing 9,320 Google visits and 9,605 GitHub visits in the window. Keep repository topics, search snippets, external integration links, and Chinese README entry points synchronized. - `funasr.com` contributed 2,343 visits across the four repositories, while Hugging Face contributed 1,071 and ChatGPT 607. These owned/model-discovery surfaces are large enough to justify explicit routing to the most relevant repository and runnable demo. - FunClip has unusually visible image traffic, so screenshot freshness and UI clarity can influence creator conversion. - Prioritize distribution that can add thousands of qualified visits per day: merged integrations in high-star applications, model/runtime releases with runnable evidence, Hugging Face model-card routing, and official-site launch/use-case pages. Treat small directory listings as secondary unless they already send measurable traffic. ## Workstream 1: Convert first-time visitors - Keep the README first screen focused on speed, supported tasks, one-call usage, and links to docs. - Keep the benchmark table close to the quick start, with exact benchmark scope and full report link. - Maintain a short model-selection table: SenseVoice, Paraformer, Fun-ASR-Nano, Qwen3-ASR, GLM-ASR, streaming, punctuation, VAD, speaker, emotion. - Add visible links to deployment, agent integration, contribution, and discussions. - Avoid burying install and first inference behind long research history. ## Workstream 2: Make deployment shareable - Verify `funasr-server --device cuda` on a clean GPU machine and publish the exact command/output. - Add curl examples for `/v1/audio/transcriptions` and WebSocket streaming. - Keep Docker image tags explicit and document CPU/GPU differences. - Add a small deployment decision table: Python API vs OpenAI API vs WebSocket vs Docker vs vLLM vs Triton. - Turn common deployment failures into FAQ entries. ## Workstream 3: Launch content that earns stars Use one release note or article per clear story: - "FunASR is 170x realtime and CPU viable for long audio." - "Self-hosted OpenAI-compatible speech transcription with one command." - "Streaming ASR with VAD, punctuation, and speaker diarization." - "MCP speech input for Claude/Cursor and agent workflows." - "vLLM acceleration for Fun-ASR-Nano." - "Chinese dialect, accent, meeting, and industrial ASR examples." For each launch, prepare: - GitHub release notes with GIF/screenshot or terminal output - README update and docs link - Hugging Face and ModelScope model-card update - Homepage update on `modelscope.github.io/FunASR` - Short posts for developer communities - A pinned GitHub discussion for feedback ## Workstream 4: Community operations - Use issue templates to collect reproducible environment, audio, and deployment details. - Triage issues weekly with labels: bug, question, documentation, deployment, enhancement, good first issue. - Convert repeated support answers into docs within 48 hours. - Keep 5-10 `good first issue` tasks ready for contributors. - Thank external contributors in release notes. Daily maintainer loop: - Check open issues and PRs in `modelscope/FunASR`, `QwenAudio/Fun-ASR`, `QwenAudio/SenseVoice`, and `modelscope/FunClip`. - Prioritize blockers that stop a first transcription, an API server launch, a WebSocket deployment, or a model download. - Keep external ecosystem PRs unblocked, especially integrations in high-visibility AI, agent, workflow, ASR, and video repositories. - Turn repeated answers into docs or examples before closing the loop. - Keep actionable issues labelled as `good first issue`, `help wanted`, or `ready for PR` so contributors can help without guessing. Use the issue snapshot before each maintainer pass so waiting-on-reporter, waiting-on-contributor, and maintainer-owned items stay separate: ```bash python scripts/collect_growth_metrics.py --issues python scripts/collect_growth_metrics.py --issues --format json ``` Keep the official website's conversion-critical pages from regressing after static-site edits or deploys: ```bash python scripts/check_funasr_website_static.py ``` ## Workstream 5: External proof - Publish reproducible benchmark scripts and raw configuration for the 184-file benchmark. - Encourage users to share production stories, dashboards, public demos, or benchmark notes through the showcase issue template. - Add third-party integrations and community projects to README when they are maintained and runnable. - Keep citations and paper links visible for researchers. - Track and unblock integrations in Hugging Face Transformers, inference runtimes, agent frameworks, workflow tools, video tools, and speech-recognition libraries. ## External integration tracker High-visibility external integrations can create more qualified traffic than a one-off announcement because they put FunASR in the workflow users already trust. Track them as an operations queue, not as a comment-ping list. Refresh this table before weekly planning and after any reviewer or CI change: ```bash python scripts/collect_growth_metrics.py --integrations python scripts/collect_growth_metrics.py --integrations --format json ``` Set `GITHUB_TOKEN` when running this from CI or a shared network so GitHub's public API rate limit does not hide the real PR state. On the FunASR ops host, the script also falls back to `/cpfs_speech/user/zhifu.gzf/.config/funasr-ops/github_token`, so a maintainer shell can run the patrol without exporting a token first. ### External adoption issue queue High-star feature requests and roadmap issues are earlier in the funnel than PRs: they shape whether upstream projects expose a clean local STT contract before any code branch exists. Track them separately from merge-ready PRs and comment only when a maintainer asks for implementation detail, test scope, or provider behavior. | Adoption issue | Growth reason | Current maintainer action | |---|---|---| | `openclaw/openclaw#35835` audio file support in the read tool | Extends a high-visibility agent read path from images to audio, with a natural fallback slot for private OpenAI-compatible STT when the active model cannot consume native audio | Keep native audio attachments separate from transcription fallback: audio-capable models should receive original media, while text-only models can use an explicit `POST /v1/audio/transcriptions` adapter returning transcript plus metadata. FunASR/SenseVoice are useful self-hosted regression backends for that fallback contract. | | `openclaw/openclaw#40078` silent preflight transcription in mention-gated channels | Turns voice-note history capture into a high-visibility STT workflow where private transcription can enrich context without triggering assistant replies | Track the proposed `preflightTranscribe` gate: server-side STT should run only after channel/attachment checks, write transcript provenance into history, keep response generation mention-gated, and use an OpenAI-compatible transcription backend so hosted and local FunASR/SenseVoice services share the same contract. | | `openclaw/openclaw#45508` self-hosted STT/TTS provider support in WebChat | Routes OpenClaw WebChat users toward private OpenAI-compatible STT providers instead of browser-only speech APIs | A 2026.6.11 repro exposed a separate managed-room gap. Current main retries `talk.client.create` only for `gateway-relay`, the UI transport factory rejects `managed-room`, `talk.session.appendAudio` rejects managed-room sessions, and `/talk/rooms/...` has no browser media handler. LauraGPT documented the exact control-plane/data-plane boundary at https://github.com/openclaw/openclaw/issues/45508#issuecomment-4965397939. Maintainers must choose a Gateway-relayed STT/TTS media contract or a real room transport before a UI fallback PR can work; keep editable batch dictation in `#98026/#98027` separate. | | `openclaw/openclaw#46661` custom ASR server configuration | Connects a 382k-star OpenClaw native voice-input request to self-hosted/private ASR, giving FunASR, SenseVoice, and Qwen3-ASR a clean OpenAI-compatible STT provider path | LauraGPT posted the provider-contract note at https://github.com/openclaw/openclaw/issues/46661#issuecomment-4909572545. Track maintainer decisions on platform default behavior, explicit credential isolation for custom endpoints, multipart `{base_url}/audio/transcriptions`, minimum `{ "text": "..." }` responses, optional segment/timestamp metadata, timeout messaging, and fallback tests before proposing code. | | `openclaw/openclaw#87140` pluggable macOS Push-to-Talk STT backend | Opens a native desktop path for FunASR/SenseVoice as local/private ASR behind OpenClaw's existing PTT UX | Keep Apple Speech as the default and watch for a batch-only provider boundary with explicit capability flags (`batch`, `streaming`, `languages`, `local_only`, `requires_network`). | | `openclaw/openclaw#98027` editable Control UI dictation | Turns a 382k-star agent UI's ordinary prompt composer into a local/private STT adoption path where FunASR or SenseVoice can sit behind the existing Gateway/media-audio provider boundary | PR is open with `check-docs` failure and missing real microphone -> Gateway -> editable draft proof, so do not call it merge-ready. LauraGPT posted the downstream ASR contract checklist at https://github.com/openclaw/openclaw/pull/98027#issuecomment-4911740942; track whether proof covers local/private transcription provider dispatch, no auto-send, redacted errors, and temp-audio cleanup on success/failure. | | `openclaw/openclaw#102028` QQBot speech transcription timeout | Hardens a very high-visibility voice-message transcription path so stalled hosted or self-hosted STT providers do not block inbound QQBot attachments indefinitely | Merged on 2026-07-09 as `64e80888d4da955f38461b1f669f105c03adc952`. LauraGPT's non-blocking self-hosted STT contract note remains at https://github.com/openclaw/openclaw/pull/102028#issuecomment-4911671891; treat this as a completed downstream hardening win and watch release behavior for distinguishable timeout versus auth/model/route errors. | | `NousResearch/hermes-agent#56989` local STT docs and hardening | Helps self-hosted messaging gateways document fully local voice-note transcription for private deployments | Track whether docs define a backend-neutral `local_command` and local HTTP contract; FunASR/SenseVoice should fit as wrappers or OpenAI-compatible `/v1/audio/transcriptions` services. | | `NousResearch/hermes-agent#16185` Telegram voice-message STT provider precedence | Turns Telegram voice notes in a high-visibility messaging agent into a direct local/private STT adoption path, where FunASR/SenseVoice can fit through either `local_command` wrappers or OpenAI-compatible transcription servers | Fresh user report says removing the OpenAI STT block made local STT work, suggesting provider precedence/config resolution rather than model failure. LauraGPT posted the backend-neutral provider-boundary checklist at https://github.com/NousResearch/hermes-agent/issues/16185#issuecomment-4911698678; track for a Telegram adapter or gateway fix that logs the selected provider and prevents silent OpenAI fallback. | | `NousResearch/hermes-agent#60624` Windows ffmpeg discovery for Discord voice | Removes a Windows setup blocker in a high-visibility Discord voice transcription/TTS path before local/private STT providers such as FunASR/SenseVoice can work reliably | PR `NousResearch/hermes-agent#60627` now uses one shared `FFMPEG_PATH` / PATH / winget resolver for receiver conversion, legacy playback, and voice-FX mixer decoding. LauraGPT addressed and resolved the maintainer review on 2026-07-13 UTC; head `0760d751` is mergeable with 210 related tests passing and no unresolved review threads. No GitHub checks have been emitted yet, so wait for CI and maintainer review without another status ping. | | `anomalyco/opencode#33300` desktop voice input | Puts local speech input in a high-visibility coding-agent desktop app where privacy-sensitive users may avoid browser dictation | Watch for an app-side transcription provider abstraction that inserts transcripts into the prompt draft and keeps provider credentials out of the renderer. | | `ggml-org/llama.cpp#24375` ASR model routing for WebUI mic input | Lets Qwen3-ASR / Fun-ASR-Nano act as the dedicated transcription model for a separate text-only chat model | Track the proposed `/v1/models` input-modality discovery and explicit transcription-model selector; avoid duplicate comments while a contributor is working on the UI behavior. | | `Tencent/ncnn#6790` Qwen3-ASR ncnn port and multi-platform deployment | Opens a 23k-star mobile/edge inference path for Qwen3-ASR-style local transcription, where successful conversion can feed Fun-ASR-Nano/Qwen3-ASR users looking for lightweight on-device ASR | This is a 2026 Rhino-Bird activity issue, so LauraGPT posted a non-claim technical validation note rather than trying to own the task: https://github.com/Tencent/ncnn/issues/6790#issuecomment-4912104458. Watch for a public `Qwen3-ASR-ncnn` repo or PR, then verify PyTorch parity on fixed preprocessing, normalized CJK text, module-level encoder/projector/decoder drift, and Linux/Windows smoke commands. | | `Wei-Shaw/sub2api#3754` OpenAI audio endpoint passthrough | Adds a Chinese gateway path for OpenAI-compatible STT/TTS clients and self-hosted FunASR/SenseVoice endpoints | Watch for standard multipart `POST /v1/audio/transcriptions` passthrough, language/model forwarding, and a CJK regression that preserves `language=zh`. | | `elizaOS/eliza#14807` audio PII redaction pipeline | Makes timed ASR spans part of an agent safety workflow where local CJK/private transcription can be useful | Keep FunASR/SenseVoice positioned as optional verifier backends; avoid coupling the primary redaction path to one ASR engine. | | `modelcontextprotocol/servers#4299` FunASR speech-to-text MCP server | Keeps FunASR visible in the canonical MCP server discussion for local speech tools used by Claude/Cursor-style clients | The compact upstream server now exists in `examples/mcp_server` with `transcribe_audio`, Dockerfile, and `glama.json`. FunASR PR `#3216` fixed the custom `Content-Length` framing in favor of standard newline-delimited MCP stdio and merged as `3b146a344d3b744f2d7d89ca32a593af820cc605`; regression coverage verifies official SDK `initialize`, `tools/list`, and `tools/call`. Release `mcp-v0.1.1` is public in GHCR and the official MCP Registry. Glama still reports an empty tool list and no tested quality score, so an HTTP 200 listing or badge response must not be treated as evaluation success. | | `zhouxiaoka/autoclip#67` SenseVoice subtitle timestamp quality | Fixes a visible SenseVoice integration where aligned word timestamps are collapsed into unusably long subtitle cues | LauraGPT reproduced the branch behavior with FunASR 1.3.14: a 5.55-second clip returned 20 aligned words but became one cue, while the exact 45.1-second CAM++ path returned 142 word timestamps but prioritized two `sentence_info` spans of roughly 30 and 15 seconds. Root-cause evidence and the fix contract are at https://github.com/zhouxiaoka/autoclip/issues/67#issuecomment-4965349491: request `output_timestamp=True`, group word timestamps by punctuation/length/duration, use `sentence_info` only as fallback, and avoid loading CAM++ for plain subtitles. Wait for owner feedback before opening code. | | `deepset-ai/haystack-core-integrations#3572` FunASR-Haystack Python 3.14 installation | Removes an installation scare in Haystack's integration catalog that can prevent new users from trying FunASR | A current Windows CPython 3.14 resolver check succeeds with `funasr 1.3.14`, `umap-learn 0.5.12`, `pynndescent 0.6.0`, `numba 0.66.0`, and `llvmlite 0.48.0`; the reported `llvmlite 0.36.0` path is therefore more consistent with a stale lock or lagging package index than the current dependency graph. Diagnostic commands and requested lock/index evidence are at https://github.com/deepset-ai/haystack-core-integrations/issues/3572#issuecomment-4965365012. Do not change core packaging until the reporter provides a current failing resolution. | | `crewAIInc/crewAI#5983` FunASR for voice-enabled agents | Routes a 55k-star multi-agent framework toward a provider-neutral voice command path where FunASR/SenseVoice can be a local OpenAI-compatible transcription backend | LauraGPT revived the stale broad request with a concrete `voice.stt.*` config, multipart `/v1/audio/transcriptions` contract, mock endpoint test shape, and agent-command handoff at https://github.com/crewAIInc/crewAI/issues/5983#issuecomment-4901293351. Watch for maintainer direction before opening a code PR. | | `Significant-Gravitas/AutoGPT#13347` FunASR as an open-source STT backend | Keeps the 185k-star AutoGPT voice-input discussion anchored on a generic OpenAI-compatible transcription contract rather than a heavyweight FunASR-only dependency | LauraGPT mapped the existing hard-coded Copilot Whisper route, then opened PR `Significant-Gravitas/AutoGPT#13500` and linked it back at https://github.com/Significant-Gravitas/AutoGPT/issues/13347#issuecomment-4908286807. The PR later merged, so keep this as a completed high-visibility OpenAI-compatible STT contract win rather than an active operator item. | | `modelscope/FunASR#3334/#3350/#3361/#3362/#3363/#3366/#3398` owned conversion and link hygiene | Protects owned website, docs, runtime, model_zoo, and first-run troubleshooting surfaces that already send qualified traffic to the four repositories | Merged on 2026-07-23 and hardened again after the donor-page and troubleshooting reviews. `scripts/check_funasr_website_static.py` now patrols 14 public pages across home, ecosystem, donor, CLI tutorial, llama.cpp landing, llama.cpp blog, and launch-story surfaces. It requires the current `35K+` ecosystem proof, visible donor copy saying donations buy servers and the `www.funasr.com` domain, LiteLLM `custom_openai` routing, `funasr >= 1.3.26` CLI guidance, and `runtime-llamacpp-v0.1.9` download paths, including the Windows Vulkan ZIP, while forbidding stale `16K+`, `1.3.10`, and `runtime-llamacpp-v0.1.1` regressions. PRs #3361-#3363 refreshed high-traffic runtime download commands, package/help metadata, model_zoo Hugging Face links, and verified core ModelScope entries from stale `alibaba-damo-academy` / `damo` paths to current `modelscope/FunASR` / `iic` pages. `modelscope/FunASR#3366` then added README-linked install and deployment FAQs at [`docs/troubleshooting.md`](./troubleshooting.md) and [`docs/troubleshooting_zh.md`](./troubleshooting_zh.md), covering `torch` / `torchaudio`, ModelScope versus Hugging Face downloads, `funasr-server` `/v1/audio/transcriptions`, `WebSocket` realtime checks, `llama.cpp` / `GGUF`, and `Deployment Help` issue details. Post-merge validation passed the static contract suite, docs link guards, FAQ guards, real public website contract runs across all 14 pages, and HTTP 200 checks for updated owned/model links. | | `modelscope/FunClip#188/#189`, `QwenAudio/Fun-ASR#151`, `QwenAudio/SenseVoice#327` four-repo community templates | Reduces maintainer follow-up and makes first external contributions easier to review across the four core repositories | Merged on 2026-07-23 after the four-repo template inventory. The four core repositories now have `CONTRIBUTING.md`, issue templates, and PR templates. FunClip gained bug/feature issue templates, a PR template, CONTRIBUTING.md, and template guards; Fun-ASR gained a PR template covering Nano, MLT, streaming, vLLM, GGUF, and HF/ModelScope routing; SenseVoice gained a PR template covering ASR, emotion/event tags, API/web UI/ONNX/Docker, GGUF, and model-card routing. Post-merge validation passed the new template guards plus each repo's lightweight docs/runtime smoke tests. | | `chatchat-space/Langchain-Chatchat#5479` FunASR/SenseVoice voice input | Puts FunASR in a 38k-star Chinese RAG/Agent app where local audio upload can feed existing Chat and knowledge-base flows | LauraGPT proposed an OpenAI-compatible ASR endpoint slice, including `asr.base_url`, multipart request shape, minimal `{ "text": "..." }` response, and mocked CI endpoint at https://github.com/chatchat-space/Langchain-Chatchat/issues/5479#issuecomment-4901293565. Monitor stale handling and maintainer appetite for a first audio-upload transcription path. | | `royshil/obs-localvocal#314` SenseVoice/Paraformer engine option | Opens an OBS live-captioning path where SenseVoice/Paraformer can be evaluated through a cleaner ASR-engine boundary instead of a Whisper-only runtime | Maintainer is interested but capacity-limited until mid/late August. LauraGPT mapped current Whisper coupling points and suggested a facade-only first refactor at https://github.com/royshil/obs-localvocal/issues/314#issuecomment-4909662013; wait for a refactor branch or review request before proposing Sherpa-ONNX/FunASR runtime code. | | `SevaSk/ecoute#203` FunASR alternative ASR backend | Places FunASR/SenseVoice in a local realtime transcription app where users already compare Whisper-compatible and local ASR backends | LauraGPT recommended a two-step path at https://github.com/SevaSk/ecoute/issues/203#issuecomment-4906862462: first expose an OpenAI-compatible local STT endpoint with `stt_base_url`, optional key, model, and language; later add a native backend only with explicit streaming, language, timestamp, and batch-window capabilities. Monitor for maintainer appetite or an implementation PR before posting again. | | `521xueweihan/HelloGitHub#3296` FunASR Chinese open-source recommendation | Gives FunASR a high-visibility Chinese developer discovery path in a long-running open-source recommendation channel | LauraGPT posted a 2026-07-08 editor-ready refresh at `https://github.com/521xueweihan/HelloGitHub/issues/3296#issuecomment-4910800381` with current ecosystem star counts, category fit, quick-start shape, OpenAI-compatible endpoint value, and the FunClip related-project angle; wait for editor triage without duplicate bumps. | | `duixcom/Duix-Avatar#605` FunASR/SenseVoice ASR backend option | Puts FunASR/SenseVoice into a 13k-star digital-human project where low-latency ASR plus emotion/audio-event tags can drive avatar interaction | Maintainers acknowledged the current-contract suggestion and said they noted it for subsequent version iterations. Track for a Duix-side version/update invite, then verify the existing `duix-avatar-asr` `/v1/preprocess_and_tran` contract before pushing any parallel OpenAI-compatible endpoint path. | | `sgl-project/sglang-omni#924` ASR support roadmap | Coordinates Fun-ASR-Nano serving tasks across cache behavior, batching, evaluation, and benchmark parity in a serving runtime used by ASR/GPU deployment contributors | LauraGPT posted FunASR-side guidance on full-context encoder cache scope, per-sample speech embedding lengths, batching checks, and CJK evaluation coverage; monitor F-PR follow-ups and avoid duplicate roadmap comments. | | `pollinations/pollinations#5321` next-model voting for STT | Places FunASR/SenseVoice/Fun-ASR-Nano in a high-traffic open inference model request funnel used by app builders who want hosted or OpenAI-compatible transcription models | LauraGPT posted one exact model request on 2026-07-07 under the TTS & STT voting thread; avoid duplicate comments and monitor for maintainer model-selection signals or requests for endpoint/spec details. | | `cjpais/Handy#1626` Qwen3-ASR Intel Mac AMD Metal fallback | Reduces a visible local-dictation failure mode in a 25k-star desktop app, keeping Qwen3-ASR / SenseVoice users from abandoning the model after a backend-specific crash | Maintainer confirmed `transcribe.cpp` will avoid Metal by default on non-Apple-Silicon Macs in the next release. Watch the release, then verify Intel macOS + AMD Metal + Qwen3-ASR routes to CPU fallback while SenseVoice keeps its working path. | | `Zackriya-Solutions/meetily#567` Apple Voice Memos drag-to-import | Routes a 20k-star privacy-first meeting assistant toward imported-audio transcription workflows where local STT providers can be evaluated | Treat this as macOS import normalization, not an ASR swap: inspect Voice Memos drag payloads, normalize them to a local `.m4a` path plus title/start-time/duration metadata, reuse the existing import/transcription provider pipeline, and keep FunASR/SenseVoice as later optional providers behind that boundary. GitHub returned `403 Blocked` on the first public comment attempt, so monitor without retrying until there is new maintainer activity or account policy changes. | | `zeroclaw-labs/zeroclaw#7943` voicehost STT design contract | Puts FunASR/SenseVoice in front of a 32k-star voicehost roadmap as host-side ASR engines, without asking ZeroClaw core to import Python model runtimes | Issue is accepted. LauraGPT posted the downstream contract note at https://github.com/zeroclaw-labs/zeroclaw/issues/7943#issuecomment-5015031222: realtime providers should expose `partial` and final `speech_end` events, batch fallback should preserve the OpenAI-compatible `POST /v1/audio/transcriptions` shape, capability discovery should make streaming versus batch explicit, and model/runtime dependencies should stay in the host-side service boundary. Watch for the implementation PR before adding code feedback. | | `altic-dev/FluidVoice#547` remote transcription backend | Gives lightweight or Intel Macs a path to consume a LAN/GPU STT server instead of running every model locally | Relevant to FunASR/SenseVoice remote endpoints, but GitHub returned `403 Blocked` on both the first comment attempt and a 2026-07-08 retry after new maintainer/user activity. Maintainers currently framed near-term work as easier local server startup plus future Windows/Linux GPU support, not a remote consumer endpoint; do not retry again unless account policy or repository write policy changes. | | `freestyle-voice/freestyle#415` custom OpenAI-compatible STT base URL | Routes a voice-dictation app's batch STT provider toward LAN/self-hosted FunASR/SenseVoice endpoints without forcing users through hosted OpenAI URLs | Author accepted LauraGPT's compatibility scope at https://github.com/freestyle-voice/freestyle/issues/415#issuecomment-4911863210: strip trailing `/v1` or slash before appending `/v1`, keep the first pass batch-only on the existing `openai` provider, reuse the current API key/model flow, and test both bare-host and `/v1` base URLs. Wait for the implementation PR before adding more comments. | | Integration PR | Growth reason | Current maintainer action | |---|---|---| | `Kedreamix/Linly-Talker#151` FunASR link refresh | Keeps a 3.3k-star digital-avatar conversational system's ASR docs pointed at the current official FunASR repository, so users comparing Whisper and FunASR land on maintained setup docs | PR updates the root README and `ASR/README.md` references from `github.com/alibaba-damo-academy/FunASR` to `github.com/modelscope/FunASR`; monitor for maintainer acceptance without extra pings. | | `huggingface/transformers#46180` Fun-ASR-Nano model support | Makes Fun-ASR-Nano usable through the default HF API surface and model docs | Head `f73d4a2c` is mergeable and the official repository-consistency and aggregate PR CI checks are green. Fresh focused validation passed 150 tests, skipped 127, and passed 2,549 subtests; the pinned H100 real-checkpoint suite passed all 3 tests. The model-card review thread is resolved, while the only active thread is a maintainer-held architecture discussion. Current evidence is at https://github.com/huggingface/transformers/pull/46180#issuecomment-5054172163; wait for maintainer review without duplicate pings. | | `huggingface/transformers#47111` Qwen3-ASR hotword and language parsing fixes | Keeps the high-visibility Transformers Qwen3-ASR implementation aligned with upstream hotword/context behavior, language hints, and processor training paths used by downstream Fun-ASR-Nano/Qwen3-ASR adopters | Merged on 2026-07-22 as `c7f9c8815610d27e41a6b0b0cc9e2d3c49468d1d`. The merged change adds Qwen3-ASR custom hotword support, language parsing fixes, processor training-path tests, conversion updates, and documentation examples, so treat this as a completed Transformers-side ASR hardening win and watch the next Transformers release/model docs rather than keeping it in the active review queue. | | `sgl-project/sglang-omni#1078` Fun-ASR serving support | Exposes Fun-ASR-Nano through a high-visibility serving runtime for ASR benchmarks and GPU deployment | Merged on 2026-07-18 after replacing the closed #898 branch. The merged PR includes Fun-ASR model runtime support, OpenAI-compatible serving, cookbook docs, SeedTTS benchmark tasks, unit tests, and review fixes from #1079. Public H200 SeedTTS EN full-set validation reports 1,088/1,088 samples, 0 failed, 1.71% corpus WER, 117.37 samples/s at concurrency 32, mean latency 0.271s, and mean RTF 0.0587; keep watching for follow-up issues rather than pinging the closed PR. | | `vllm-project/vllm#42478` Qwen3-ASR streaming postprocessing | Improves the upstream Qwen3-ASR streaming path used by OpenAI-compatible transcription clients, so downstream apps can consume clean SSE transcript deltas without model-specific `language ...` cleanup | Merged with maintainer approval. Treat this as a completed downstream ASR serving hardening win; watch vLLM release behavior for CJK no-space streaming regressions, but do not keep the closed PR in the active operator queue. | | `vllm-project/vllm#47729` MOSS-Transcribe-Diarize support | Expands vLLM's OpenAI-compatible `/v1/audio/transcriptions` route for long-form ASR with timestamps and speaker labels, creating another high-visibility comparison point for Qwen3-ASR / Fun-ASR-Nano-style serving behavior | Merged with all checks green. The non-blocking downstream ASR contract note remains useful for response-shape monitoring: `response_format=json` should keep the plain `{ "text": "..." }` response stable and any future `segments` should remain additive. | | `tenstorrent/tt-metal#49104` Qwen3-ASR Blackhole/P150 bringup | Opens a hardware-accelerated Qwen3-ASR path with an OpenAI-compatible `/v1/audio/transcriptions` server for Tenstorrent users evaluating speech workloads | PR is open, approved, and process-blocked rather than waiting on FunASR feedback; LauraGPT posted a non-blocking API-contract note at https://github.com/tenstorrent/tt-metal/pull/49104#issuecomment-4911526665. Track merge/release docs so downstream FunASR users can compare TT, CPU, vLLM, and H100 timing scopes correctly. | | `ray-project/ray#64053` Ray Serve FunASR ASR example | Puts FunASR in production serving docs for teams already using Ray | Current head `9b2a3b342e85` is mergeable but still has two red external gates. `docs/readthedocs.com:anyscale-ray` fails on unrelated Tune collection references outside the FunASR files. `buildkite/microcheck` includes a repository-wide dashboard ESLint/environment failure plus one PR-local Black issue: `doc/source/serve/doc_code/funasr_asr.py` would be reformatted. The one-line formatting fix is already isolated in `nh-atuan/ray#3`, which is open, clean, and mergeable at `559820895d47`; local validation passes `py_compile`, the two FunASR doc-code tests, `black --check`, and `git diff --check`. A direct 2026-07-23 maintainer push to `nh-atuan:issue-64052` was rejected with `403 Permission to nh-atuan/ray.git denied to LauraGPT`, so the next action is for the contributor or a Ray maintainer to merge `nh-atuan/ray#3` before rerunning the Ray PR checks. | | `huggingface/optimum-intel#1801` OpenVINO support | Helps CPU and edge users evaluate Fun-ASR on Intel hardware | Merged after the FunASR-side review and validation pass. Treat this as a completed Intel/OpenVINO discovery and runtime win; watch downstream OpenVINO releases and user issues rather than keeping the closed PR in the default active queue. | | `huggingface/optimum-intel#1874` FunASR OpenVINO export tests | Makes FunASR export coverage visible in Optimum Intel's parameterized precommit suite rather than relying on an unverified model mapping | PR is approved, mergeable, and green. Comparing base `109314ca` with head `1dafe5e1` shows three new FunASR cases collected: one export case plus compressed- and uncompressed-weight quantization cases. The corresponding remote precommit jobs selected and passed those cases; exact collection and log evidence is at https://github.com/huggingface/optimum-intel/pull/1874#issuecomment-5054273045. Wait for maintainer merge. | | `huggingface/speech-to-speech#319` SenseVoice STT handler | Adds SenseVoice/FunASR to local open-source voice-agent pipelines where low-latency STT is a core comparison point | Head `3657a9bc2782` is mergeable with no unresolved review threads. Ruff, formatting, compilation, and the focused CLI/Paraformer/SenseVoice/STT suite pass (`22 passed`); the real `setup -> warmup -> process` path also transcribed a six-second clip on H100 and preserved the final event metadata. Wait for maintainer review without another status bump. | | `OpenBMB/VoxCPM#349` Windows CUDA installer with SenseVoice fallback | Puts SenseVoice into a 32k-star multilingual TTS app's Windows install and first-run ASR path as the fallback when local Parakeet/CUDA is unavailable | Current head `9f34141cc81e04028c4e62ac652f2a66dd453dfa` is dirty only in `app.py`; LauraGPT posted the conflict recipe and light validation at https://github.com/OpenBMB/VoxCPM/pull/349#issuecomment-4905293176. Wait for author rebase or maintainer action without duplicate comments. | | `livekit/agents#6176` FunASR/SenseVoice realtime STT plugin | Opens a path into LiveKit's realtime voice-agent ecosystem where local STT is evaluated alongside hosted providers | Current head `9f995f7ee5fc` is mergeable and review-gated with all visible checks green or skipped. Fresh 2026-07-23 validation passed the 3 focused FunASR plugin tests, Ruff, format check, `uv lock --check`, `compileall`, and `git diff --check`; evidence was posted at https://github.com/livekit/agents/pull/6176#issuecomment-5051589686. Avoid duplicate pings and monitor for maintainer review on plugin scope, package metadata, or optional dependency expectations. | | `datajuicer/data-juicer#938` HumanVBench audio/video operators | Places FunASR/SenseVoice-style speech understanding into a 6k-star data processing toolkit used to evaluate human-centric video and multimodal datasets | Current PR is open and mergeable but process-blocked while unit-test jobs are still waiting; LauraGPT posted the FunASR/SenseVoice dependency and validation follow-up at https://github.com/datajuicer/data-juicer/pull/938#issuecomment-4905235851. Wait for CI or maintainer feedback before adding more comments. | | `punkpeye/awesome-mcp-servers#7153` FunASR MCP server listing | Exposes FunASR to a high-star MCP discovery list used by agent-tool builders looking for local speech tools | Rebased across the upstream README conflict on 2026-07-23; head `6ed76450` is mergeable and `check-submission` passes. The referenced `ghcr.io/modelscope/funasr-mcp:0.1.1` image and official MCP Registry version are public. A live Glama score-page audit now identifies the exact remaining gate as `No Glama release`: a signed-in maintainer must claim the server if needed, configure and deploy the build on `/mcp/servers/modelscope/FunASR/admin/dockerfile`, wait for the build test, then use `Make Release` to publish a Glama version. Until that happens the API correctly remains `tools: []` with no quality score; this is not an automatic GitHub resync or package-publication failure. Release evidence remains at https://github.com/punkpeye/awesome-mcp-servers/pull/7153#issuecomment-5054229219; wait for the Glama release and upstream merge. | | `Arindam200/awesome-ai-apps#250` FunASR Nebius voice note analyst | Places a runnable FunASR application in a 13k-star AI app catalog, showing a canonical OpenAI-compatible transcription path and an optional same-language structured brief without coupling transcription to the LLM provider | Head `5023cfd8ba20` is mergeable and both head checks are successful. Validation covers 55 tests on Python 3.10, 3.11, 3.12, and 3.14; Ruff and format checks; real H100 transcription with FunASR 1.3.14; and desktop/mobile Playwright runs without overflow or browser errors. GitHub labels the PR `UNSTABLE` because its generated potential merge commit has no status rollup even though the head rollup is successful and no required branch checks are reported; wait for maintainer review. | | `zts212653/clowder-ai#1083` Qwen3-ASR service unification | Puts Qwen3-ASR into a user-facing local STT service slot by making it a `whisper-stt` backend variant instead of a separate, easier-to-misconfigure service | Merged on 2026-07-13 as `704bb735cae01be4bcd4089427bc6983c99a43a3` after fixes for Rosetta hardware detection, Qwen3-ASR install/server dispatch, async backend locking, temp WAV cleanup, and stale setup docs. The upstream service slot is already discoverable from the FunASR EN/ZH community integrations pages. | | `run-llama/llama_index#21958` FunASR endpoint reader | Puts FunASR behind a LlamaIndex reader for OpenAI-compatible transcription endpoints used in RAG and agent pipelines | LauraGPT rechecked head `07a8599deaebe5e7a559d62174e7a872870c2f7e` at https://github.com/run-llama/llama_index/pull/21958#issuecomment-4905345545; author acknowledged the shared-reader pytest caveat at https://github.com/run-llama/llama_index/pull/21958#issuecomment-4905384536. Keep the endpoint contract clear and avoid forcing local `funasr` dependencies into the main package. | | `run-llama/llama_index#21996` local FunASR reader | Gives LlamaIndex users a local SenseVoice/FunASR reader for private transcription workflows | Keep optional dependencies isolated, verify the reader does not affect default installs, and watch for maintainer guidance on package extras. | | `BerriAI/litellm-docs#610` FunASR transcription proxy docs | Puts FunASR/SenseVoice behind LiteLLM's existing OpenAI-compatible `custom_openai` audio transcription route, reaching teams that already deploy LiteLLM gateways | Rebased across the upstream `docs/audio_transcription.md` conflict on 2026-07-23; head `1a70fa02` is mergeable with CodeRabbit, Vercel, and Vercel preview comments all green. The docs now keep upstream's `mock_testing_fallbacks` deprecation note for Proxy requests, use `funasr>=1.3.26`, preserve `api_base: http://localhost:8000/v1`, and avoid installing `vllm` in the basic setup path. Local validation passed `git diff --check`, content assertions, and `npm run build`; build warnings are existing site-wide Docusaurus broken links outside `/docs/audio_transcription`. Evidence posted at https://github.com/BerriAI/litellm-docs/pull/610#issuecomment-5049681978. | | `mem0ai/mem0#5571` optional FunASR transcription helper | Adds local FunASR transcription to a high-star memory layer used by agent builders | Keep FunASR optional and make examples clear about local model downloads; the current failing Vercel preview is a Mem0 team authorization gate, not a FunASR code failure, so wait for maintainer-side preview access or review. | | `Significant-Gravitas/AutoGPT#13500` configurable transcription endpoints | Opens a path from AutoGPT's high-visibility agent platform to local FunASR/SenseVoice gateways through the existing OpenAI-compatible transcription route | Merged on 2026-07-22 after the review and status gates cleared. The merged path keeps transcription provider configuration generic, so FunASR/SenseVoice can fit through an OpenAI-compatible endpoint without adding a heavyweight toolkit dependency to AutoGPT. | | `Vexa-ai/vexa#810` custom STT endpoint documentation | Makes bring-your-own OpenAI-compatible transcription servers visible in a meeting-bot docs surface, giving SenseVoiceSmall and Fun-ASR-Nano users a clean path to point Vexa at private FunASR/SenseVoice gateways | Delivered via Vexa's community-batch release `#867`, merged to `main` as `e617d839` and shipped in `v0.12.16` with `docs/docs/how-to/custom-stt.mdx`. Maintainer confirmed on 2026-07-22 that #810 is superseded by the delivered release content, so treat the closed #810 PR as completed evidence rather than an active merge-card gate. | | `harry0703/MoneyPrinterTurbo#1006` shareable video-generation presets | Puts subtitle, language, voice, and provider settings in a 96k-star short-video generator's reusable preset schema, creating the right safety boundary for later local/offline subtitle ASR or FunClip handoff workflows | LauraGPT posted a non-blocking preset-contract note at https://github.com/harry0703/MoneyPrinterTurbo/pull/1006#issuecomment-4912521164: export only stable non-secret choices such as subtitle provider, language, subtitle style, TTS/voice selection, and local/offline capability; keep API keys, bearer tokens, signed URLs, temporary media paths, cached model files, and unsanitized endpoint URLs out of shareable presets. Track review without asking this preset PR to add a FunASR/SenseVoice engine. | | `harry0703/MoneyPrinterTurbo#911` OpenVINO local subtitle provider | Adds a hardware-accelerated local transcription provider to a 96k-star short-video generator's subtitle pipeline, creating the same `audio -> SRT/timestamped segments` seam that later FunASR/SenseVoice or FunClip workflows can reuse | LauraGPT posted a non-blocking provider-boundary note at https://github.com/harry0703/MoneyPrinterTurbo/pull/911#issuecomment-4912751845. Track whether the PR keeps `subtitle_provider` generic, handles missing OpenVINO packages/model directories before subtitle correction, preserves valid UTF-8 SRT and CJK punctuation, and avoids another settings migration for future `funasr` / `sensevoice` providers. | | `maximhq/bifrost#5020` diarized OpenAI transcription compatibility | Keeps a high-visibility LLM gateway's OpenAI-compatible `/v1/audio/transcriptions` path safe for diarized STT responses, including downstream clients that compare hosted models with self-hosted FunASR/SenseVoice endpoints | PR is open with green checks and bot review confidence; LauraGPT posted a non-blocking downstream contract note at https://github.com/maximhq/bifrost/pull/5020#issuecomment-4911586742. The fix covers string diarized segment IDs, explicit empty `segments: []`, multipart transcription params, and speaker passthrough; watch merge/release feedback before adding more comments. | | `getpaseo/paseo#313` FunASR streaming STT provider | Adds a standalone FunASR/SenseVoice server and streaming dictation provider to a 10k-star agent orchestration app | Current head `19d9270f1b55d5a0d59288ff2c4a4e707bd60c9a` is dirty against main; LauraGPT triage at https://github.com/getpaseo/paseo/pull/313#issuecomment-4905606566 documents the conflict set and a `needsFunASR` provider-wiring bug to fix during rebase. Wait for author rebase or maintainer guidance without duplicate pings. | | `getpaseo/paseo#1634` SenseVoice local STT model support | Adds SenseVoice to a local voice/dictation app with a visible offline STT model catalog and speech CLI path | Current PR is mergeable at head `4cc65ac6fbc9735ac487648bbbd02ee487050f31`; posted focused local validation at https://github.com/getpaseo/paseo/pull/1634#issuecomment-4905550193 covering server deps build, format check, 3 speech Vitest files with 10 tests, and server build. Wait for maintainer review without duplicate pings. | | `getpaseo/paseo#2044` SenseVoice, Paraformer, and multilingual Kokoro local speech models | Makes Chinese and multilingual local speech a first-class default in a 10k-star agent orchestration app instead of requiring an English-only Parakeet/Kokoro setup | Head `99e43e731dd6` is mergeable and Greptile is green, but no code test workflow ran and the PR adds no tests. LauraGPT reviewed the upstream sherpa-onnx config shapes and posted the remaining model-selection, test, and documentation requirements at https://github.com/getpaseo/paseo/pull/2044#pullrequestreview-4688090003: normalize BCP 47 tags such as `zh-CN`/`pt-BR` before catalog matching, cover Chinese defaults and explicit overrides, and update the stale local-model list in `docs/data-model.md`. One current review thread remains; wait for the author update. | | `infiniflow/ragflow#16473` FunASR / SenseVoice STT provider | Adds FunASR to a high-star RAG workflow product where local STT can become a visible configuration choice | Merged after backend/frontend review. The integration is already surfaced in the community projects page, so keep it out of the default active PR queue and monitor release/user feedback instead. | | `infiniflow/ragflow#16844` Fun-ASR-Flash Tongyi-Qianwen provider | Places the hosted Fun-ASR-Flash model in an 84k-star RAG product while keeping existing Qwen audio behavior intact | Merged on 2026-07-16 as `eeb59ec4f2ac342c50c3652e8a5f0d4f63a284c4`; Fun-ASR-Flash now routes through RAGFlow's Tongyi-Qianwen speech-to-text provider with scoped `fun-asr-flash*` handling, local audio size checks, URL/data-URI support, and streaming response cleanup. Keep monitoring release notes and user feedback. | | `Open-Less/openless#793` Fun-ASR-Flash and unified Bailian ASR support | Adds Fun-ASR-Flash to a desktop AI client while consolidating hosted ASR configuration, exposing the model to users already selecting Qwen and Bailian providers | Head `5f4078b31b8a` is mergeable with all five checks green. LauraGPT submitted three official-documentation-backed blockers at https://github.com/Open-Less/openless/pull/793#pullrequestreview-4688035289: do not route `fun-asr-flash-8k-realtime*` WebSocket models into the batch HTTP API, preserve Singapore/workspace endpoint configuration instead of forcing the China public host, and do not inject the realtime-only `vocabulary_id` into Fun-ASR-Flash sync requests. All three threads are current and unanswered; wait for the author fix without duplicate comments. | | `mudler/LocalAI#10090` FunASR backend | Exposes FunASR through a high-star local AI engine used by self-hosters and edge deployments | Upstream DCO is green; the fork-side `tests` failure is a CodeQL/SARIF upload permission gate on a fork, not a FunASR backend regression. Local CPU smoke validation remains `backend/python/funasr/test.py` with four passing tests, so wait for maintainer-side review or rerun without duplicate pings. | | `agno-agi/agno#8501` FunASR transcription tool | Places FunASR in a high-star agent platform as a local multilingual transcription tool | Keep issue linkage and formatting gates green, avoid heavy default dependencies, and respond to review scope requests quickly. | | `GetStream/Vision-Agents#606` FunASR STT plugin | Adds SenseVoice/FunASR to multimodal voice and vision agent examples | Keep package include paths and tests aligned with upstream conventions, then watch review threads for optional dependency or documentation requests. | | `TEN-framework/ten-framework#2191` FunASR ASR extension | Places SenseVoice/FunASR in a realtime multimodal agent framework with extension discovery | The failing `claude-review` action is a fork-permission gate, not a code failure; wait for maintainer-side review or rerun, and respond only to concrete code/doc feedback. | | `activepieces/activepieces#13985` FunASR speech recognition piece | Gives no-code workflow users a direct FunASR speech recognition action | Closed unmerged on 2026-07-16 because Activepieces temporarily paused unsolicited external PRs, not because of a FunASR code failure. The implementation had green/skipped normal checks and Greptile marked it safe to merge, but the repo now asks contributors to publish their own piece package or use an existing-customer channel for reopening. Remove this PR from the default active queue and revisit only if Activepieces changes contribution policy or requests the piece through an accepted channel. | | `omnigent-ai/omnigent#2093` server-side streaming dictation | Opens a model-agnostic dictation backend in a multi-agent desktop/mobile harness where FunASR/SenseVoice can later fit behind the same local worker or OpenAI-compatible fallback contract | LauraGPT posted the non-blocking FunASR/SenseVoice backend-contract follow-up at https://github.com/omnigent-ai/omnigent/pull/2093#issuecomment-4907140875. Current PR is open and mergeable but blocked by `npm test`, pre-commit, and maintainer approval checks; wait for concrete review or CI logs before more comments. | | `speaches-ai/speaches#658` FunASR transcription backend | Adds SenseVoice/Paraformer to an OpenAI-compatible local speech API used by self-hosted voice stacks | Current `unstable` state is a fork-workflow approval gate with no check-runs/logs on the head commit; keep the local validation note current and respond only if real CI logs or maintainer review appear. | | `Uberi/speech_recognition#903` FunASR recognizer | Exposes FunASR through a widely known Python speech-recognition wrapper | Current `unstable` state is a fork-workflow approval gate with no check-runs/logs on the head commit; keep the recognizer optional and lightweight, and be ready with a minimal install/import smoke test if maintainers ask for scope reduction. | | `fighting41love/funNLP#478` SenseVoice and FunClip speech-section listing | Adds the newer FunASR ecosystem projects to a high-star Chinese NLP resource list with strong domestic discovery value | PR is clean and mergeable; avoid duplicate pings unless maintainers ask for category, wording, or link changes. | | `josephmisiti/awesome-machine-learning#1339` FunASR Python speech-recognition listing | Places FunASR in a broad high-star machine-learning discovery list where users compare Python ASR toolkits | PR is open but `mergeable_state=blocked`; recheck only for maintainer feedback or a new failed status, and keep the entry description aligned with the core toolkit rather than every model variant. | | `crownpku/Awesome-Chinese-NLP#32` Speech Recognition and Audio section | Creates a Chinese-NLP discovery path that can route users to FunASR, SenseVoice, Fun-ASR-Nano, and FunClip together | PR is clean and mergeable; monitor without status bumps unless maintainers request section naming or Chinese wording changes. | | `mahseema/awesome-ai-tools#1403` FunASR tool listing | Complements the FunClip listing in the same AI-tools catalog with the core ASR toolkit | PR is clean and mergeable; keep FunASR and FunClip descriptions distinct so one does not look like a duplicate of the other. | | `INTERMT/Awesome-PyTorch-Chinese#5` FunASR Chinese PyTorch listing | Adds FunASR to a Chinese PyTorch resource list used by developers looking for local speech models and toolkits | PR is clean and mergeable; monitor for maintainer style feedback and keep the link pointed at the GitHub repo rather than a transient model page. | | `krzjoa/awesome-python-data-science#99` FunASR computer-audition listing | Adds FunASR to a Python data-science discovery list where speech/audio tooling is compared with broader ML stacks | PR is clean and mergeable; maintain a short toolkit-focused description and avoid duplicate comments unless maintainers ask for category changes. | | `zzw922cn/awesome-speech-recognition-speech-synthesis-papers#27` FunAudioLLM paper listing | Places Paraformer, FunASR, SenseVoice, and Fun-ASR-Nano papers in a speech-recognition/synthesis paper list used by researchers | PR is clean and mergeable; keep paper links stable and be ready to adjust ordering or paper metadata if requested. | | `Osmantic/ODS#1639` SenseVoice/FunASR STT backend | Adds a direct local STT backend to an app surface where users can choose open speech engines | PR is mergeable but blocked by review/process state; wait for maintainer feedback and keep any follow-up focused on optional dependency and endpoint behavior. | | `faroit/awesome-python-scientific-audio#85` FunASR scientific-audio listing | Exposes FunASR to Python users browsing scientific audio and speech-processing toolkits | PR is clean and mergeable; monitor for taxonomy or wording feedback without status bumps. | | `joewongjc/type4me#207` Qwen3-only local ASR mode | Helps a local dictation app use Qwen3-ASR final transcription without keeping SenseVoice/VAD preview models resident | Keep as draft until a full Xcode/XCTest run or real Qwen3-only ASR smoke test validates the runtime path; do not request review yet. | | `jobbole/awesome-python-cn#141` FunASR Chinese Python listing | Adds FunASR to a long-lived Chinese Python resource list used by domestic developers | PR is clean and mergeable; avoid duplicate comments unless maintainers ask for ordering or Chinese wording changes. | | `yuekaizhang/Fun-ASR-vllm#21` vLLM prompt embedding dtype fix | Keeps a community Fun-ASR-vLLM GPU inference path stable for users trying Fun-ASR-Nano with vLLM | PR is clean and has a validation note. Monitor for maintainer feedback, keep the change limited to float32 prompt embeddings, and avoid extra status bumps unless runtime questions appear. | | `EmulationAI/awesome-large-audio-models#19` FunAudioLLM paper listing | Adds Paraformer, FunASR, SenseVoice, and Fun-ASR-Nano papers to a large-audio-models discovery list | README-only PR with validation posted; wait for maintainer review and be ready to adjust paper ordering or citation text. | | `ddlBoJack/Awesome-Speech-Language-Model#6` Fun-ASR-Nano listing | Routes speech language model readers toward Fun-ASR-Nano as an audio-LLM component | Validation was posted on 2026-07-07; PR is clean with no exposed checks, so monitor without duplicate pings. | | `PyTorchKR/oss-landscape#688` FunASR OSS landscape entry | Adds FunASR to a Korean PyTorch and OSS discovery map that can route regional users to the toolkit | PR is README-only, clean, and has no check contexts; avoid low-signal comments unless maintainers ask for metadata or category changes. | | `metame-ai/awesome-audio-plaza#10` FunASR, SenseVoice, and FunClip ASR listing | Presents the full FunASR ecosystem together in an audio tools plaza used by speech and creator-tool readers | Prior pings are already present; monitor for maintainer feedback and keep future replies limited to link or category changes. | | `ChristosChristofidis/awesome-deep-learning#317` FunASR framework listing | Adds FunASR to a 28k-star deep-learning discovery list where users compare frameworks and toolkits | Validation was refreshed on 2026-07-07; wait for maintainer review without another status bump. | | `Hannibal046/Awesome-LLM#623` Fun-ASR-Nano Alibaba-section listing | Routes a large LLM audience to Fun-ASR-Nano as a speech understanding model in the Alibaba ecosystem | Validation was refreshed on 2026-07-07; wait for maintainer review and adjust section placement only if requested. | | `AiHubCN/Awesome-Chinese-LLM#103` SenseVoice and Fun-ASR-Nano Chinese LLM listing | Adds FunAudioLLM speech models to a high-star Chinese LLM catalog with strong domestic discovery value | Validation was refreshed on 2026-07-07; PR is currently blocked by maintainer review/process state rather than a code failure. | | `pluja/awesome-privacy#836` FunASR privacy-focused STT listing | Puts fully self-hosted FunASR in front of privacy-conscious users looking for local speech-to-text models | Validation was refreshed on 2026-07-07; wait for maintainer review and keep privacy wording concise. | | `BradyFU/Awesome-Multimodal-Large-Language-Models#280` Fun-ASR-Nano MLLM listing | Adds Fun-ASR-Nano to a multimodal-LLM discovery list where speech understanding models are compared | Validation was refreshed on 2026-07-07; monitor for maintainer category feedback. | | `mahmoud/awesome-python-applications#227` FunASR audio application listing | Adds FunASR to a broad Python applications list used by developers looking for usable audio tooling | Validation was refreshed on 2026-07-07; wait for maintainer review without extra pings. | | `bharathgs/Awesome-pytorch-list#164` FunASR PyTorch speech listing | Adds FunASR to a PyTorch NLP and speech processing list with a broad ML practitioner audience | Validation was refreshed on 2026-07-07; PR is clean and should only need maintainer review. | | `WangRongsheng/awesome-LLM-resources#162` FunASR and SenseVoice resources | Adds FunASR/SenseVoice to a Chinese LLM resources list where multimodal and speech tool readers compare projects | Merged on 2026-07-19 UTC at `916d45caccb67c22ccd740b4f4e6b3d99c5c593f` after maintainer acknowledgment. The entry is now promoted in `docs/community_projects*.md`; keep it out of the active PR queue and use it as a live Chinese discovery-list proof point. | | `steven2358/awesome-generative-ai#821` FunASR speech-to-text listing | Routes generative-AI readers looking for STT tools toward the core FunASR repo | PR is clean and mergeable; monitor for section placement feedback. | | `owainlewis/awesome-artificial-intelligence#243` FunASR audio listing | Adds another broad AI-discovery path for users comparing open-source audio tools | PR is clean and mergeable; keep the description concise and avoid status pings. | | `ai4s-research/awesome-ai-for-science#69` FunASR science toolkit listing | Creates a discovery path from scientific AI tooling lists to FunASR for transcription and field-recording workflows | Closed without merge. Remove from the default active queue and revisit only if maintainers reopen the listing or request different category/wording. | | `lukasmasuch/best-of-ml-python#455` FunASR project listing | Adds FunASR to a high-star ranked Python ML discovery list that is refreshed weekly | The PR is mergeable and already has prior pings; keep monitoring without adding more comments unless new maintainer feedback or validation evidence appears. | | `tensorchord/Awesome-LLMOps#533` FunASR audio foundation model listing | Adds FunASR to an LLMOps discovery list where users look for model-serving and operations-ready audio foundation models | Current PR is README-only, clean, DCO-passing, and has fresh FunASR-side link validation; wait for maintainer review without duplicate pings. | | `rafska/awesome-local-llm#118` FunASR local CPU ASR listing | Exposes the FunASR llama.cpp/GGUF path to local-LLM users looking for fully local CPU speech recognition | Current PR is README-only, clean, and has fresh link validation; monitor for maintainer feedback without adding another status comment. | | `krzemienski/awesome-video#102` FunClip AI video tools listing | Adds FunClip to a curated streaming/video tools list where video engineers and creator-tool builders discover AI-assisted clipping and subtitle generation workflows | Sourcery's rerun passes on head `f90be00`; the PR is README-only, mergeable clean, and uses owner/repo-style link text `[modelscope/FunClip]`. LauraGPT posted a concise ready/validation note on 2026-07-08 at `https://github.com/krzemienski/awesome-video/pull/102#issuecomment-4911378040`; now wait for maintainer review without duplicate pings. | | `CopilotKit/CopilotKit#5863` voice runtime transcription docs | Puts self-hosted OpenAI-compatible ASR behind a 35k-star agent UI voice surface by clarifying that custom `TranscriptionService` implementations can proxy CopilotKit `/transcribe` requests to local or LAN STT endpoints | LauraGPT posted a 2026-07-08 downstream compatibility note at `https://github.com/CopilotKit/CopilotKit/pull/5863#issuecomment-4911282937`, suggesting an optional self-hosted ASR callout for FunASR, SenseVoice, and Qwen3-ASR-style `/v1/audio/transcriptions` deployments. Wait for maintainer/doc-author feedback; do not turn this into a blocking review. | | `manaflow-ai/cmux#7314` provider-neutral iOS voice backend | Puts a 23k-star AI terminal's iOS Voice Mode and composer dictation behind a recognition-backend seam where local/on-device Apple or Parakeet engines can later coexist with LAN/self-hosted FunASR/SenseVoice/Qwen3-ASR transcription gateways | LauraGPT posted a non-blocking backend-contract note at https://github.com/manaflow-ai/cmux/pull/7314#issuecomment-4912323678: keep engine capability metadata provider-neutral, send exactly one final transcript to `mobile.voice.input`, preserve fail-closed target checks outside the ASR engine, sanitize provider errors, and keep downloaded model state separate from any future remote endpoint settings. Track review without asking this PR to add another engine. | | `QwenLM/qwen-code#6516` VoiceButton i18n and provider-error boundary | Makes voice dictation states and retry affordances translatable in the same high-visibility Qwen Web Shell surface, which matters for non-English users running local FunASR/SenseVoice STT backends | LauraGPT posted the local/private STT note at https://github.com/QwenLM/qwen-code/pull/6516#issuecomment-4911909587. Latest head `79f3294e651211de4095947eec35e33d94da5c7a` adds locale-cache invalidation after the earlier missed placeholder fix; Ubuntu Node 22 tests and coverage comment passed, while `review-pr` is still in progress. Reviewer `wenshao` downgraded to non-blocking comment at https://github.com/QwenLM/qwen-code/pull/6516#issuecomment-4912381983 and suggested i18n interpolation/timeline tests plus sentinel cleanup. Monitor checks/review; avoid another FunASR comment unless provider-error or voice insertion tests are requested. | | `agent-of-empires/agent-of-empires#2585` composer action extension point | Adds a provider-agnostic composer action API in an agent UI, creating the right plugin boundary for local FunASR/SenseVoice dictation without hard-coding STT into core | Maintainer agreed with LauraGPT's provider-neutral boundary at https://github.com/agent-of-empires/agent-of-empires/pull/2585#issuecomment-4911979551 and asked the author to rebase. Keep STT-provider code out of this PR; after the extension point is clean, propose or review a plugin that calls an OpenAI-compatible FunASR/SenseVoice `/v1/audio/transcriptions` endpoint. | | `tmoroney/auto-subs#652` Whisper download failure with SenseVoice fallback | Protects a live subtitle workflow after AutoSubs added SenseVoice: a Chinese-video user is blocked by `large-v3-turbo` whisper.cpp model download failure, not by audio normalization or ASR execution | LauraGPT posted safe triage at https://github.com/tmoroney/auto-subs/issues/652#issuecomment-4911843184: avoid unverified ZIP/bypass scripts, keep the Whisper fix in the model-manager/cache path, and use the built-in SenseVoice path from #629 plus the app translation route as the immediate `lang=zh` fallback. A new user asked for 1:1 help, so LauraGPT moved support back into the public issue at https://github.com/tmoroney/auto-subs/issues/652#issuecomment-4912472340; after they asked which option is SenseVoice, LauraGPT identified the UI label/model id at https://github.com/tmoroney/auto-subs/issues/652#issuecomment-4912653724. Track whether they can see `SenseVoice` / `sense-voice`, whether their build includes the newer engine, and whether Whisper remains isolated to download/cache handling. | | `OpenWhispr/openwhispr#769` custom endpoint transcription contract | Keeps a privacy-first dictation app's BYOK/custom STT route compatible with OpenAI-style multipart transcription endpoints, the same wire shape used by self-hosted FunASR/SenseVoice gateways | LauraGPT posted the regression-contract checklist at https://github.com/OpenWhispr/openwhispr/issues/769#issuecomment-4909852583 after a user confirmed the OpenRouter fix branch worked. Track for a main/release-side fix that preserves `file`, `model`, optional `language`, optional `response_format=verbose_json`, exact `/audio/transcriptions` base-url joining, safe `audio/webm` handling, and provider-specific JSON/base64 only when required. | | `mahseema/awesome-ai-tools#1689` FunClip video-tool listing | Adds FunClip to a high-visibility AI tools list where video creators discover clipping and subtitle workflows | Validate the FunClip link, keep the description aligned with local transcription/SRT/AI clipping capabilities, and avoid status pings after evidence is posted. | Completed external wins: | Integration | Growth reason | Result | |---|---|---| | `xinnan-tech/xiaozhi-esp32-server#3255` configurable FunASR language | Improves a high-star ESP32 voice-agent backend by letting users pin SenseVoice/FunASR language for short utterances | Merged on 2026-06-30 after adding the multi-module management-console database migration requested by maintainers. | | `tmoroney/auto-subs#629` SenseVoice engine for subtitle workflows | Adds SenseVoice to an on-device subtitle generation app used by video editors and creators | Merged on 2026-06-30 after adding the declarative model manifest, SenseVoice/Canary/Cohere engines, real CTC timestamps, native translation routing, and robustness fixes. | | `pipecat-ai/pipecat#4844` FunASR local STT service | Puts SenseVoice/FunASR into realtime voice agent pipelines used by builders comparing local STT backends | Merged on 2026-07-02 after adding the local STT service, optional dependency handling, docs, and validation coverage. | | `liusongxiang/Large-Audio-Models#26` FunAudioLLM audio-language-model listing | Adds FunAudioLLM to a focused audio language model catalog where researchers compare speech and audio LLM projects | Merged on 2026-07-03 with a README-only FunAudioLLM entry. | | `yuekaizhang/Fun-ASR-vllm#20` deterministic vLLM sampling for ASR | Improves a community Fun-ASR-vLLM inference path by making ASR generation deterministic enough for repeatable evaluation and demos | Merged on 2026-07-07 after switching the vLLM sampling path to deterministic decoding for ASR. Follow-up `#21` continues the prompt-embedding dtype cleanup. | | `xorbitsai/inference#5140` Fun-ASR-Nano Xinference dependency fix | Unblocks Fun-ASR-Nano deployment through Xinference by moving model specs off an old FunASR git pin that predates `FunASRNano` registration | Merged on 2026-07-07 as `4a625fafa55827ee932f1e2cfcd362b9a7b4aabe`; LauraGPT synced FunASR deployment docs in https://github.com/modelscope/FunASR/pull/3117 and posted the merge follow-up at https://github.com/xorbitsai/inference/pull/5140#issuecomment-4901893926. Track Xinference release notes so FunASR docs can point users at a fixed build. | | `debpalash/OmniVoice-Studio#1003` OpenAI-compatible ASR backend | Gives an 8k-star local voice/video studio a generic `POST /v1/audio/transcriptions` path that can point at self-hosted FunASR, SenseVoice, or Qwen3-ASR servers before direct Transformers support lands | Merged by maintainer `debpalash` on 2026-07-08 as `5a7d9cc05cda45682b11b5ece35190a5c39bbb6f` after LauraGPT's timeout, fallback-scope, key-clear, and error-sanitization review note. Watch release/user feedback for real FunASR/SenseVoice endpoint smoke results; do not post another follow-up unless those hardening items resurface. | | `OpenWhispr/openwhispr#1093` transcript-retention fix | Strengthens a privacy-first dictation and meeting transcription app so local/private STT providers do not lose genuine microphone speech when echo evidence is audio-only | Merged on 2026-07-08 as `4d6f2d2e8b4602feb72f1493aff1f8f12de9e3f3` after LauraGPT highlighted the final-text retention contract; watch release feedback and future OpenAI-compatible/local provider work without posting duplicate follow-ups. | | `elizaOS/eliza#15426` streaming ASR live transcript contract | Lands a high-star agent OS voice UX path where segment preview and final batch transcript semantics can support local/private FunASR or SenseVoice-style ASR providers | Merged on 2026-07-08 as `e8d780cd31d1b5e8a870c20e370da0010ce8eb2d` after LauraGPT called out the final-transcript safety contract at https://github.com/elizaOS/eliza/pull/15426#issuecomment-4911110675. Watch follow-up provider work and keep any FunASR bridge aligned with the final-only fallback contract. | | `QwenLM/qwen-code#6510` pane-scoped voice dictation restore | Restores voice dictation in a 25k-star Qwen coding-agent Web Shell split-view, creating a visible local/private STT surface when the daemon advertises `voice_transcribe` | Merged on 2026-07-08 as `d8dc8043d6cfd4d7605f83b8a4838fee9dacdffa` after LauraGPT's pane-scoped local/private ASR boundary note at https://github.com/QwenLM/qwen-code/pull/6510#issuecomment-4911877569 and maintainer confirmation at https://github.com/QwenLM/qwen-code/pull/6510#issuecomment-4912022943: capability-gated mic visibility, editable transcript draft without auto-submit, pane-specific routing, and sanitized provider errors for FunASR/SenseVoice/OpenAI-compatible STT backends. | | `chatmcp/mcpso#1` MCP server directory submission | Routes MCP builders browsing mcp.so toward FunASR's local speech-recognition MCP server | Listed on mcp.so on 2026-07-08 at https://mcp.so/server/mcp-server-funasr/radial-hks after LauraGPT submitted the server in the public directory thread. The MCP README now links the live directory page so Claude/Cursor-style users can discover `transcribe_audio` without reading the growth tracker. | | `1c7/chinese-independent-developer#1065` FunClip listing link refresh | Keeps FunClip's accepted entry in a 49k-star Chinese independent-developer directory pointed at the current official repository | Merged on 2026-07-08 as `13ca927ab1a0113a9ae54433086beca5db1f787e`, replacing the obsolete organization URL with `github.com/modelscope/FunClip`. | | `vinta/awesome-python#3246` SenseVoice listing | Places SenseVoice in a 307k-star Python discovery list used by developers comparing production-ready libraries | Merged on 2026-07-08 as `d3c593533e63890eac7d370313918f36b2a16eea`, giving SenseVoice a durable entry in the list's speech-recognition category. | | `mahimairaja/voiceai#16` FunASR and SenseVoice STT resources | Places the core toolkit and SenseVoice in a curated voice-AI resource map for builders comparing local STT options | Merged on 2026-07-08 as `4e0e3edab7c148cb1769021816409ad65d97af83` after correcting a pre-existing Stars badge target and verifying the full link check with 480 links and 0 errors. | | `LqNoob/Neural-Codec-and-Speech-Language-Models#4` Fun-ASR-Nano and SenseVoice listing | Adds both FunAudioLLM speech-understanding models to a focused neural-codec and speech-language-model catalog | Merged on 2026-07-09 as `16ef660a95a127e2a00782f433b816eb42b2b7b1`, preserving direct project and paper discovery links. | | `RVC-Boss/GPT-SoVITS#2801` Fun-ASR-Nano registration fallback | Unblocks a 59k-star voice-generation workflow when optional Fun-ASR-Nano model registration fails during ASR setup | Merged on 2026-07-10 as `551918539c8e3a496a504a4d9aa2cd7d591097bf`, keeping the fallback scoped to registration errors instead of masking unrelated runtime failures. | | `ga642381/speech-trident#31` SenseVoice model-list entry | Adds SenseVoice to a speech/audio language-model catalog used by model researchers | Merged on 2026-07-10 as `ab0cc3217e791300112cf84f136f85e8f0d52ee2` with the model and project links in the speech-understanding section. | | `RVC-Boss/GPT-SoVITS#2803` FunASR backend documentation | Gives users of a 59k-star voice-generation workflow a maintained explanation of its FunASR backend choices after the registration fallback landed | Merged on 2026-07-13 as `be6a4f1e9d8a22d41b7d42c22df9d7ef36f225d2`, adding a durable discovery and setup path for the supported FunASR backends. | Operating rules: - Comment on external PRs only when there is new evidence, a reviewer question, or a concrete unblock; avoid low-signal status bumps. - Keep each integration's local verification command, CI link, and latest reviewer decision in the weekly notes. - Promote an integration in FunASR README or release notes only after it is merged or has a maintained, runnable branch. - When a third-party PR stalls, look for a smaller docs/example PR in that upstream instead of forcing a large runtime integration. ## Tracking cadence Use the lightweight metrics script before and after major README, homepage, release, or demo updates: ```bash python scripts/collect_growth_metrics.py python scripts/collect_growth_metrics.py --format json ``` The script captures GitHub stars, forks, watchers, open issues, open pull requests, latest push time, and the current PyPI version using public APIs. Set `GITHUB_TOKEN` when running it from CI or a shared network to avoid public GitHub API rate limits; on the FunASR ops host it also reads `/cpfs_speech/user/zhifu.gzf/.config/funasr-ops/github_token` when the environment variable is absent. Passing multiple explicit repositories to `--repos` is treated as an ecosystem snapshot, so the four-repo target command remains: ```bash python scripts/collect_growth_metrics.py --repos modelscope/FunASR QwenAudio/Fun-ASR QwenAudio/SenseVoice modelscope/FunClip ``` Paste the Markdown output into launch notes, weekly community updates, or release retrospectives so the 20k-star effort stays measurable. ## 30-day execution checklist ### Week 1: Repository conversion - [x] Verify README quick start on clean CPU and GPU environments. On 2026-07-23, clean venv checks covered README Quick Start SenseVoiceSmall CPU and README Quick Start Fun-ASR-Nano GPU setup paths. The clean CPU venv ran `AutoModel(model="iic/SenseVoiceSmall", vad_model="fsmn-vad", spk_model="cam++", device="cpu")` with `torch 2.13.0+cu130`, `torchaudio 2.11.0+cu130`, and `funasr 1.3.26`, then produced `欢迎大家来体验达摩院推出的语音识别模型`. The first clean GPU venv reproduced the README GPU path with the bare `pip install torch torchaudio`; it installed `torch 2.13.0+cu130` and `torchaudio 2.11.0+cu130`, generated the same Fun-ASR-Nano sample text, but `torch.cuda.is_available()` was `False` on the H100 host. README and README_zh now tell GPU users to install matching PyTorch / torchaudio CUDA wheels from pytorch.org and verify `torch.cuda.is_available()` before using `device="cuda"`. A second clean GPU venv installed explicit cu128 wheels from `https://download.pytorch.org/whl/cu128` and passed end to end with `torch 2.11.0+cu128`, `torch.version.cuda 12.8`, `torchaudio 2.11.0+cu128`, `funasr 1.3.26`, `cuda_available True`, `NVIDIA H100 80GB HBM3`, and `AutoModel(model="FunAudioLLM/Fun-ASR-Nano-2512", device="cuda")` producing `欢迎大家来体验达摩院推出的语音识别模型。` with `rtf_avg: 0.237`. Logs are kept under `/cpfs_speech/user/zhifu.gzf/.cache/funasr-ops/readme-quickstart-cpu-20260723.log`, `/cpfs_speech/user/zhifu.gzf/.cache/funasr-ops/readme-quickstart-gpu-20260723.log`, and `/cpfs_speech/user/zhifu.gzf/.cache/funasr-ops/readme-quickstart-gpu-cu128-20260723.log`. - [x] Verify high-traffic README, docs, runtime, and model_zoo links. On 2026-07-23, PRs #3360 through #3363 refreshed localized README Paraformer links, runtime tutorial download commands, runtime deploy-script fallback URLs, package/help metadata, model_zoo Hugging Face links, and verified core ModelScope entries; regression guards now cover these public entry points. - [x] Add or refresh CONTRIBUTING, PR template, and issue templates. On 2026-07-23, the four core repositories now have `CONTRIBUTING.md`, issue templates, and PR templates: `modelscope/FunClip#188`, `modelscope/FunClip#189`, `QwenAudio/Fun-ASR#151`, and `QwenAudio/SenseVoice#327` closed the remaining gaps after the existing FunASR, Fun-ASR, and SenseVoice templates were audited. - [x] Add a short FAQ for install/deployment failures. On 2026-07-23, `modelscope/FunASR#3366` added [`docs/troubleshooting.md`](./troubleshooting.md) and [`docs/troubleshooting_zh.md`](./troubleshooting_zh.md), linked both from README and README_zh, and covered `torch` / `torchaudio`, ModelScope versus Hugging Face downloads, `funasr-server` `/v1/audio/transcriptions`, `WebSocket` realtime checks, `llama.cpp` / `GGUF`, and `Deployment Help` issue details. - [x] Confirm GitHub repo description and topics mention ASR, speech-recognition, streaming, diarization, OpenAI-compatible API, MCP, and vLLM. On 2026-07-23, the four live GitHub repository metadata pages were audited. `modelscope/FunASR` topics include `mcp-server`, `openai-compatible-api`, `streaming-asr`, and `vllm`; `QwenAudio/Fun-ASR` topics include `fun-asr-nano`, `llama-cpp`, `gguf`, and `multilingual-asr`; `QwenAudio/SenseVoice` topics include `sensevoice`, `language-identification`, `audio-event-detection`, and `speech-understanding`; `modelscope/FunClip` topics include `video-transcription`, `auto-subtitles`, `ai-video-editing`, and `funclip`. ### Week 2: Deployment proof - [x] Publish API server curl examples. On 2026-07-23, the OpenAI-compatible API docs already publish copy-paste curl paths in `examples/openai_api/README.md` and `examples/openai_api/README_zh.md`, plus scripted smoke tests in `examples/openai_api/smoke_test.sh` and `examples/openai_api/smoke_test.py`. The manual flow downloads `sample.wav`, checks `/health`, and posts to `/v1/audio/transcriptions` with `-F file=@sample.wav`, `-F model=sensevoice`, and `response_format=verbose_json`; no-code and gateway users can use `examples/openai_api/POSTMAN.md` and `examples/openai_api/OPENAPI.md`. - [x] Publish WebSocket streaming examples. On 2026-07-23, realtime WebSocket examples are published in `docs/vllm_guide.md`, `docs/vllm_guide_zh.md`, and `examples/industrial_data_pretraining/fun_asr_nano/docs/realtime_demo.md`. They show how to start `serve_realtime_ws.py`, connect to `ws://localhost:10095`, run `client_python.py --server ws://localhost:10095 --mic` or `client_python.py --server ws://localhost:10095 --file audio.wav`, interpret `partial`, `partial_start_ms`, and `is_final`, and run `realtime_ws_benchmark.py` for multi-client load checks. - [ ] Validate Docker CPU and GPU images. On 2026-07-23, `examples/openai_api/validate_docker.sh` was prepared so a Docker-capable host can run `bash validate_docker.sh` for the portable CPU image and `bash validate_docker.sh --gpu` for the NVIDIA Container Toolkit path. Current ops-host evidence: `ind-gpu8` has H100 GPUs but no `docker` CLI, and `funasr-web` also has no `docker` CLI, so do not mark this item complete until the script passes on a Docker host. - [x] Validate vLLM guide on one GPU server. On 2026-07-23, `ind-gpu8` validated the Fun-ASR-Nano vLLM guide on one H100 with the existing `funasr-3239-vllm0191-py312-20260717` environment (`torch 2.10.0+cu128`, `vllm 0.19.1`, `funasr 1.3.26`, `modelscope 1.38.1`, CUDA available with 8 H100s). The first attempt with the HF `Fun-ASR-Nano-2512-hf` snapshot correctly failed before vLLM init because that Transformers-format snapshot lacks the guide-required `Qwen3-0.6B` directory. The verified run used the ModelScope snapshot with `Qwen3-0.6B` and `model.pt`, then ran `CUDA_VISIBLE_DEVICES=0` `examples/industrial_data_pretraining/fun_asr_nano/demo_vllm.py` with `tensor_parallel_size=1`, `gpu_memory_utilization=0.35`, `max_model_len=1024`, and the bundled `example/zh.mp3`; `model.pt` was converted to `Qwen3-0.6B-vllm/model.safetensors`, vLLM loaded on GPU 0, Model loaded in 82.6s, and inference processed 1 files in 1.95s with output `开饭时间早上九点至下午五点。` plus token timestamps. Logs are kept under `/cpfs_speech/user/zhifu.gzf/.cache/funasr-ops/vllm-guide-smoke-ms-20260723.log` and the JSONL result under `/cpfs_speech/user/zhifu.gzf/.cache/funasr-ops/vllm-guide-smoke-ms-20260723.jsonl`. - [x] Record concise terminal outputs for release notes. On 2026-07-23, the release-note evidence pack was reduced to four copy-paste terminal snippets: growth snapshot (`Combined GitHub stars: **35,787**`, `Added since baseline: **4,563** / 20,000`, `PyPI package: **funasr 1.3.26**`), live website patrol (`funasr.com static page contract passed for 14 pages`), Docker helper guard (`validate_docker.sh syntax ok`, while full Docker CPU/GPU image validation still waits for a Docker-capable host), and H100 vLLM smoke (`Model loaded in 82.6s`, `Results: 1 samples, total inference time: 1.95s`, `Text: 开饭时间早上九点至下午五点。`). Release notes can now cite the growth snapshot, website patrol, Docker helper guard, and H100 vLLM smoke without pasting long logs. ### Week 3: Launch package - [x] Create a GitHub release focused on one sharp value proposition. On 2026-07-23, the latest GitHub release [`v1.3.26`](https://github.com/modelscope/FunASR/releases/tag/v1.3.26) was updated with the headline `Release focus: OpenAI-compatible ASR deployment`. The release now tells users this is the current Python release to install from PyPI, run the OpenAI-compatible transcription API, follow WebSocket realtime examples, or pair with the prebuilt llama.cpp / GGUF runtime assets. The top evidence block cites `python -m pip install -U "funasr==1.3.26"`, `/v1/audio/transcriptions`, `serve_realtime_ws.py`, `docs/vllm_guide.md`, the H100 Fun-ASR-Nano `vllm 0.19.1` smoke output, `funasr.com` 14-page patrol, and matching `runtime-llamacpp-v0.1.9` downloads for nine self-contained `llama-funasr-*` assets, including Windows Vulkan. - [x] Keep recent Python GitHub release pages linked to runtime assets. On 2026-07-23, `v1.3.19` through `v1.3.26` were updated and verified to include a `Runtime downloads` section pointing to `runtime-llamacpp-v0.1.9`, including Windows Vulkan, Linux Vulkan, Windows CUDA, all nine prebuilt llama.cpp / GGUF assets, SHA-256 digests, and the matching PyPI install command. PR [#3398](https://github.com/modelscope/FunASR/pull/3398) merged as `9b918d74d7090b38211a6414c6ee08893a34afd4`; tag run [30000804161](https://github.com/modelscope/FunASR/actions/runs/30000804161) passed all nine builds plus the release job, and the published Windows Vulkan EXE depends only on the system Vulkan/Windows DLLs. The `scripts/update_release_runtime_downloads.py` guard and `tests/test_release_runtime_downloads.py` cover future tag releases. - [x] Update PyPI release description if needed. On 2026-07-23, the live PyPI `funasr 1.3.26` page was audited: its long description already comes from `README.md` and includes the current deployment-routing markers `OpenAI-compatible`, `/v1/audio/transcriptions`, `vllm`, `runtime-llamacpp-v0.1.8`, `GGUF`, and `funasr==1.3.26`. The package summary was prepared for the next PyPI publish by updating `setup.py` to `OpenAI-compatible speech recognition toolkit with WebSocket streaming, vLLM acceleration, and llama.cpp/GGUF edge runtime`, plus discovery keywords for `openai-compatible`, `websocket`, `vllm`, `gguf`, and `llama-cpp`; the currently published PyPI metadata remains `1.3.26` until the next weekly release upload. - [x] Publish and round-trip verify FunASR v1.4.0. On 2026-07-31, signed tag [`v1.4.0`](https://github.com/modelscope/FunASR/releases/tag/v1.4.0) was verified by GitHub against exact main `5f177695f238385d513415a0e20883b6411093be`. The public Release contains exactly 12 assets: wheel, sdist, all nine `runtime-llamacpp-v0.1.9` targets, and `SHA256SUMS-v1.4.0`; every GitHub digest matches the preserved staging bytes. Public PyPI contains only `funasr-1.4.0-py3-none-any.whl` and `funasr-1.4.0.tar.gz`; both were downloaded again with no-cache headers, matched exact-main size/SHA-256, and passed a fresh installed-wheel smoke covering version/import, the `vda_model` to `vad_model` guard, SenseVoice English normalization, and all four RWKV-BAT CUDA kernel sources. Release copy keeps the legacy WebSocket end-control fix scoped to tagged source rather than claiming it is part of the PyPI wheel. - [ ] Update Hugging Face organization/model cards. The `FunAudioLLM/Fun-ASR-MLT-Nano-2512` README update is complete: HF PR [#5](https://huggingface.co/FunAudioLLM/Fun-ASR-MLT-Nano-2512/discussions/5) merged commit `3dd802bfb8a05dadc440c9d9fc84ecfc1e15c0ff`, and a 2026-07-23 live Hub download confirmed `main` now includes `python -m pip install -U "funasr>=1.3.26"` before optional demo-repo setup. Prepared README patches for `FunAudioLLM/Fun-ASR-Nano-2512` and `FunAudioLLM/SenseVoiceSmall` would add the same `funasr>=1.3.26` install floor, but the current `langgz` token still cannot write those model cards: direct upload fails with `403 Forbidden: pass create_pr=1`, and the Hub's suggested `--create-pr` path also fails at `preupload/main?create_pr=1` with `403 Forbidden: Authorization error`. Retry after model-card preupload/write permission is granted on those two repos. - [ ] Update ModelScope model cards and demos. On 2026-07-23, `scripts/sync_modelscope_model_cards.py` was added to generate and optionally upload current ModelScope README updates for `FunAudioLLM/Fun-ASR-Nano-2512` (`README.md`, `README_zh.md`) and `iic/SenseVoiceSmall` (`README.md`). The prepared cards add `python -m pip install -U "funasr>=1.3.26" modelscope` and `torch.cuda.is_available()` CUDA-wheel verification guidance, matching the clean H100 quickstart evidence. Prepared files are under `/cpfs_speech/user/zhifu.gzf/.cache/funasr-ops/modelscope-card-sync-20260723/`. A live upload attempt with the existing 32-byte `.modelscope/credentials/session` failed: SDK uploads returned HTTP 400 from the ModelScope LFS batch API, and CLI upload reported `No credentials found`; the remaining blocker is a real ModelScope access token from `https://modelscope.cn/my/myaccesstoken`. Do not mark complete until those three ModelScope README files are uploaded and re-downloaded from the live model cards. - **2026-07-31 credential recheck:** `ind-gpu8` still has no `MODELSCOPE_API_TOKEN`, `MODELSCOPE_TOKEN`, `MODELSCOPE_ACCESS_TOKEN`, or ModelScope token file under the release config; only the previously rejected 32-byte `.modelscope/credentials/session` remains. The v1.4.0 SenseVoice/RWKV-BAT guidance must not overwrite live model cards until a real write-capable ModelScope token exists. - [x] Update homepage hero and docs entry points. On 2026-07-23, the live homepage entry points were audited and added to the public website contract. [`https://www.funasr.com/`](https://www.funasr.com/) visibly leads with the Chinese industrial speech-recognition hero, links `/donors.html`, and exposes the OpenAI-compatible `/v1/audio/transcriptions` and `vLLM` deployment path. [`https://www.funasr.com/en/`](https://www.funasr.com/en/) exposes `Industrial Speech Recognition`, `OpenAI-compatible`, `/v1/audio/transcriptions`, and `vLLM`. The bilingual launch guide at `funasr-v1-3-26-openai-vllm-llama-cpp.html` adds one owned conversion path from the blog's existing traffic to `funasr==1.3.26`, the OpenAI-compatible API, the H100-validated vLLM path, `runtime-llamacpp-v0.1.9` with Windows Vulkan, and all four ecosystem repositories. `scripts/check_funasr_website_static.py` now patrols both homepages plus the ecosystem, donor, CLI tutorial, llama.cpp landing, llama.cpp blog, and bilingual v1.3.26 launch pages; the live check prints `funasr.com static page contract passed for 14 pages`. ### Week 4: Distribution and feedback - [x] Share the release in relevant developer communities. On 2026-07-23, GitHub Discussion [`modelscope/FunASR#3376`](https://github.com/modelscope/FunASR/discussions/3376) was published in the `Announcements` category with the title `FunASR v1.3.26: OpenAI-compatible ASR deployment, vLLM, and llama.cpp runtime`. It routes readers to `funasr==1.3.26`, `/v1/audio/transcriptions`, WebSocket realtime examples, `docs/vllm_guide.md`, the H100 vLLM smoke evidence, `runtime-llamacpp-v0.1.9` with the Windows Vulkan asset, troubleshooting docs, and asks real app users to share hardware, model path, latency, and deployment friction. The same release story is now published on the owned website in Chinese and English at [`/blog/funasr-v1-3-26-openai-vllm-llama-cpp.html`](https://www.funasr.com/blog/funasr-v1-3-26-openai-vllm-llama-cpp.html) and [`/en/blog/funasr-v1-3-26-openai-vllm-llama-cpp.html`](https://www.funasr.com/en/blog/funasr-v1-3-26-openai-vllm-llama-cpp.html), with featured entry points on both blog indexes and direct links to all four repositories. - [x] Announce the verified v1.4.0 package release. On 2026-07-31, GitHub Discussion [`modelscope/FunASR#3451`](https://github.com/modelscope/FunASR/discussions/3451) was published in the `Announcements` category. It links the exact `funasr==1.4.0` install command, separates PyPI wheel fixes from the tagged-source WebSocket fix, points to all 12 GitHub Release assets and the checksum manifest, records the public no-cache round-trip smoke, and asks users to report model, hardware, install path, input boundary, and reproducible deployment friction. The same bounded story is prepared for the bilingual owned-site routes `/blog/funasr-v1-4-0-pypi-release.html` and `/en/blog/funasr-v1-4-0-pypi-release.html`. - [x] Pin a GitHub discussion for the release. On 2026-07-23, [`modelscope/FunASR#3376`](https://github.com/modelscope/FunASR/discussions/3376) was pinned through the repository's authenticated Discussions admin UI. GitHub returned `Discussion has successfully been pinned`, and the admin controls now expose `Edit pinned discussion` and `Unpin discussion`; the `v1.3.26` OpenAI-compatible ASR, vLLM, and llama.cpp release story is therefore visible at the top of the public Discussions page. - [x] Triage all new issues within 48 hours. On 2026-07-23, all four repositories were patrolled with the GitHub token on `ind-gpu8`: `modelscope/FunASR`, `QwenAudio/Fun-ASR`, `QwenAudio/SenseVoice`, and `modelscope/FunClip` all had `0` open pull requests; Fun-ASR, SenseVoice, and FunClip had `0` open issues. The only open FunASR issues were already triaged: #3302 is labeled `question` + `needs feedback` and is waiting for the reporter to retest the merged hotword/postprocess fix, while #3104 is labeled `enhancement` + `needs maintainer decision` and is waiting on release-scope confirmation for RL training code. No unlabelled or unowned open issue remained in the 48-hour window. - [x] Convert top 3 support questions into docs. On 2026-07-23, the latest 80 FunASR issues were triaged into three repeat support blockers: install / hub / model-id selection (#3321, #3045, #3042, #2973, #2976), llama.cpp / GGUF / CUDA-Vulkan runtime packages (#3298, #3297, #3296, #3289, #3243), and realtime / VAD / vLLM / server output behavior (#3101, #3109, #3038, #3031, #2968, #2965). `docs/troubleshooting.md` and `docs/troubleshooting_zh.md` now start with a Top support questions section that maps those three issue clusters to the existing install, model-download, OpenAI-compatible server, WebSocket, and llama.cpp / GGUF FAQ anchors. - [x] Track stars, PyPI downloads, issue volume, and docs traffic. `collect_growth_metrics.py` tracks GitHub stars, open issues, and open pull requests for the four core repositories and adds PyPIStats download windows for `funasr` as `downloads_last_7_days` and `downloads_last_30_days`. On 2026-07-23, the live PyPIStats window was refreshed at `117,850` downloads in 7 days and `445,755` downloads in 30 days through `2026-07-22`; successful runs write `/cpfs_speech/user/zhifu.gzf/.cache/funasr-ops/pypi-downloads-funasr.json`, and failed live runs fall back to that cache with status `stale_available` instead of dropping the metric during SSL/429 outages. `scripts/collect_website_traffic.py` completes the docs-traffic side from plain or gzip Nginx logs with `python scripts/collect_website_traffic.py --log '/var/log/nginx/access.log*' --days 30 --format json`; it filters bots, static assets, unsuccessful responses, and out-of-window requests, and emits aggregate counts only so raw client IPs and user agents are never emitted. A production run on `funasr-web` over 15 rotated logs at `2026-07-23T04:52:08Z` measured 30-day traffic at `88,239` page views / `47,084` approximate unique visitors, including docs at `15,501` / `11,843` and blog at `27,901` / `22,716`. The matching 7-day run measured `21,915` / `12,668`, including docs at `4,638` / `3,612` and blog at `6,901` / `5,590`. Stars, PyPI downloads, issue volume, and owned-site traffic now have repeatable baselines for patrols. ## Release-note template ````markdown ## Why this release matters FunASR now lets you ... ## Try it in 60 seconds ```bash pip install -U funasr funasr-server --device cuda ``` ## Highlights - ... - ... - ... ## Verified environments - GPU: - CPU: - Docker: ## Links - Quick start: - Deployment guide: - Benchmark: - Discussion: ```` ## 中文摘要 目标不是单纯“求 Star”,而是让更多用户能更快完成安装、转写、部署和分享。当前增长目标按 FunASR / Fun-ASR / SenseVoice / FunClip 四仓生态统一跟踪:以 2026-06-27 的 31,224 combined stars 为基线,到 2026-09-30 累计新增 20,000 stars。最有效的抓手是:首屏转化、可复现 benchmark、OpenAI 兼容 API/流式/vLLM/Docker 部署闭环、HF/ModelScope/官网同步更新、高星生态集成,以及高效的 issue/PR 社区运营。