Skip to content

Commit bff7039

Browse files
authored
Merge pull request #3512 from modelscope/codex/site-ecosystem-integrations-20260817
docs(site): feature merged ecosystem integrations
2 parents afa5da6 + a5d43be commit bff7039

4 files changed

Lines changed: 81 additions & 2 deletions

File tree

web-pages/product-site/content/legacy-manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"css/index.1682178c.css": "b5f6034ce886c25773928c114e4290d1c491a3d081677b488810198efd76b4e1",
4040
"decoder.js": "f2023a28036b1ff58e5bdabbb72ea427f8faaf60e89acd78ff183c313bdb0a2c",
4141
"donors.html": "eec6b789b29c27d372925ae0ad3e13d4c6e62978b3c38c4da9e3aec129f10934",
42-
"ecosystem.html": "e81f4412ea4af6a838320660809f3a24edbf4cf8fb00445b66b81fe6b7efa1a9",
42+
"ecosystem.html": "31d47b029688be0d76b78472e2c880bcdaa1ea6d7bfb42bc35fe4d4850d2359a",
4343
"en/blog/cantonese-speech-recognition.html": "b9bd146198206f781c37f341c370a690dc83cd7163334e34b4e7f65e69af8ff2",
4444
"en/blog/chinese-speech-recognition.html": "16b68bd2a1122236c580c62275002ae2c0875ca14e32686e88d3b5ccfa9f56ef",
4545
"en/blog/fun-asr-nano-guide.html": "1746c708bd0606188de4266d8255984dd9e14634af33c54ad65a5f05b767be1b",
@@ -71,7 +71,7 @@
7171
"en/blog/voice-activity-detection-python.html": "d12f5d0f4ae07c3434f6188d12f5603b8abb9578413b79133668638d1c5e18a7",
7272
"en/blog/which-funasr-model.html": "1207180aa929a3aa51db136c1098f4edc8f07405e2b56fe033998bf996f8ec7f",
7373
"en/donors.html": "eacb7f9434b1b29e13e9b0175bb9680556ee72ab4dbd155e68f9c912eb0212b1",
74-
"en/ecosystem.html": "d6e8ba697f2c5ea972bfa93e803d40456f6f861e08df103444806bf7f728746f",
74+
"en/ecosystem.html": "8995530458be152971aba62ff6a4004af8d309ecafee82d9807746d058bde1ab",
7575
"en/index.html": "d86effc3bf4d218eabd465cbbe026f62c98dd50110ddd58251d9d271a64882a2",
7676
"en/llama-cpp.html": "dbfbd125ebbf07f7d923c91b122818f8b09484ce54c1e80eba66a89d22dfb5b4",
7777
"en/models.html": "321a63caace107d5ce6d470948c2f5954f2d8e25306d8227b4a85ec3663ad49e",

