关于 Voicely
Voicely 是面向 macOS 的开源离线听写与语音转录应用,可处理通话和音视频文件,并将转录内容交给 AI Agent。它在设备本地运行语音模型,并附带可供 Agent 调用的 MCP 服务。
主要功能
- 01快捷键听写并插入文本
- 02录制通话并区分说话者
- 03转录音频和视频文件
- 04设备本地语音识别与处理
- 05以纯文本文件保存转录
适用场景
- 01在编辑器或终端中口述文本
- 02整理通话内容并查看说话者轮次
- 03将音视频文件转成可检索文本
- 04让 Agent 读取通话或听写记录
MCP 相关
本地 stdio MCP 服务提供文件转录、转录列表、读取指定转录和读取最近通话等工具。voicely connect 可为受支持的 Agent 环境注册该服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Voicely
面向 macOS 的免费、开源、离线听写与转录工具——内置本地 MCP 服务,让 Claude Code、Codex 和 Cursor 拥有「耳朵」。

- 随处听写。 按下
Option+Space,开始说话,再按一次——文字就会出现在光标所在位置,包括终端和 VS Code。 - 通话与文件。 录制通话(系统音频 + 麦克风,无需虚拟音频设备)并获取区分说话者的转录文本;将任意音频或视频文件转换为文本。
- 原生支持 Agent。
voicely connect会注册本地 MCP 服务,让 Agent 能转录文件,并读取通话和听写内容。 - 仅在设备端运行。 通过 CoreML 使用 NVIDIA Parakeet V3,支持 25 种语言。无需账户、云端服务或订阅。MIT 许可证。
curl -fsSL https://voicely.art/install.sh | sh
# or
brew install --cask stulkovld/voicely/voicely
适用于 Apple Silicon 上的 macOS 14 及更新版本。类似 Superwhisper、MacWhisper 或 Wispr Flow——但免费、采用 MIT 许可证、100% 在设备端运行,并且专为将文字交给 AI Agent 而打造。
永久免费
提供这类功能的工具通常需要按月订阅或一次性付费。Voicely 永久免费:采用 MIT 许可证,所有代码都在此仓库中。它由一个人在一间屋子里开发,而这个人每天都在使用它。如果它为你节省了时间,点个 ⭐ 就能帮助更多人发现它。
安装
只需一条命令。无需下载 DMG,也不用将任何内容拖进 Applications:
curl -fsSL https://voicely.art/install.sh | sh
也可以通过 Homebrew tap 安装:brew install --cask stulkovld/voicely/voicely。
脚本会下载当前版本,在私有暂存目录中验证其 SHA-256 和签名证书,然后以事务方式安装——新版本通过所有检查前,旧版本会保留为备份;任何步骤失败都会干净地回滚——最后启动应用。再次运行脚本会原地更新,并保留你的转录文本、模型和设置。
公开构建使用 Voicely 自有证书签名,而非 Apple Developer ID,且未经 Apple 公证。每个版本使用相同的证书,因此 macOS 会在更新时保留你的麦克风和辅助功能权限。如果旧版本留下了权限条目,安装程序会将其清除,Voicely 随后会自动再次请求权限。
首次启动
- 在菜单栏中找到 Voicely 图标。
- 授予麦克风权限,然后在打开的辅助功能列表中启用 Voicely。Voicely 会等待两项权限,并在权限齐备后自动继续。
- 确认下载语音模型(Parakeet V3,约 470 MB)。首次准备约需一分钟,之后启动会很快。
- 仅在首次使用录制通话时请求屏幕录制权限。
要求:Apple Silicon 上的 macOS 14 或更新版本。
传递,而非改写
Voicely 会将你说的话送到你的工作位置。它绝不会改写、总结或「润色」你的意思——每份转录文本都会保留逐字记录。
直接输入 — 听写,Option+Space
按下快捷键,说话,再按一次。说话时,浮动的玻璃质感药丸会显示实时波形。文本会出现在光标所在的位置:原生 Mac 字段通过辅助功能写入,并通过读取光标位置进行校验;Chrome、VS Code、Claude 及所有其他 Chromium 或 Electron 应用通过剪贴板和 ⌘V 写入——应用读取文本后会立即恢复你的剪贴板,并为转录文本添加标记,避免剪贴板管理器保留它;终端则通过键入文本写入。如果没有应用接收文本,文本会留在剪贴板中,药丸会显示“按下 ⌘V”。输出菜单可以将听写内容永久固定到剪贴板;安全字段始终仅保存。听写内容保存在 ~/Documents/Voicely/dictations/;每条内容的去向和写入方式会记录在 ~/Library/Logs/Voicely/insertion.jsonl 中,不包含文本内容。
谨慎封装 — 通话和文件
通话(菜单栏 → 录制通话)。Voicely 会录制系统音频(通过 ScreenCaptureKit,无需虚拟音频设备)和你的麦克风音频,将它们混合为一条音轨,对混音进行转录并统一进行说话人分离。回声不会让句子重复,同一个麦克风收录的多个人声也会被分离为不同声音。通过将分离出的声音与麦克风自身的活动进行匹配,来识别“你”。转录内容按说话人轮次呈现,并以 Markdown、逐词 JSONL 和 WAV 格式保存在 ~/Documents/Voicely/calls/<id>/ 中。
文件。 任何音频或视频文件都可以转为转录文本,并可选择进行说话人分离:在终端中运行 voicely transcribe <file>,或让 Agent 使用 transcribe_file 工具。结果保存在 ~/Documents/Voicely/files/ 中。
无论哪种方式,结果都是一键即可获取的文本。你可以自行交给 Agent——粘贴到 Claude Code 中,或将其保存为笔记——也可以让 Agent 通过下文的 MCP 读取。
让你的 AI 了解你所了解的内容
voicely CLI 和本地 MCP 服务让每项功能都可供 Agent 原生使用。安装应用后,将 CLI 添加到 PATH,并向你使用的 Agent 注册服务:
/Applications/Voicely.app/Contents/Helpers/voicely setup # symlinks `voicely` into /usr/local/bin or ~/.local/bin, no sudo
voicely connect # registers the MCP server with every installed harness
voicely connect claude # or one by name: claude, codex, cursor, hermes, openclaw
Claude Desktop 和其他支持 MCPB 的客户端可以通过最新版本中的 voicely-<version>.mcpb 一键安装服务。Voicely 已作为 io.github.StulkovLD/voicely 收录在官方 MCP Registry 中。
通过以下技能,让 Agent 掌握完整的操作指南:
mkdir -p ~/.claude/skills/voicely && \
curl -fsSL https://voicely.art/skill/SKILL.md -o ~/.claude/skills/voicely/SKILL.md
voicely mcp 使用标准 stdio MCP(JSON-RPC 2.0,完全离线),并提供四种工具:
| 工具 | 功能 |
|---|---|
transcribe_file | 转写音频/视频文件(可选说话人分离) |
list_transcripts | 列出已保存的转写文本(口述内容/通话/文件),按时间从新到旧排序 |
get_transcript | 按 ID 或别名(last、last-call、……)读取转写文本 |
get_last_call | 读取最近一次通话的转写文本 |
voicely connect 使用各运行环境自带的 mcp add 命令,不会手动编辑自己不拥有的配置文件。之后重启 Agent 并向它提问:“转写 ~/Downloads/interview.m4a,并提取待办事项”、“看看我上次通话的内容,并拟一份项目计划”、“我刚才口述了什么?”。该技能涵盖从零开始的初始化、通过 yt-dlp 处理在线视频(YouTube / TikTok / Instagram),以及将词级时间戳与提取的画面配对来“观看”视频。所有数据都保留在本机。
手动配置——将 voicely mcp 注册为 stdio 服务。具体文件因运行环境而异;格式始终是 command: voicely、args: ["mcp"]:
| 运行环境 | 位置 | 方法 |
|---|---|---|
| Claude Code | 插件或 claude mcp add | claude mcp add voicely -- voicely mcp(或使用捆绑插件) |
| Codex | ~/.codex/config.toml | [mcp_servers.voicely]command = "voicely"args = ["mcp"] |
| Cursor | 用户设置 | cursor --add-mcp '{"name":"voicely","command":"voicely","args":["mcp"]}' |
| Hermes | ~/.hermes/config.yaml | hermes mcp add voicely --command voicely --args mcp |
| OpenClaw | openclaw.json | openclaw mcp set voicely --command voicely --args mcp |
| 其他 | 相应的 MCP 配置 | {"mcpServers":{"voicely":{"command":"voicely","args":["mcp"]}}} |
无需守护进程:服务会在首次调用 transcribe_file 时自行加载语音模型。
从源代码构建
适用于 Apple Silicon 上的 macOS 14+,并需安装 Xcode Command Line Tools(xcode-select --install):
git clone https://github.com/StulkovLD/Voicely.git
cd Voicely
swift build -c release --product Voicely
swift build -c release --product VoicelyCLI
.build/release/Voicely # the menu-bar app
.build/release/VoicelyCLI setup # exposes the `voicely` command
在 SPM 中,CLI 产品名是 VoicelyCLI,而不是
voicely:在不区分大小写的 APFS 上,名为voicely的产品会与应用二进制文件Voicely冲突。voicely命令由setup创建,且创建位置不会发生此类冲突。
语音模型
Parakeet TDT 0.6B v3(NVIDIA,CC-BY-4.0)通过 FluidAudio 的 CoreML 移植版在设备上运行:磁盘占用约 470 MB,支持 25 种欧洲语言,包括英语和俄语——可在句子中途切换语言——原生添加标点,在 Apple Silicon 上的速度约为实时的 30 倍。说话人分离使用 FluidAudio 的 pyannote community-1 分段模型和 WeSpeaker 嵌入模型,同样在设备上运行。模型会在首次使用时下载;无需 Hugging Face 账号或令牌。
转写文本
所有内容都是纯文件,存放在 ~/Documents/Voicely/ 下,方便你、你的 Agent 和其他工具读取。
口述内容(dictations/):
---
type: dictation
date: 2026-03-19T22:30:00+00:00
source_app: Telegram
---
Your transcribed text here.
通话(calls/<id>/transcript.md):每个说话人轮次对应一个文本块;你自己的麦克风始终标记为 You。词级时间信息保存在旁边的 transcript.jsonl 中;音频则保存为 mix.wav(转写所用音频)以及原始的 mic.wav 和 system.wav。
---
type: call
date: 2026-08-19T18:02:11+03:00
source_app: zoom.us
duration: 12:40
speakers: You + 2
---
[00:08] You
Hey, how's the project going?
[00:11] Speaker 1
Almost done, pushing to prod tonight.
[00:17] Speaker 2
I'll review the PR after lunch.
架构
Option+Space ──> MicRecorder ──> Parakeet V3 (CoreML, on-device) ──> CursorInjector
│ AX insert (native) → ⌘V, clipboard restored → typed text
v │
AudioOverlay v
(liquid glass pill) TranscriptStore
(~/Documents/Voicely/…)
Record Call ──> mic + ScreenCaptureKit ──> mixdown ──> Parakeet V3 ──> FluidAudio diarization ──> speaker-turn markdown
(one track) ("You" by mic activity) + word-level JSONL + WAV
技术栈: Swift 6 + AppKit + FluidAudio(Parakeet TDT v3 CoreML + 说话人分离)+ ScreenCaptureKit(系统音频)。所有处理都在本地进行,不会有任何数据离开你的设备。
登录时自动启动
系统设置 → 通用 → 登录项 → + → 添加 Voicely.app。
致谢
- NVIDIA 提供的 Parakeet TDT 0.6B v3(CC-BY-4.0)——语音模型。
- FluidAudio(Apache-2.0)——Parakeet 的 CoreML 移植版和端侧说话人分离流水线。
- 说话人分离模型——pyannote 分割模型和 WeSpeaker 嵌入模型(CC-BY-4.0)。
- WhisperKit(MIT)——本项目早期使用的端侧推理库。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。