☰
AIRI 浏览器本地语音识别(Browser Local ASR/STT):当前状态、WIP 占位实现与可用替代方案
2026/10/10 14:53:41 网站建设 项目流程
  • AI 应用
  • 人工智能
  • 大模型
  • 数字人
  • AI Agent
  • 语音
  • 前端
  • 后端

【免费下载链接】airi

💖🧸 Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.

项目地址:https://gitcode.com/GitHub_Trending/ai/airi
点击查看免费下载

浏览器本地语音识别(Browser (Local) 转写提供者)是 AIRI 中面向网页端设计、目标为“本地模型、无需云端 API Key”的语音转文字(ASR/STT)方案。本文以 browser-local.md 文档 为骨架,结合源码核实该提供者目前的真实状态:它在当前仓库中仍处于 Work in Progress 占位阶段,不可配置、不可启用,并给出替代方案与从源码结构推断出的未来启用条件。阅读本文后,你将明确该提供者的现状边界,知道为什么它在设置页中只显示占位符,以及在真正需要浏览器本地 ASR 时应改用哪条路径。

文档核心事实:当前不可用

韩文版 browser-local.md 开篇即声明:Browser (Local) 语音识别尚不可用(아직 사용할 수 없습니다),AIRI 设置页目前仅显示 Work in Progress 占位符,用户无法准备或启用模型:

  • 状态:Work in Progress(WIP),未开放配置;
  • 结论性警告:不要在实际使用环境中配置该提供者,此文档存在仅是为了明确其当前可用性(현재 사용 가능 여부를 명확히 알리기 위해서만 문서화되어 있습니다);
  • 推荐替代:在支持的浏览器中使用 Web Speech API,或选择受支持的云端转写提供者。

同一结论在多语言文档中保持一致:英文版标题即为 “Browser local speech recognition (ASR/STT, unavailable)”,中文版 browser-local.md 的正文内容与韩文版一致地说明“浏览器本地语音识别使用 AIRI 的本地模型能力,不需要云端 API Key”,并提示“若服务商卡片未出现或识别无法启动,请改用 Web Speech API、云端 ASR 或桌面端本地方案”。请注意:韩文版是本次成文的主体依据,其明确标注“使用不可/不用于生产”,因此下述所有配置描述均属于“目标设计”,而非当前可操作步骤。

源码印证:设置页只渲染 WIP 占位组件

从源码可以确认“设置页仅有占位符”这一文档表述并非空话。浏览器本地转写提供者的设置页 browser-local-audio-transcription.vue 完整实现如下:

<script setup lang="ts"> import { WIP } from '@proj-airi/stage-ui/components' </script> <template> <WIP /> </template>

页面路由元信息(同文件内 route 块)引用了browser-local-audio-transcription的标题、副标题与描述键,也就是说该提供者的设置路由、标题与描述 i18n 键均已就位,唯独内容模板是空的。

占位组件本身定义在 wip.vue,渲染一个橙色 Callout,显示 i18n 文案:标题为 “Work in Progress”,描述为 “This feature is currently under development and not yet publicly available. Check back in future updates for this functionality.”(见 settings.yaml)。这与文档所述“现在仅显示 Work in Progress 占位符”完全吻合。

提供者定义:已注册但被强制隐藏

虽然页面只显示占位符,但提供者定义本身已存在于注册表源码中。local-audio/index.ts 同时定义了四个本地音频提供者,其中与浏览器本地转写相关的有两个:

  • providerBrowserLocalAudioSpeech(browser-local-audio-speech,TTS);
  • providerBrowserLocalAudioTranscription(browser-local-audio-transcription,ASR/STT)。

转写提供者声明了任务标签['speech-to-text', 'automatic-speech-recognition', 'asr', 'stt'],能力为 HTTP 协议、generateOutput: true、streamOutput: false、streamInput: false(local-audio/index.ts)。

关键在isAvailableBy字段:

// NOTICE: // Hiding the provider keeps users from selecting one they cannot configure. // Its settings page (browser-local-audio-transcription.vue) renders <WIP />. // Reported in https://github.com/moeru-ai/airi/issues/2297 (item 6). // Removal condition: restore isBrowserAndMemoryEnough once the settings page is implemented. isAvailableBy: () => false,

即:提供者已注册到注册表,但可用性判断被硬编码为始终返回 false,因此它在提供者列表中被隐藏,用户根本无法选中。源码注释明确解释了原因——隐藏提供者是为了“防止用户选择一个无法配置的提供者”,并指出移除条件是“实现设置页后恢复isBrowserAndMemoryEnough判断”。

注册表 registry.ts 通过defineProvider()将定义写入内存 Map,listProviders()负责排序输出;browser-local-audio-transcription也被列入StageProviderId联合类型(registry.ts)。此外 attributes.ts 将browser-local-audio-speech与browser-local-audio-transcription都标记为freeLocal(pricing: 'free'),印证“本地模型、无需付费”的定位;i18n 文案中这两个提供者的描述均指向https://github.com/moeru-ai/xsai-transformers(settings.yaml),从源码结构看,其未来底层实现很可能基于 transformers.js / WebGPU 推理路线。

从源码推断:未来的启用条件与配置形态

虽然当前不可用,但源码中保留了目标启用逻辑,可作为理解“未来如何开放”的依据(以下均为推断,非当前行为):

  1. 平台限制:浏览器本地转写仅面向网页端。isBrowserAndMemoryEnough首先通过isStageTamagotchi()判断是否为桌面端(local-audio/index.ts),桌面端直接返回 false——即该提供者不会在桌面版本中出现,与文档“网页版专属”的定位一致。

  2. 硬件门槛:启用条件为“支持 WebGPU或设备内存 ≥ 8 GB”(在无 WebGPU 时通过navigator.deviceMemory判断,注释明确 “The browser model needs at least 8 GB of system memory without WebGPU.”)。中文版文档 browser-local.md 将其描述为“确认浏览器支持 WebGPU,或设备内存至少为 8 GB,才会显示此服务商卡片”,两者相互印证。中文版文档还提到配置路径为“设置 → 服务商 → 语音识别 → Browser (Local)”,模型准备完成后在“设置 → 听觉”中启用——这正是当前占位页未来将被替换成的完整配置流程。

  3. 配置 Schema:createProviderConfig使用 localAudioConfigSchema,含两个可选字段apiKey与baseUrl(后者默认''),并对baseUrl做了规范化(去空白、补末尾/)。也就是说,即便未来开放,浏览器本地转写从配置形态上仍沿用“OpenAI 兼容本地端点”的风格。

  4. 校验逻辑:createLocalAudioValidators中唯一的校验器要求baseUrl非空,否则报 “Base URL is required” 并提示上报问题(local-audio/index.ts)。这进一步佐证该提供者当前实际只能依赖本地 HTTP 端点完成转写,而非内置的 WASM/WebGPU 推理通道。

此外,registry.test.ts 中有一条针对性测试:“不包含需要应用运行时适配器的提供者”,明确断言listProviders()的结果中不包含browser-local-audio-speech(同组的还有official-provider、apple-speech-transcription、kokoro-local等)。该测试的意图是:浏览器本地提供者依赖 stage-ui 应用层运行时(浏览器环境、WebGPU 探测),不属于可移植(portable)的运行时无关提供者集合。

当前可用的替代方案

文档给出了两条替代路径,分别面向不同场景:

Web Speech API:网页端最简单选项

Web Speech API 文档 是官方推荐的首选替代:它调用浏览器内建语音识别,无需 API Key,适用于想快速在网页端试通语音输入的场景。

其配置流程(目标读者为当前可用功能,可直接操作):

  1. 在网页版使用(Web Speech API 提供者在 Electron 桌面版中不可用);
  2. 在设置 → 提供者 → 转写 → Web Speech API中打开配置页;
  3. 选择Recognition Language,并按需开启Continuous Recognition与Show Interim Results;
  4. 在设置 → 模块 → 听觉中选择 Web Speech API 与音频输入设备;
  5. 允许浏览器麦克风权限,进行短语音输入验证,转写结果显示即成功。

排查要点:无转写结果时依次检查浏览器麦克风权限、所选输入设备、识别语言;浏览器不支持该 API 时改用本地或云端转写提供者。

源码侧,browser-web-speech-api/index.ts 实现了providerBrowserWebSpeechApi:isWebSpeechApiAvailable()通过检测webkitSpeechRecognition或SpeechRecognition判断浏览器支持(index.ts),配置 Schema 提供language(默认en-US)、continuous(默认true)、interimResults(默认true)、maxAlternatives(默认1)四个可选项,能力上支持streamOutput与streamInput流式转写,且requiresCredentials: false——与文档“无需 API Key”一致。

云端转写提供者

在 transcription 目录 下,仓库同时维护了多个可直接使用的云端转写提供者文档:阿里云(aliyun)、Comet API、Mimo、OpenAI、官方提供者(official)等。若对隐私性要求不高、追求识别质量与稳定性,优先从这些受支持的云端方案中选择;若偏好完全本地化处理,可关注同一目录下的 desktop-local.md(App (Local),同样是 WIP 不可用状态)以及源码中已就绪的 sherpaw-transcription(本地语音识别,按需加载模型、无需 API Key,已在 i18n 中标注 “Local speech recognition with bundled or on-demand models. No API key is required.”)。

总结:现状边界与使用建议

维度当前状态(以仓库为准)
设置页仅渲染<WIP />占位组件(browser-local-audio-transcription.vue)
提供者注册已注册,但isAvailableBy: () => false强制隐藏(local-audio/index.ts)
可配置性不可选择、不可配置、不可启用
文档定位仅用于明确“当前不可用”,避免误配
未来启用条件(推断)网页端 + WebGPU 支持或设备内存 ≥ 8 GB;恢复isBrowserAndMemoryEnough
当前推荐网页端用 Web Speech API,或选择云端转写提供者

给开发者的实操建议:如果在网页版设置页中找不到 “Browser (Local)” 卡片,这不是配置遗漏,而是源码层面主动隐藏的结果,请勿尝试强行启用;当前语音转写请优先走 Web Speech API(免费、零配置、浏览器原生)或云端转写提供者。若你在跟进该功能进展,可以关注browser-local-audio-transcription.vue中<WIP />被替换为真实表单的提交——那时才意味着该提供者真正可用了。

  • AI 应用
  • 人工智能
  • 大模型
  • 数字人
  • AI Agent
  • 语音
  • 前端
  • 后端

【免费下载链接】airi

💖🧸 Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.

项目地址:https://gitcode.com/GitHub_Trending/ai/airi
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询