web-pages/product-site/legacy/ecosystem.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ <h2>视频与媒体工具</h2>
122122
<h2>语音输入与桌面应用</h2>
123123
<div class="card-grid">
124124
<div class="card">
125+
<div class="card-title"><a href="https://github.com/BasedHardware/omi">Omi</a></div>
126+
<div class="card-stars">13.1K+ stars</div>
127+
<div class="card-desc">开源 AI 可穿戴设备与移动应用。已合并的 <a href="https://github.com/BasedHardware/omi/pull/10447">#10447</a> 增加默认开启的“向 Omi 发送原始音频”开关。关闭后,<code>raw audio</code> 仅发往所选 STT provider;转写文本和非音频数据仍可发送到 Omi。设备编码不受 Custom STT 支持时会失败关闭,不会回退上传 Omi 音频。STT provider 可配置为 FunASR / SenseVoice 兼容服务。</div>
128+
<div><span class="card-tag">可穿戴设备</span><span class="card-tag">Custom STT</span><span class="card-tag">隐私</span></div>
129+
</div>
130+
<div class="card">
125131
<div class="card-title"><a href="https://github.com/HaujetZhao/CapsWriter-Offline">CapsWriter-Offline</a></div>
126132
<div class="card-stars">5.5K stars</div>
127133
<div class="card-desc">PC 端语音输入工具。按住 CapsLock 说话,松开自动上屏。基于 FunASR Paraformer 离线识别。</div>
@@ -238,6 +244,18 @@ <h2>语音助手与智能体</h2>
238244
<h2>AI 平台与框架</h2>
239245
<div class="card-grid">
240246
<div class="card">
247+
<div class="card-title"><a href="https://github.com/infiniflow/ragflow">RAGFlow</a></div>
248+
<div class="card-stars">88.6K+ stars</div>
249+
<div class="card-desc">开源 RAG 与智能体平台。已合并的 <a href="https://github.com/infiniflow/ragflow/pull/17388">#17388</a> 让本地 FunASR 使用默认 <code>http://localhost:8000/v1</code> 时无需 API key;配置密钥时仍发送 Bearer 认证,并在 multipart 转写前校验模型名,避免缺失配置触发 panic。</div>
250+
<div><span class="card-tag">RAG</span><span class="card-tag">本地 FunASR</span><span class="card-tag">可选认证</span></div>
251+
</div>
252+
<div class="card">
253+
<div class="card-title"><a href="https://github.com/OpenBMB/UltraEval-Audio">UltraEval-Audio</a></div>
254+
<div class="card-stars">313 stars</div>
255+
<div class="card-desc">音频模型评测框架。<a href="https://github.com/OpenBMB/UltraEval-Audio/pull/47">#47</a> 已注册 <code>fun-asr-nano-2512</code>,固定 Hugging Face 模型 revision 与运行依赖,通过隔离子进程执行评测;合并前在 H100 上完成了固定样例 smoke test,结果不代表所有数据集、语言或部署硬件。</div>
256+
<div><span class="card-tag">评测</span><span class="card-tag">Fun-ASR-Nano</span><span class="card-tag">可复现 revision</span></div>
257+
</div>
258+
<div class="card">
241259
<div class="card-title"><a href="https://github.com/RVC-Boss/GPT-SoVITS">GPT-SoVITS</a></div>
242260
<div class="card-stars">58K stars</div>
243261
<div class="card-desc">一分钟语音数据即可训练 TTS。使用 FunASR 进行训练数据标注。</div>

web-pages/product-site/legacy/en/ecosystem.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ <h2>Video & Media Tools</h2>
123123
<h2>Voice Input & Desktop Apps</h2>
124124
<div class="card-grid">
125125
<div class="card">
126+
<div class="card-title"><a href="https://github.com/BasedHardware/omi">Omi</a></div>
127+
<div class="card-stars">13.1K+ stars</div>
128+
<div class="card-desc">An open-source AI wearable and mobile app. Merged <a href="https://github.com/BasedHardware/omi/pull/10447">#10447</a> adds a default-on “Send raw audio to Omi” control. When disabled, <code>raw audio</code> goes only to the selected STT provider; transcripts and non-audio data may still reach Omi. Unsupported Custom STT codecs fail closed instead of falling back to Omi audio upload. The provider can be a compatible FunASR or SenseVoice service.</div>
129+
<div><span class="card-tag">Wearable</span><span class="card-tag">Custom STT</span><span class="card-tag">Privacy</span></div>
130+
</div>
131+
<div class="card">
126132
<div class="card-title"><a href="https://github.com/HaujetZhao/CapsWriter-Offline">CapsWriter-Offline</a></div>
127133
<div class="card-stars">5.5K stars</div>
128134
<div class="card-desc">PC voice input tool with offline recognition. Hold CapsLock to speak, release to paste. Powered by FunASR Paraformer.</div>
@@ -239,6 +245,18 @@ <h2>Voice Assistants & Agents</h2>
239245
<h2>AI Platforms & Frameworks</h2>
240246
<div class="card-grid">
241247
<div class="card">
248+
<div class="card-title"><a href="https://github.com/infiniflow/ragflow">RAGFlow</a></div>
249+
<div class="card-stars">88.6K+ stars</div>
250+
<div class="card-desc">An open-source RAG and agent platform. Merged <a href="https://github.com/infiniflow/ragflow/pull/17388">#17388</a> lets local FunASR use the default <code>http://localhost:8000/v1</code> endpoint without an API key, preserves Bearer authentication when a key is configured, and validates the model name before building the multipart transcription request instead of panicking on missing configuration.</div>
251+
<div><span class="card-tag">RAG</span><span class="card-tag">Local FunASR</span><span class="card-tag">Optional auth</span></div>
252+
</div>
253+
<div class="card">
254+
<div class="card-title"><a href="https://github.com/OpenBMB/UltraEval-Audio">UltraEval-Audio</a></div>
255+
<div class="card-stars">313 stars</div>
256+
<div class="card-desc">An audio-model evaluation framework. Merged <a href="https://github.com/OpenBMB/UltraEval-Audio/pull/47">#47</a> registers <code>fun-asr-nano-2512</code>, pins the Hugging Face model revision and runtime dependencies, and evaluates through an isolated subprocess. A fixed-sample H100 smoke test passed before merge; it is not evidence for every dataset, language, or deployment target.</div>
257+
<div><span class="card-tag">Evaluation</span><span class="card-tag">Fun-ASR-Nano</span><span class="card-tag">Pinned revision</span></div>
258+
</div>
259+
<div class="card">
242260
<div class="card-title"><a href="https://github.com/RVC-Boss/GPT-SoVITS">GPT-SoVITS</a></div>
243261
<div class="card-stars">58K stars</div>
244262
<div class="card-desc">1-minute voice data TTS. Uses FunASR for training data annotation — automatic speech-to-text labeling.</div>

