ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

AIRI 浏览器本地语音识别(Browser Local ASR/STT)配置指南:零云端 API Key 的本地转写方案

2026/9/12 5:17:05 拓冰建站 浏览量
AIRI 浏览器本地语音识别(Browser Local ASR/STT)配置指南:零云端 API Key 的本地转写方案 AIRI 浏览器本地语音识别Browser Local ASR/STT配置指南零云端 API Key 的本地转写方案【免费下载链接】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-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi导读本文围绕 AIRI 网页版提供的Browser (Local)语音识别服务商完整讲解其启用前置条件WebGPU / 内存检测、配置步骤、验证方法与故障排查并结合仓库源码解析该服务商在卡片显示、模型加载与转写调用链上的底层实现。读完本文你将掌握在网页版中不向第三方服务商发送音频、仅靠浏览器本地模型完成语音转文字的完整实战方案并能自行判断设备是否满足运行条件。为什么选择浏览器本地语音识别AIRI 的 Browser (Local) 语音识别ASR/STT直接调用浏览器内的本地模型完成语音转写不需要任何云端 API Key也无需把音频上传到第三方服务商。如果你使用的是 AIRI 网页版并且希望最大限度保护语音数据的隐私这是最直接的选择。需要注意一个关键前提该服务商只在网页版中出现桌面端不会显示。从源码可以看到providerBrowserLocalAudioTranscription的可用性判断函数isBrowserAndMemoryEnough()第一行即排除了桌面端环境isStageTamagotchi()返回 true 时直接返回 false参见 本地音频服务商定义。第一步确认浏览器环境在 AIRI 网页版中Browser (Local) 服务商卡片并非无条件显示而是由运行时能力检测决定。满足以下任一条件卡片才会出现浏览器支持 WebGPU浏览器不支持 WebGPU 时设备物理内存至少为 8 GB。这一判断逻辑对应源码中的isBrowserAndMemoryEnough()local-audio/index.tsasync function isBrowserAndMemoryEnough() { if (isStageTamagotchi()) return false // 桌面端不提供该服务商 if (await isWebGPUSupported()) return true // WebGPU 可用直接通过 if (navigator in globalThis globalThis.navigator ! null deviceMemory in globalThis.navigator typeof globalThis.navigator.deviceMemory number) { // The browser model needs at least 8 GB of system memory without WebGPU. return globalThis.navigator.deviceMemory 8 } return false }其中的 WebGPU 检测并非简单布尔判断而是由 WebGPU 能力检测模块 统一封装该模块基于gpuu/webgpu的check()结果单例缓存检测结论并提供 fp16 支持度、估算 VRAM、适配器厂商/架构信息等诊断字段VRAM 估算按「用户覆盖值 adapter.limits.maxBufferSize * 4启发式 0」的优先级解析相关行为均有对应的单测覆盖见 detect.test.ts。设备兼容性警告本地模型运行会占用设备资源CPU/内存/GPU。若服务商卡片未出现或出现后识别无法启动请改用Web Speech API、云端 ASR或桌面端本地方案。其中 Web Speech API 同样是浏览器内的转写方案基于浏览器原生SpeechRecognition无需 API Key其可用性判断与配置在 browser-web-speech-api 服务商定义 中可以看到仅当window存在且包含webkitSpeechRecognition或SpeechRecognition时才可用。第二步在 AIRI 中配置配置入口为网页版设置界面打开设置 → 服务商 → 语音识别 → Browser (Local)等待模型准备完成本地模型首次加载需要下载并初始化然后选择要使用的模型前往设置 → 听觉中启用该服务商作为转写来源。服务商配置项说明从服务商定义看Browser (Local) 语音识别以及同族的语音合成服务商共用同一个配置 Schemalocal-audio/index.ts配置项类型默认值说明apiKeystring可选密码框输入本地方案通常无需填写留空即可baseUrlstring本地服务端点地址留空时使用默认端点baseUrl在创建 provider 前会被normalizeBaseUrl()规范化先trim()去除首尾空白再保证以/结尾最终通过createOpenAI()构造兼容 OpenAI 协议的服务端local-audio/index.ts。配置校验器会强制要求baseUrl非空若为空会提示Base URL is required——在正常 UI 流程中该值由系统自动填充出现该报错通常意味着内部缺陷。能力特征源码中声明了该服务商在转写任务上的能力矩阵local-audio/index.ts协议http生成输出generateOutput支持流式输出 / 流式输入均不支持streamOutput: false、streamInput: false即它属于一次性提交音频、返回完整转写结果的模式而非边说话边出字的连续流式转写。若你需要实时流式转写应优先考虑 Web Speech API其能力矩阵中streamOutput与streamInput均为 true见 browser-web-speech-api/index.ts。第三步验证配置完成配置后按以下步骤验证链路是否打通在网页版中允许浏览器访问麦克风浏览器会弹出权限请求须点允许说一段短语音若转写文字能够显示即表示配置成功。麦克风采集与转写触发走的是 AIRI 的听觉hearing模块。从 听觉状态模块 的调用链可以看到转写前音频会被编码为 PCM16toPCM16FromFloat32再交给所选服务商执行generateTranscription/ 流式转写浏览器端常见的Failed to fetch/Load failed错误会被统一重写为带排查提示的文案指引用户去浏览器控制台的 Network 面板查看 CORS、网络超时、DNS 等真实原因hearing.ts。排查指南现象排查方向服务商卡片未出现确认当前使用的是网页版而非桌面端确认浏览器支持 WebGPU或设备内存 ≥ 8 GB可访问chrome://gpu或about:gpu查看 WebGPU 状态卡片出现但识别无法启动检查浏览器麦克风权限是否被拒绝确认模型是否已加载完成转写请求报错打开浏览器开发者工具 Network 面板结合Failed to fetch提示定位 CORS、网络超时、DNS 等具体原因需要实时流式转写该服务商不支持流式输入/输出请改用 Web Speech API 或云端 ASR 方案小结AIRI 的 Browser (Local) 语音识别为网页版用户提供了一条无 API Key、音频不出设备的转写路径WebGPU 或 8 GB 以上内存是卡片显示的门槛模型加载完成后即可在「设置 → 听觉」中启用。其底层实现由服务商注册表registry.ts驱动能力检测与配置校验WebGPU 检测结论在 stage-shared/webgpu 中集中缓存复用。需要连续流式转写或设备条件不足时Web Speech API 与云端 ASR 是文档推荐的替代方案。【免费下载链接】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-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考