返回资讯中心
外部精选
软件工程
#开发者实时流

Local Flow 发布:基于 Whisper 的本地离线语音听写工具

来源标题:On-device and open source Whisper dictation

Local Flow 是一款开源的 macOS 语音听写工具,所有转写均在本地运行,用户数据不会被用于训练。它基于 whisper.cpp 构建,需要 macOS 14 或更高版本,可通过 Homebrew 和 Xcode 从源码编译安装。

Hacker News 最新jzone32026/11/3 · 2 天前9 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

你说得比打字快。Local Flow 让所有语音听写保持私密。没有人会用你的数据训练模型,所有转录都在本地运行。 从 Releases 下载最新的 Local-Flow.dmg,将 Local Flow 拖到 Applications 并打开。按提示授予麦克风和辅助功能权限(辅助功能权限让它能在其他应用中识别热键并粘贴文本)。 需要 macOS 14 或更高版本。Liquid Glass 需要 macOS 26;旧系统会显示磨砂玻璃栏。 brew install xcodegen scripts/fetch-whisper.sh # 将固定版本的 whisper.cpp xcframework 下载到 Vendor/(已校验和) xcodegen generate xcodebuild -project LocalFlow.xcodeproj -scheme LocalFlow -configuration Debug -derivedDataPath build CODE_SIGNING_ALLOWED=NO build open "build/Build/Products/Debug/Local Flow.app" 纯 Swift 核心(清理规则、词典拼写修正、环境变量键扫描、版本比较)的测试通过 scripts/test-core.sh 运行。 LocalFlow/ App.swift 菜单栏应用、窗口 Core/ TextCleanup、CleanupProfile、Vocabulary(+Packs)、EnvironmentKeys、Hotkey、MixtureOfExperts、AudioChunker、Version——不依赖 AppKit,由 Tests/ 覆盖 Capture/ HotkeyMonitor、AudioRecorder(16 kHz 单声道)、AudioInputDevice、TextInserter(粘贴)、DictationController Transcription/ TranscriptionProvider 协议、LocalWhisper(+ 模型下载器)、CloudProviders、TranscriptionService Model/ AppSettings、Keychain、HistoryStore(退出时清空,12 小时清除)、UpdateChecker、Welcome UI/ DictationBar(Liquid Glass)、Settings、Onboarding、History、PackPicker、Glass(样式)、Icon 添加一个 provider 在 LocalFlow/Transcription/CloudProviders.swift 的 CloudProviderID 中添加一个 case,包含其模型、密钥 URL 和环境变量名。 编写一个 TranscriptionProvider,将 TranscriptionRequest(16 kHz 采样 + WAV + 词典)转换为文本。抛出 TranscriptionError.http/.network,以便重试和回退正常工作。 从 makeProvider(model:) 返回它。设置和引导流程会自动识别它。 本地引擎的工作方式相同:LocalWhisper 只是另一个 TranscriptionProvider。 本地模式:音频和文本永远不会离开 Mac。 云模式:只有音频片段和词典提示会发送到你选择的 provider,使用你的密钥(存储在 Keychain 中)。专家混合会将同一片段发送给你拥有密钥的每个服务,并将它们的转录文本(仅文本)发送给 OpenAI 进行合并。Local Flow 没有服务器,也不保留日志;各 provider 可能根据其自身条款保留你发送的内容。 清理和拼写修正都是确定性的,且在设备上运行。没有 LLM 清理环节。 历史记录(~/Library/Application Support/Local Flow/History)只有一个 history.json 加上每次听写一个 .wav,别无其他。整个文件夹在应用退出时以及启动时都会被清空(因此崩溃不会留下任何内容);删除会立即移除文件;运行期间,清除每分钟执行一次(录音在 5 分钟后清除,文本在 12 小时后清除),在唤醒时以及应用每次来到前台时也会执行,同时还会移除孤立的音频。该文件夹已从 Time Machine 中排除,因此备份永远不会保留副本。 转录文本通过剪贴板粘贴,0.6 秒后恢复;第三方剪贴板管理器仍可能记录它们,这与任何听写应用一样。 卸载 将 Local Flow 从 Applications 拖到废纸篓。但这会留下: 设置 → 关于 → 移除所有数据… 会完成上述三项并退出,因此只剩拖到废纸篓这一步。 与 New Media Writer 相同的流水线:release.yml 在每次推送到 master(或 v* 标签)时构建、签名、公证并发布 Local-Flow-<version>.dmg 以及一个稳定的 Local-Flow.dmg。推送 release-dry-run/** 分支可将 DMG 作为工作流产物获取,而无需发布。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →