ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

FluidVoice 使用与源码构建全指南:macOS 本地优先的语音转文字与端侧 AI 增强方案

FluidVoice 使用与源码构建全指南:macOS 本地优先的语音转文字与端侧 AI 增强方案 FluidVoice 使用与源码构建全指南macOS 本地优先的语音转文字与端侧 AI 增强方案【免费下载链接】FluidVoiceFastest and only macOS Dictation app with on-device STT and custom trained AI enhancement model. Windows pre-build available! A local Wispr Flow alternative. DM us on X exclusive model access! - https://x.com/fluidvoiceapp项目地址: https://gitcode.com/GitHub_Trending/fl/FluidVoice导读FluidVoice 是一个基于 GPLv3 开源的 macOS 语音转文字Dictation应用核心特色是「本地优先」local-first语音、音频与转写文本默认不离开你的 Mac并支持在设备端完成 AI 增强Fluid Intelligence。本文以仓库 README.md 为骨架结合源码逐层展开从 Homebrew 安装与权限配置、语音模型选型到本地 AI 增强、Command Mode / Write Mode、全局热键与打字注入再到从源码构建、运行集成测试、隐私与数据采集边界。读完本文你将能独立完成 FluidVoice 的安装、模型选型、增强配置以及从源码构建并运行测试的全流程。一、项目概览与核心定位FluidVoice 是面向 macOS 的开源语音转文字应用其定位在 README.md 中表述为本地优先Local-First声音、音频、转写文本默认不出本机除非你显式接入云端 AI 提供商端侧 AI 增强Fluid Intelligence 是一个独立维护的私有本地 AI 运行时负责智能格式化、上下文感知大写、后处理等增强能力多模型支持Nemotron Speech 3.5、Parakeet Flash、Parakeet TDT v3/v2、Cohere Transcribe、Apple Speech、Whisper 等。需要特别区分两个概念核心转写由本地语音模型完成全开源与Fluid Intelligence私有维护的本地 AI 增强层。README 明确说明 Fluid Intelligence 是「a separate, privately maintained local AI runtime」其源码不在此仓库内但应用本身在无 Fluid Intelligence 时配合任意受支持语音模型和可选的云端 AI 提供商也能正常工作。这与构建脚本build.sh中默认的public OSS build跳过私有 Fluid Intelligence与fi/private构建配置相互印证。二、安装与快速上手2.1 两种安装方式方式一Homebrew Cask推荐brew install --cask fluidvoice方式二手动下载最新 Release从 latest release 下载安装包。README 同时提示 iOS 与 Windows 版本正在规划中。2.2 快速启动五步走Quick Start按 README 的 Quick Start 顺序执行安装使用上述任一方式完成安装。授予权限应用会请求麦克风权限与辅助功能Accessibility权限两者分别用于语音采集与向其他应用打字缺一不可。设置全局热键在设置中选择一个全局热键用于在任何 App 中触发语音采集详见下文「全局热键」一节。完成引导Onboarding按语言与延迟需求选择语音模型从零下载的 Apple Speech 到高精度的 Nemotron 与 Whisper 均可选。可选启用 Fluid Intelligence在引导期间下载本地 AI 模型以获得端侧增强全程本地运行数据不出 Mac。2.3 可选的进阶配置接入自带 AI 提供商可添加 OpenAI、Groq 或自定义提供商custom provider的 API Key 用于云端增强。Key 会安全存储在 macOS Keychain 中授权时选择 Always allow。Beta 版本Settings → Automatic Updates → Beta Releases开启预发布通道。2.4 系统要求Requirements项目要求系统macOS 15.0 (Sequoia) 或更高芯片Apple Silicon支持全部模型Intel Mac 需使用 Whisper 模型1.5.1磁盘语音模型约需 ~1 GBFluid Intelligence 模型约需 ~3.5 GB可选权限麦克风打字需要辅助功能权限源码层面Package.swift 中声明了platforms: [.macOS(15.0)]与 README 的 Sequoia 要求一致。三、语音模型选型指南3.1 模型总览表模型最佳场景语言支持下载体积硬件Nemotron Speech 3.5 — Ultra Fast Low Latency流式多语言口述~40 种语言~670 MBApple SiliconNemotron 3.5 Multilingual更高精度多语言口述~40 种语言~530 MBApple SiliconParakeet Flash (Beta)最低延迟的英文实时口述英语~250 MBApple SiliconParakeet TDT v3快速默认多语言口述25 种语言见下~500 MBApple SiliconParakeet TDT v2最快的纯英文口述英语~500 MBApple SiliconCohere Transcribe高精度多语言口述14 种语言见下~1.4 GBApple SiliconApple Speech零下载的原生 macOS 语音系统语言内置Apple Silicon IntelWhisper Tiny/B/S/M/L广泛兼容含 Intel最高 99 种语言~75 MB ~ ~2.9 GBApple Silicon Intel3.2 各模型语言明细Parakeet TDT v325 种保加利亚语、克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、德语、希腊语、匈牙利语、意大利语、拉脱维亚语、立陶宛语、马耳他语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、瑞典语、乌克兰语。Parakeet TDT v2仅英语。Cohere Transcribe14 种英语、法语、德语、意大利语、西班牙语、葡萄牙语、希腊语、荷兰语、波兰语、普通话、日语、韩语、越南语、阿拉伯语。Apple Speech取决于本机 macOS 语音识别可用语言。Whisper视所选模型大小最高支持 99 种语言。3.3 源码印证Parakeet Flash 的端侧实现README 强调 1.6.0 起「Insanely fast Parakeet」——重构后的 Parakeet 实现几乎零延迟。从源码看ParakeetRealtimeProvider.swift 通过 FluidAudio 依赖Package.swift 中声明FluidAudio与transcribe-cpp-swift实现真正的流式 Parakeet EOUEnd-of-Utterance流水线其模型加载走 Hugging Face 下载loadModelsFromHuggingFaceCore ML 配置使用computeUnits .cpuAndNeuralEngine并开启allowLowPrecisionAccumulationOnGPU对模型缓存缺失、下载中断与重新加载有完整的状态机处理。可以推断所谓「接近零延迟」正是这种流式 EOU CPU/神经引擎协同计算的工程结果而非简单的批量转写。四、Fluid Intelligence端侧 AI 增强层4.1 它是什么Fluid Intelligence 是 FluidVoice 的私有、本地AI 增强运行时提供智能格式化smart formatting上下文感知大写context-aware capitalization后处理post-processing。全部在本地 Mac 上运行。README 明确说明其保持私有是「为了可持续地免费提供核心口述体验」未来可能改变。因此本仓库不含 Fluid Intelligence 的实现代码但提供了完整的接入机制与构建路由。4.2 构建层面的印证仓库根目录的 build.sh 是构建配置路由脚本其 profile 说明非常直观./build.sh # signed public OSS build默认跳过私有 FI ./build.sh public # 同上 ./build.sh unsigned # 无签名构建CI/回退 ./build.sh fi # 私有 FI build需要 build_with_FI_incremental.sh其中fi|private|dev|full分支要求存在build_with_FI_incremental.sh私有脚本缺失时直接报错退出。这从工程上证实了「核心 OSS 与私有增强层分离」的架构公开构建完全不触碰 Fluid Intelligence私有构建则通过独立脚本接入。4.3 与云端 AI 增强的关系README 给出的层级关系是核心转写任意受支持语音模型→可选云端 AI 提供商OpenAI/Groq/custom→可选本地 Fluid Intelligence。三者可叠加即使不启用 Fluid Intelligence只要配置了云端提供商仍可获得 AI 增强后处理。云端接入的请求构造可在 AIProvider.swift 中看到细节OpenAICompatibleProvider自动为 OpenAI 兼容端点补全/chat/completions若 URL 已含/api/chat、/api/generate则原样使用对本地端点localhost、127.x、10.x、192.168.x、172.16–172.31不附加 Authorization 头对o1/o3/gpt-5等推理模型不发 temperature对gpt-ossGroq 推理模型自动附加reasoning_effort: low。这些细节说明 FluidVoice 对「自定义提供商」的兼容性设计是有意为之可对接 LM Studio、Ollama 等本地推理服务。五、核心功能矩阵5.1 Command Mode用语音操作 Mac通过语音启动 App、运行快捷指令、触发系统动作、自动化工作流全程无需键盘。其核心实现是 CommandModeService.swift内部维护多轮对话默认最多 20 轮maxTurns 20、Agent 步骤状态机thinking / checking / executing / verifying / completed并通过 TerminalService.swift 执行终端命令支持实时流式输出到 Notch 覆盖层。5.2 Write Mode任意文本框改写在任何 App 的任意文本框内直接写或改写文本选中文本改写或直接口述新内容。结合「Smart Typing」特性通过 macOS 辅助功能 API 实现与应用无关的可靠文本插入。5.3 Live Preview 与 Notch 覆盖层实时转写覆盖层支持 MacBook 刘海Notch适配——DynamicNotchKit 依赖负责刘海区域交互无刘海机型则使用标准覆盖层。覆盖层尺寸可从胶囊pill到大窗自由配置。5.4 全局热键与按住模式「Global Hotkey」实现从任意位置触发语音采集。源码 GlobalHotkeyManager.swift 展示了其复杂度热键持有模式HotkeyHoldModeType覆盖 transcription、promptMode、commandMode、rewriteMode、promptAssignment 五种支持纯修饰键modifier-only快捷方式并通过可单测的纯函数ModifierOnlyShortcutFlagsDecision.evaluate驱动状态机事件来自全局事件监听event tap。按键模型定义在 HotkeyShortcut.swift对应测试见 HotkeyShortcutTests.swift。5.5 Smart Typing 的实现细节TypingService.swift 通过AXUIElementCreateSystemWide()查询系统聚焦元素再经AXUIElementGetPid拿到目标 App从而将文本注入任意应用。README 中「Accessibility permissions for typing」与 Quick Start 第 2 步的权限要求即源于此。5.6 其他功能速览Audio History本地录音历史带预算控制budget controls与 ZIP 导出Today-Usage Stats当日使用统计含 stats 头部卡片与工具栏胶囊Adaptive Theming跟随系统的明暗主题与紧凑的工具栏切换器Per-App Configuration可为不同 App 分配不同提示词集prompt setsAuto-Updates无缝更新支持 Beta 通道。关于自动更新AppDelegate.swift 中可以看到启动时延迟 3 秒执行更新检查此后每小时轮询Timer.scheduledTimer3600 秒并内置「稍后提醒 24 小时」snooze机制更新源为altic-dev/Fluid-oss仓库由 SimpleUpdater.swift 处理带 v 前缀 tag 与二段式版本号。六、从源码构建Building from Source6.1 标准流程git clone https://github.com/altic-dev/FluidVoice.git cd FluidVoice open Fluid.xcodeproj在 Xcode 中直接 Build Run所有依赖由 Swift Package Manager 管理Package.swift 依赖 AppUpdater、FluidAudio、PromiseKit、DynamicNotchKit、transcribe-cpp-swift并链接 sqlite3。6.2 签名 Debug 构建脚本./build.sh产物写入DerivedData/Build/Products/Debug/FluidVoice Debug.app。README 特别提醒每次重建后继续启动同一个产物以保留 macOS 对辅助功能授权的持久化否则每次重签名都可能要求重新授权。6.3 无签名回退CI / 无签名身份./build.sh unsigned无签名构建绑定到特定可执行版本重建后可能需要移除并重新授予辅助功能权限。CI 场景下这与「Run Integration Tests」一节的CODE_SIGNING_REQUIREDNO CODE_SIGNING_ALLOWEDNO是同一思路。6.4 开发环境配置FluidVoice → Signing Capabilities → Automatically manage signing → 选择 Team个人 Team 即可。多 Team 场景可显式指定 Team ID 而不改动工程文件FLUIDVOICE_DEVELOPMENT_TEAMYOUR_TEAM_ID ./build.shbuild.sh 中的resolve_development_team会优先读取该环境变量否则自动从security find-identity结果中解析第一个 Apple Development 身份找不到签名身份时脚本会打印明确指引并以非零码退出。可选pre-commit 钩子防止误提交 Team IDcp scripts/check-team-id.sh .git/hooks/pre-commit chmod x .git/hooks/pre-commit6.5 PR 提交流程要点一个 PR 只做一件事one feature or fix per PR保持变更聚焦原子先建 issue 再提交 PR便于审查前跟踪重大变更先讨论遵循 PR 模板提交前检查git diff严禁提交个人 Team ID 或 API Key。七、运行集成测试在仓库根目录执行xcodebuild test -project Fluid.xcodeproj -scheme Fluid -destination platformmacOSCI 使用无签名构建xcodebuild test -project Fluid.xcodeproj -scheme Fluid -destination platformmacOS CODE_SIGNING_REQUIREDNO CODE_SIGNING_ALLOWEDNO仓库测试位于 Tests/FluidDictationIntegrationTests覆盖了与本文主题直接相关的关键路径例如HotkeyShortcutTests.swift全局热键模型LLMClientRequestBodyTests.swiftAI 增强请求体构造SpokenSendTests.swift语音指令解析PrivateAIProviderPromptFormatTests.swift私有 AI 提示词格式DictationE2ETests.swift端到端口述链路测试资源 dictation_fixture.wav 提供固定音频样本。八、隐私与数据采集边界8.1 本地优先原则README 明确语音、音频、转写文本默认不出本机除非显式接入云端 AI 提供商。选择的文本、提示词、AI 响应、终端命令、窗口标题、文件路径、剪贴板、输入内容等均不在采集范围。8.2 采集了什么FluidVoice 每个本地日记录一条匿名活跃信号并在周结束后统一上传本周缓冲的信号每日活跃随机安装 ID、活跃日期、App 版本、macOS 平台标签。开启详细匿名分析后默认开启每日功能与模型使用统计、引导onboarding进度、模型下载开始事件及高层级结果。可在Settings → Share Detailed Anonymous Analytics随时关闭关闭后仅发送每周活跃批次。源码印证Analytics 模块AnalyticsService.swift 及 Analytics/ 目录通过DetailedAnalyticsConsentGate实现详细分析的同意门控recordAppActivity()明确注释「每本地日记录一次活跃用户事件」与 README 描述完全一致。数据库层由 AnalyticsDatabase.swift 实现对应测试 AnalyticsDatabaseTests.swift。8.3 许可证说明自 2026-02-23 起项目采用GPLv3LICENSE该日期之前发布的版本为 Apache License 2.0。README 同时请求使用者为仓库点星以提升可见度、支持 iOS/Windows 平台开发。九、社区与支持Discord 社区README 提供官方 Discord 邀请链接开发动态X 账号 fluidvoiceapp赞助GitHub Sponsors 支持持续开发与 iOS/Windows 平台工作。结语FluidVoice 的工程结构在 README 中即可窥见全貌本地优先的多模型转写、私有的端侧 AI 增强层、以及围绕「无障碍打字」与「全局热键」构建的 macOS 深度集成。通过 build.sh 的 profile 路由公开 OSS 构建与私有 Fluid Intelligence 构建被干净地隔离这让社区贡献者可以在不接触私有组件的情况下独立构建、测试与贡献。如果你正在寻找一个可审计、可扩展、尊重隐私的 macOS 语音输入方案从brew install --cask fluidvoice开始再按本文所述从源码构建并跑通集成测试是最快的上手路径。【免费下载链接】FluidVoiceFastest and only macOS Dictation app with on-device STT and custom trained AI enhancement model. Windows pre-build available! A local Wispr Flow alternative. DM us on X exclusive model access! - https://x.com/fluidvoiceapp项目地址: https://gitcode.com/GitHub_Trending/fl/FluidVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表