web-pages/product-site/tests/test_legacy.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,49 @@ def test_openmaic_ecosystem_entry_is_merged_attributed_and_bounded():
196196
assert 'https://github.com/THU-MAIC/OpenMAIC/pull/1044' in text
197197

198198

199+
def test_recent_merged_ecosystem_integrations_are_bilingual_and_attributed():
200+
pages = {
201+
'zh': LEGACY / 'ecosystem.html',
202+
'en': LEGACY / 'en' / 'ecosystem.html',
203+
}
204+
expected = {
205+
'RAGFlow': {
206+
'repo': 'https://github.com/infiniflow/ragflow',
207+
'pull': 'https://github.com/infiniflow/ragflow/pull/17388',
208+
'terms': ('FunASR', 'API key'),
209+
},
210+
'Omi': {
211+
'repo': 'https://github.com/BasedHardware/omi',
212+
'pull': 'https://github.com/BasedHardware/omi/pull/10447',
213+
'terms': ('Custom STT', 'raw audio'),
214+
'zh_terms': ('所选 STT provider', '转写文本和非音频数据仍可发送到 Omi'),
215+
'en_terms': ('selected STT provider', 'transcripts and non-audio data may still reach Omi'),
216+
},
217+
'UltraEval-Audio': {
218+
'repo': 'https://github.com/OpenBMB/UltraEval-Audio',
219+
'pull': 'https://github.com/OpenBMB/UltraEval-Audio/pull/47',
220+
'terms': ('Fun-ASR-Nano', 'revision'),
221+
},
222+
}
223+
224+
for language, path in pages.items():
225+
soup = BeautifulSoup(path.read_text(encoding='utf-8'), 'html.parser')
226+
for name, contract in expected.items():
227+
cards = [
228+
card
229+
for card in soup.select('.card')
230+
if card.select_one('.card-title').get_text(' ', strip=True) == name
231+
]
232+
assert len(cards) == 1
233+
text = cards[0].get_text(' ', strip=True)
234+
hrefs = {link.get('href') for link in cards[0].select('a[href]')}
235+
236+
assert {contract['repo'], contract['pull']} <= hrefs
237+
assert all(term in text for term in contract['terms'])
238+
language_terms = contract.get(f'{language}_terms', ())
239+
assert all(term in text for term in language_terms)
240+
241+
199242
def test_v140_release_pages_are_bilingual_indexed_and_precise():
200243
slug = 'funasr-v1-4-0-pypi-release.html'
201244
pages = {

0 commit comments

Comments
 (0)