关于 Parrot
Parrot 是一款 Mac 会议录制工具,提供转写、实时辅助和可搜索的通话记录,面向需要本机记录与跟进会议的人。它通过 MCP 连接 Claude 等支持的 AI 应用,并允许用户选择共享哪些会议数据。
主要功能
- 01在 Mac 上录制并转写通话
- 02根据个人文档建议回答
- 03搜索和查询过往会议
- 04生成带时间点引用的报告
- 05选择向 AI 应用共享的会议数据
适用场景
- 01回顾多场通话中的承诺和跟进事项
- 02在会议中获取基于文档的建议
- 03利用过往会议记录准备通话
- 04根据会议内容起草跟进邮件
MCP 相关
Parrot 可连接 Claude Desktop、Claude Code、Codex for ChatGPT plans 和 Cursor,让它们读取经选择的会议数据。会议数据访问为只读;建议的配置文件会交由用户审核。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🦜 Parrot
为 Mac 打造的会议录音工具,内置实时 AI 助手。它会录制并转录你设备上的每一通电话,在你还在交谈时就从你自己的文档中建议答案,并在你挂断电话前写好报告。
没有机器人会加入你的会议。它可以配合 Google Meet、Zoom、Teams 或任何 Mac 能听到的通话使用。转录内容、说话人检测结果和你的文档都会留在 Mac 上。助手的大脑由你选择:使用你自己的密钥连接 Claude、任意兼容 OpenAI 的服务,或通过 Ollama 使用本地模型,让整个过程免费且离线。
https://github.com/user-attachments/assets/76dc07c7-6667-497e-b39f-8218e077c88c
73 秒了解 Parrot。打开声音,或阅读字幕。
实时通话界面如 openparrot.app 所示。对方询问了数据驻留问题,答案直接来自你拖入的常见问题文档。
嗨!👋
事情是这样的。我叫 Uygar,正在尝试从头打造自己的会议录音工具。我受够了为 Otter.ai 这类服务付费,因为它们会把我的所有对话发送到我无法掌控的服务器上。我当时想:“在 Mac 上本地完成这件事能有多难?”结果……这可真是一段旅程。😄
我在 Claude 的帮助下开发这个项目(没错,就是那个 AI;我们一起熬过很多个深夜写代码),说实话,这是我做过最有趣的项目之一。它还不完美:我仍在追查一些 bug,有些权限问题也很烦人,还有一些功能我尚未摸索明白。不过核心功能已经能用了,现在我每次与客户通话都会用它。
**这是一个个人项目,我也在边做边学。**如果有厉害的编码高手偶然发现这个项目,并愿意帮忙改进,我会由衷地感激。修复 bug、改进说话人检测,或者只是告诉我哪里做错了:任何帮助都很有用。欢迎提交 PR、创建 issue,或直接打个招呼。🙌
如果你觉得它有用,或者只是觉得这个创意很酷,请点个星标。这会让我开心一整天。
目录
功能介绍 · 隐私:哪些内容会离开你的 Mac · 快速上手 · 键盘快捷键 · 技术栈 · 从源代码构建 · 想要帮忙? · 已知问题(正在处理) · 类似项目
功能介绍
🎯 实时助手:通话期间提供帮助
始终在线的助手会关注对话,并在屏幕上显示合适的内容。整个通话过程中,无需按任何按钮。
- 对方一提问,就会给出建议回答,内容基于你的文档;卡片上会标明文件名,并提供“复制”按钮。
- 用于处理异议和未解决问题的置顶卡片。在你处理之前,它们会一直显示在屏幕上;处理完后会自动解决。
- 及时记录你承诺的后续事项(“由你承诺”)。
- 实时通话评分(0 到 100)、一句教练建议、情绪判断,以及“购买意向”或“你正在发言”等指标。你的发言占比超过 70% 时会变为橙色。
- 通话偏离主题时提供提醒。 提示会显示在通话所用的应用上方,持续约十秒:“自从你说了‘价格会在 1 月上涨’后,对方就没怎么说话了。” 它会发现长时间沉默、长篇独白、打断对方、回答过短、语速加快和重复自己等情况;开启助手后,还会发现情绪变化、未回答的问题,以及没有商定后续事项就结束通话的情况。每两分钟最多提醒一次,并且不会出现在屏幕共享中。它只读取时间和话语内容,绝不会从任何人的声音中判断情绪。设置 > 助手 > 实时提醒。
- 通话前先提供简报。 在仪表板上写一两句话(“续约通话,法务想知道数据存储在哪里”),它从第一秒起就知道你在和谁交谈。通话中可通过已提供简报卡片编辑简报。
- 由你控制用量。 可选择节奏(免费套餐可选“快速”“平衡”或“轻松”)、每次请求包含的对话时长(2、5 或 10 分钟),还可以在通话屏幕和菜单栏中切换助手:关闭后不会发送任何内容,也不会消耗用量,但录音和转录会继续。
- 约半秒内给出来自文档的答案(可选的 Claude 模式):添加 TypeSafe AI 密钥后,相应的摘录会在 Claude 仍在生成回答时,以来自你的文档卡片显示。
📚 知识库:像培训新队友一样向它介绍信息

- 添加 PDF、文本或 Markdown 文件:价格表、常见问题、操作手册。系统会使用 Apple 的 NaturalLanguage framework 在你的 Mac 上对其分块并生成嵌入向量,此外还会建立精确词匹配(BM25)索引。内容不会上传;只有与问题匹配的少数段落会发送给你为助手选择的 AI。
- 将文档整理到文件夹中,并为每个文件夹设置一次用于选项:所有通话类型、指定的几种,或关闭以暂停使用。每份文档也可以单独设置;助手无法使用的内容会明确说明,此外还有一行简介,告诉你(和助手)其中包含什么。
- 为每种通话设置辅导说明(“回答要简短,并始终提供三个价格选项”)。
- 选择当文档未涵盖相关内容时,是否允许它使用通用知识回答。每张卡片都会说明答案来源。
🔎 Ask Parrot:记住每一次通话
与所有通话内容对话(⌘K):“我答应 Acme 什么了?”,然后接着问:“我们又向他们提供了什么?”。聊天记录会保存,后续提问也能继续,每条回答中的事实都是可点击的卡片,可跳转到通话中对应的时间点。像*“我上周开了多少次会?”*这样的数量问题,会在你的 Mac 上精确计算。Ask Parrot 有自己的 AI 选项:搜索始终在你的 Mac 上运行;使用 Ollama 时,答案也会在本机生成。它支持英语和土耳其语,目前处于测试阶段。当通话对象是你以前见过的人时,实时助手的简报会显示上次通话中尚未处理的事项。
🤝 在 Claude 中使用你的会议内容
免费、无需会议机器人、没有 30 天期限;除非你提出要求,否则会议内容始终保留在你的 Mac 上。只需单击一次即可连接 Claude Desktop(也可以连接 Claude Code、ChatGPT 方案中的 Codex 或 Cursor),由你自己的方案负责思考:“我上周答应了什么?”、“为我和 Acme 的通话做个简报”、“为今天早上的通话起草后续邮件”、“针对我最近 10 次通话给我指导”。Claude 可以获取真实的发言人姓名、分页面显示的长篇转录文本、标注负责人的承诺、发言时长,以及 + 菜单中的四个现成操作(每周摘要、后续邮件、通话准备、根据通话内容撰写 PRD)。它无法更改你的会议内容:你可以选择它能查看的内容(转录文本、报告、笔记、助手卡片、整个通话类型);仅限设备本地处理的会议绝不会显示;Parrot 会告知内容被读取的频率。它唯一可以发回的是建议的个人资料,且须先由你审核。打开侧边栏中的 Claude & AI Apps。了解运作方式。
🎭 通话配置:一款应用,适用于各种通话

告诉 Parrot 通话的类型,配置就会决定助手要留意什么,以及报告如何撰写。
- **八种内置配置:**Default、Sales discovery、1:1 coaching、Interview、Customer support、Vendor call、Investor pitch、Generic。Sales 会留意异议和购买信号;Interview 会关注后续跟进和警示信号;1:1 则会提供反思和未解决的问题。
- 专属报告:每种配置都会为对应通话生成专属报告。可用你自己的措辞设置章节,以项目符号或段落呈现;使用评分卡,按 1 到 5 分评估各项标准,并附上佐证时刻;指定承诺归属的章节;以及选择是否提供指导。销售报告会询问预算、决策人和时间安排;面试报告则会包含评分卡。
- **创建自己的配置:**为其命名,说明对方是谁,编写角色设定和规则,选择要使用的文档,添加自定义卡片类型(设置颜色、图标和“处理前始终显示在屏幕上”选项)及量表。
- **分享配置:**导出
.parrotprofile文件分享给同事,或导入他们的配置。Parrot 会在应用更改前逐项显示;文件可以将“仅限设备本地处理”设为开启,但绝不会关闭。每种配置都会保留最近五个版本,只需单击一次即可恢复。 - **让 Claude 优化配置:**Claude 可以读取你最近的通话内容,并建议更好的配置。建议会交由 Parrot 供你审核:应用、另存为新配置或舍弃。
🗣️ 发言者姓名:使用真实姓名,而不是“发言者 2”

- 我方和对方精确区分,实时呈现:你的麦克风音频和通话音频是分开的音轨。
- 通话结束后,在设备上检测发言者(FluidAudio,一个 13 MB 的模型),区分对方的声音。
- 只需根据几段短音频为声音命名一次,后续每句话都会显示对应姓名。你可以从邀请中的所有人、过往通话中出现过的姓名中选择,也可以输入新姓名。报告和辅导内容会使用真实姓名。实际听到的人比参会人数少?右键点击一行,选择 此行为 → 新建发言者…。
- 记住声音(需主动启用):下次通话时,Parrot 会询问“听起来像 Jeremy 吗?”。点击一次即可确认。如果有日历邀请,只会推荐邀请中的人员。声纹保留在 Mac 上;你可以随时删除。
- 实时发言者标签(实验性功能,默认关闭):通话期间为对方命名。几秒内,“对方”就会变成“发言者 1”“发言者 2”;你可以在通话中为声音命名,通话结束后的处理会保留相同标签。它只会重新检查最后一分钟的音频,因此长通话不会比短通话消耗更多资源。
- 如果有一行标错了?右键点击该行,只重新指定这一行。
- 同一个人被拆成了两个人? 在 本次通话 下选择另一个声音的姓名,他们就会在所有地方合并为同一个人,包括较早的会议。两位同名参会者仍会被视为两个人。
📝 报告自动生成,还能指导你

- 通话进行得如何: 报告顶部的时间线会逐分钟显示你和对方的发言占比、个人资料的主要指标在通话中的变化,以及带编号的时刻(提示、转折点、你标记的时刻)。最初显示前五个;点击 Show all 可展开其余时刻;播放某个时刻时,Play 会变成 Stop。
- 摘要: 根据通话的个人资料生成;默认包含概览、痛点、要点和后续步骤。
- 重写报告: 是否用错了个人资料记录通话,或后来更改了个人资料?可使用任意个人资料重写任何过往报告,也可以一键撤销。
- 每个要点都有依据。 每条项目符号都附带时间标记(
12:34):点击即可查看原话、选择 Play from Here 或 Show in Transcript。时间标记会与 Mac 上的转录文本核对;如果有人其实并未作出承诺,该内容会标为 unverified,而不会作为事实陈述。 - 你标记的时刻 会在通话期间(点击 Mark 按钮,或在任意应用中按 ⌃⌥M)获得专属卡片,报告也会据此生成,体现这些时刻的重要性。
- 分享: 可将报告导出为 PDF,与团队分享(不含转录文本、笔记或费用);生成仅包含实际承诺内容的跟进邮件(在 Mail 中打开,并填写受邀者地址);将后续步骤添加到 Apple Reminders;将 Markdown 笔记保存到 Obsidian 知识库或任意文件夹(可设为自动保存);也可通过 webhook 发送到 Zapier/Make/n8n,以用于 Slack、Notion 和 CRM。
- 辅导: 发言占比、做得好的地方、待改进之处、标为 Handled 或 Missed 的异议和问题,以及双方作出的承诺。
- 没有报告? 使用 Assistant 关闭时录制的通话,可按需生成报告:打开会议的 Report 标签页,点击 Write report。
- 每通电话的 AI 费用 精确到美分:包含模型、令牌数、调用次数和转录分钟数,并提供逐项明细。本地功能会自豪地显示 $0.00。
- 播放与转录文本同步(0.5x 至 2x):点击一行,即可听到对应时刻。
- 自动命名。 通话结束后,Parrot 会为会议命名,并在顶部写上一两句话,介绍通话对象和内容。趁记忆犹新时,使用 Call saved 框设置标题和备注。
- 你在通话期间或之后输入的笔记会与会议一起保存,开头几行会显示在顶部。
🧠 由你选择大脑

| 助手和报告 | 说明 | 你的 Mac 上有什么数据会离开 |
|---|---|---|
Claude (claude-haiku-4-5) | 能力最强。使用你自己的密钥。每通话小时约 $0.07。 | 文字记录会发送给 Anthropic,绝不发送音频。 |
| Ollama(本地) | llama3.2:3b、gemma3:4b 或任何你喜欢的模型。Parrot 可以为你安装 Ollama 并拉取模型。免费。 | 什么都不会。关闭 Wi-Fi 也能使用。 |
| 其他 AI 服务 | 任何兼容 OpenAI 的服务:OpenRouter、OpenAI、Gemini、Groq、LM Studio。 | 文字记录会发送到你选择的服务端。 |
实时卡片和通话后报告可以使用不同的大脑(例如,实时卡片用 Ollama,报告用 Claude)。
| 转录 | 选择理由 | ~每通话小时费用(双方) |
|---|---|---|
| 设备端 Whisper(默认) | 私密、离线、免费。提供五种模型,从 Tiny(40 MB)到 Large V3 Turbo(1.6 GB)。 | 免费 |
| 设备端 Parakeet v3 | 私密、离线、免费,而且速度最快。仅支持 25 种欧洲语言(不含土耳其语):通话中的其他语言会交由 Whisper 处理,且仅在需要时加载。 | 免费 |
Groq whisper-large-v3-turbo | 准确度媲美大模型,延迟与本地转录相同。 | ~$0.08 |
| Deepgram Nova-3 | 真正的流式转录,说出单词后约 300 毫秒就会显示。 | ~$0.70(固定使用一种语言时为 $0.58) |
如果云端引擎在通话过程中出现故障,会自动切换到设备端引擎。你可以选择启用润色处理:点击停止后,使用 Groq 的大模型重新转录已保存的音频,并根据更准确的文本重写报告。
🌍 也支持你的语言
Whisper 会自动检测通话语言,你也可以从 14 种语言中指定一种(英语、土耳其语、西班牙语、德语、法语、意大利语、葡萄牙语、荷兰语、俄语、阿拉伯语、印地语、中文、日语、韩语)。助手和报告会使用通话语言作答。文档支持大多数主流语言,包括土耳其语、荷兰语、波兰语、俄语、阿拉伯语、印地语、中文、日语和韩语;用英语提问也能在土耳其语或西班牙语文档中找到答案。除英语外,请选择 Large V3 Turbo 或 Groq。在开始录音正下方选择通话语言。如果通话听起来不像你所选的语言,系统会在最初几秒内显示横幅提醒,并提供一键切换;Parrot 还会每隔 30 秒继续检测,以应对通话语言发生变化的情况。使用 Deepgram 时,请按名称选择土耳其语、阿拉伯语、中文或韩语:它的自动检测支持 10 种语言,但不包含这些语言。自定义词汇表可帮助 Whisper 识别你的产品名称和人名。
🧰 还有各种日常实用功能
- 检测通话。 Zoom、Meet、Teams 或 FaceTime 开始使用麦克风时,Parrot 会询问 “要录音吗?”(也可以按你的选择自动录音),并在通话结束时提供停止录音的选项。它只能检测到麦克风正在使用,不会获取其他应用的音频。Wispr Flow 等听写应用不算通话。
- 了解你的日历(需选择启用,只读,仅限本地):会议会采用日历事件的名称和访客名单,访客会成为一键可选的说话人名称,像“面试:Jane”这样的事件标题会选择匹配的个人资料。只统计你自己的事件(不包括你尚未回复的邀请),你可以取消勾选不想读取的日历。
- 登录时打开,如果你愿意,这样当天第一次通话时它就已经就绪。
- 将系统音频和麦克风录制为两条音轨。 在 macOS 15+ 上,它使用仅限音频的“系统音频”权限(Core Audio taps);在 macOS 14 上使用 ScreenCaptureKit。无需虚拟音频驱动。
- 回声消除(SpeexDSP),避免扬声器播放的对方声音泄漏到你的麦克风中。播放时,只有对方说话的片段会调低你这边的音量,因此通过扬声器录制的通话听起来不会有重音;即使大部分时间都是你在说话,转录稿也会省去你这边仅仅回响对方声音的句子。若你说话时夹杂着回声,对方的话语会被删去,你自己的话则会保留;无论在设备本地还是使用 Deepgram,都是如此。如果 AirPods 在通话中断电或切换,麦克风会自动重新连接,回声消除也会立即恢复。
- 将我静音。 在 Zoom 或 Teams 中静音不会同步到 Parrot,因此 Parrot 提供了自己的静音功能:在通话界面点击 将我静音,或在任意应用中按 ⌃⌥⇧M,静音期间你这边会录为静音,直到取消静音。
- 记录完整句子,而非片段。 说话人停顿时,整句话才会显示为一行;说话期间则会显示实时灰色预览。静音不会被转录。
- 永不丢失会议记录。 如果 Parrot 在通话期间崩溃或被强制退出,下次启动时会恢复录音、转录稿和报告。通话期间按 ⌘Q 会先完成录音。
- 忘了停止录音? 如果连续 15 分钟没有人说话,Parrot 会询问 还在录音吗? 静音的房间不会被转成文字;如果你仍想删掉录音末尾的内容,右键点击一行并选择 删除此行之后的所有内容。音频会完整保留。
- 导入录音。 将音频文件(m4a、mp3、wav、aac、aiff、caf)拖到窗口中,即可像实时通话一样转录、按说话人拆分并生成摘要。
- 导出会议内容为 Markdown、TXT(将笔记、报告、助手卡片和转录稿整合在一个文件中)或 SRT 字幕;也可以将报告导出为 PDF,方便分享。
- 可搜索的历史记录。 搜索标题和转录稿;会议按日期分组,每场会议旁边都有发言时长比例条。
- 菜单栏里的鹦鹉。 随时开始和停止录音,一眼查看通话时长(以及是否已静音),切换个人资料,复制最近的报告;连接日历后,还可以一键加入下一场通话并开始录音。只想让它显示在那里?一个设置即可在窗口关闭时隐藏 Dock 图标。主页会展示会议、时长和字数概览。
- 自动保持最新:通过经过签名的 Sparkle 更新进行更新,并在退出应用时安装,绝不会在录音期间安装。有更新可用时会收到通知(等不及的话可选择 立即重新启动);更新完成后,主页会显示更新内容。
- 应用内提供真正的用户指南(“帮助” > “Parrot 帮助”,支持搜索且可离线查看),也可在网上查看。
- 两步提交错误报告。 点击角落里的瓢虫图标,它会自动填写繁琐的信息(版本、模型、设置),并生成预填好的 GitHub issue,供你检查后自行提交。
- 支持浅色和深色模式,采用原生 SwiftUI,不使用 Electron。
隐私:哪些内容会离开你的 Mac
这是一个使用麦克风和系统音频的应用,所以你不必只听我说。以下是所有可能离开设备的内容,以及发生的时机:
| 功能 | 发送内容 | 发送至 | 发送时机 |
|---|---|---|---|
| 录音、设备端转录、说话人检测、声纹、文档索引 | 无 | 无 | 始终在本地 |
| 模型下载 | 下载请求 | Hugging Face(Whisper、Parakeet、语音检测和说话人检测模型);Apple(用于阿拉伯语、印度语系和部分西里尔文文档的语言模型) | 首次使用时下载一次 |
| 检查更新 | 应用版本 | GitHub Pages(Sparkle 源) | 每天一次;可以关闭自动安装 |
| 运行于 Claude 或自定义服务上的助手 | 转录文本、匹配的文档片段、配置文件指令 | Anthropic,或你选择的服务 | 仅当你启用助手时 |
| TypeSafe 文档问答 | 问题、几行上下文、候选文档片段 | TypeSafe AI | 仅在使用 TypeSafe 密钥和 Claude 模式时 |
| Groq 或 Deepgram 转录、润色处理 | 通话音频 | Groq 或 Deepgram | 仅当你选择该引擎时 |
| 日历 | 无(通过 macOS 的日历存储在本地读取) | 无 | 仅当你连接日历时 |
| 助手的日历邀请 | 活动标题、来宾姓名、备注(拨入详情已移除) | Anthropic,或你选择的服务 | 仅当你启用“根据邀请向助手提供简报”时 |
| 通话检测 | 无(询问 macOS 哪些应用正在使用麦克风) | 无 | 除非你将其关闭 |
| 询问 Parrot | 最匹配的少量摘录和聊天的近期消息(纯设备端会议绝不会发送) | 你为“询问 Parrot”选择的 AI(默认使用你的报告 AI) | 仅使用云端 AI 时;使用 Ollama 时不发送任何内容 |
| 后续邮件 | 会议转录文本 | 你的报告 AI | 仅当你起草邮件时 |
| 撰写报告 | 会议转录文本 | 你的报告 AI(纯设备端会议在你的 Mac 上处理) | 仅当你点击该功能时 |
| Webhook | 摘要、后续步骤、备注(如获准,也包括转录文本) | 你粘贴的地址 | 仅当你设置了地址时;纯设备端会议绝不会发送 |
| Claude 和其他 AI 应用(MCP) | 你提出请求时应用读取的内容,仅限你分享的部分 | 该应用所属公司(Claude 的所属公司为 Anthropic,使用你的账户) | 仅当你启用该功能时;纯设备端会议、音频和密钥绝不会发送 |
| 运行于 Ollama 上的助手 | 无 | 你自己的 Mac | 始终在本地 |
- 仅限设备端处理,一个开关(也可按配置文件分别设置,例如用于治疗或法律通话):仅使用 Whisper 和 Ollama,之后会议内容不会进入任何云端处理流程。可选的脱敏功能会对云端 AI 隐藏电子邮件地址、电话号码、银行卡号和银行账号(也可以隐藏姓名),并在答案中还原这些内容。同意按钮会记录告知他人的方式;自动清理功能会删除旧音频或会议。每场会议都会明确显示哪些内容离开了这台 Mac。
- 无需账户、没有遥测、没有分析。 Parrot 没有用于连接回传的服务端。
- 密钥保存在 macOS 钥匙串中,绝不会存入文件或日志。
- **已签名并经过公证。**发行版已通过 Developer ID 签名和 Apple 公证;更新使用 EdDSA 签名。
- **小巧且可审计。**约有 1.7 万行 Swift 代码,包含三个依赖项(WhisperKit、FluidAudio、Sparkle),以及随附的 SpeexDSP 回声消除器。FILEMAP.md 列出了每个源文件,花一个下午阅读就能了解全部代码。
- **如实说明开发流程。**代码在人工指导下大量借助 AI(Claude Code)编写,每项更改在合并前都会通过包含 300 多项检查的逻辑测试套件和视觉快照检查。
发现任何与上述内容相矛盾的情况?这是安全问题,请参阅 SECURITY.md。
入门指南
📖 Parrot 帮助 介绍了每项功能。应用内也提供相同的页面,路径为 帮助 > Parrot 帮助。
-
下载已公证的
.dmg文件,前往 Releases 页面(或点击 openparrot.app 上的按钮),然后将 Parrot 拖到“应用程序”中。需要在 Apple Silicon 上运行 macOS 14(Sonoma)或更高版本。 -
**允许两项权限。**欢迎导览会显示每项权限的实时状态,并提供直达相应“设置”面板的链接:
- 系统音频录制,用于录制通话对方的声音。在 macOS 15 及更高版本中,这是一项仅限音频的权限。在 macOS 14 中,则需要“屏幕录制”权限(这是旧版 macOS 提供系统音频的方式;Parrot 始终只采集音频),重新打开 Parrot 后权限才会生效。
- 麦克风,用于录制你这边的声音。
-
**选择助手的工作方式。**导览会介绍助手的功能,然后让你选择:
- 私密:所有操作都在你的 Mac 上完成。Parrot 会为你安装 Ollama 并下载模型。免费。
- 均衡(推荐):音频留在你的 Mac 上,只有文本会发送给 Claude。粘贴从 console.anthropic.com 获取的密钥,然后按 检查密钥。
- 云端:Deepgram 实时转写语音,Claude 运行助手。保存密钥前会先检查两者。
- 或者选择 稍后决定:点击“主页”上的卡片,或前往 设置 > 助手 > 设置助手,即可继续设置。
-
**语音转文本。**Parrot 会根据你的 Mac 内存和所用语言选择合适的模型,并立即开始下载。关闭导览后,下载仍会继续:
模型 大小 适用场景 Tiny 40 MB 速度最快 Base 140 MB 适用于内存低于 12 GB 的 Mac Small 460 MB 准确度更高 Large V3 Turbo Compressed 626 MB 接近最佳效果,占用内存低 Large V3 Turbo 1.6 GB 准确度最高,也最适合非英语通话。内存为 12 GB 及以上时会自动选择 Parakeet v3 0.5 GB 速度最快,支持 25 种欧洲语言(不含土耳其语)。当你使用的语言均在支持范围内时会自动选择 -
在 Claude 中使用你的会议内容(可选)。导览的最后一步可一键连接 Claude Desktop;Cursor、Codex 和 Claude Code 可通过侧边栏中的 Claude 和 AI 应用进行连接。这是 Parrot 中唯一不具备与其他功能相同隐私保护的部分:应用读取的内容会发送到其所属公司,并关联到你的账户。如果你选择了“私密”,导览中不会显示此步骤。
-
下次通话时,开始录制。
-
(可选)在 设置 > 知识中添加你的知识,并在 设置 > 配置文件中选择或创建配置文件。
想再次查看导览?前往 帮助 > 显示欢迎导览。
键盘快捷键
| 快捷键 | 功能 |
|---|---|
| ⌘R | 开始录制 |
| ⌘. | 停止录制 |
| ⌘O | 导入音频文件 |
| ⌘E | 导出转录文本(TXT) |
| ⌘F | 搜索会议 |
| ⌘K | 询问 Parrot |
| ⌃⌥M | 标记一个时刻(录制期间可在任何应用中使用) |
| ⌃⌥⇧M | 静音或取消静音你这边的声音(录制期间可在任何应用中使用) |
| ⌘, | 设置 |
技术栈
| 内容 | 方案 |
|---|---|
| UI | SwiftUI、原生 macOS、Inter |
| 语音转文字(默认) | WhisperKit,在设备上通过神经网络引擎运行 · Parakeet v3 via FluidAudio,在设备上运行 |
| 语音转文字(可选,使用自己的密钥) | Groq whisper-large-v3-turbo(HTTP 分块) · Deepgram Nova-3(websocket 流式传输) |
| 语音检测 | 通过 FluidAudio 使用 Silero VAD(MIT),在设备上运行:只有包含语音的片段才会发送给 Whisper,因此安静的房间会保持空白 |
| 说话人检测 | FluidAudio(Apache-2.0),在设备上运行的、源自 pyannote 的模型(CC-BY-4.0) |
| 助手和报告 | Claude API(Haiku 4.5,结构化输出) · Ollama · 任何兼容 OpenAI 的服务 |
| 即时文档答疑(可选) | TypeSafe AI jev-latest |
| 知识库 | Apple NaturalLanguage 上下文嵌入 + BM25,全部在设备上运行 |
| 系统音频 | Core Audio 进程音频捕获(macOS 15+) · ScreenCaptureKit(macOS 14) |
| 麦克风 | AVAudioEngine + 内置 SpeexDSP 回声消除器 |
| 存储 | SwiftData;API 密钥存储在钥匙串中 |
| 更新 | Sparkle,EdDSA 签名的 appcast |
| 项目 | XcodeGen:project.yml 是唯一可信来源 |
从源代码构建
前提条件:macOS 14.0+,推荐使用 Apple Silicon,以及 Xcode / Swift 工具链。
git clone https://github.com/turantekin/Parrot.git
cd Parrot
make run
make run 会使用 swift build 编译,组装 dist/Parrot.app,用你已有的签名身份为其签名(若没有则使用临时签名),然后启动应用。make help 会列出其余命令(make test、make install、make clean……)。
- 使用
make构建,而不是使用 Xcode 的 UI。 Xcode 的显式模块构建有时会与 WhisperKit 的依赖项发生竞争。若要使用 IDE,make xcode会根据project.yml重新生成项目;实际构建仍请使用make。 - 权限和重新构建。 macOS 会将音频和麦克风授权绑定到签名身份,因此每次重新构建临时签名的版本后,系统都会重新请求授权。
make signing-help会介绍两种免费的解决方法,让授权持续生效。 - 了解项目: FILEMAP.md 为每个源文件提供一行说明;AGENTS.md 介绍项目布局和约定;CONTRIBUTING.md 提供面向开发者的入门指引。
接下来要做的事(我的愿望清单)
- 真正的说话人分离。 已完成,可在设备上运行,并支持命名和记住声音
- 用于摘要和助手的本地 LLM。 已通过 Ollama 实现(未来或许会加入进程内运行的 MLX 模型)
- 公证并分发。 已完成,提供经过公证的 DMG 和 Sparkle 自动更新
- 通话前简报和单次通话配置文件。 已完成
- 通话期间实时显示说话人姓名。 已作为实验功能实现(Settings → Transcription → Live speaker labels),默认关闭,待经受更多实际通话的检验
- 日历集成。 已完成:会议会采用日历事件的名称和参会者
- 书签。 已完成:通话期间标记时刻(在任何应用中按 ⌃⌥M),每个报告要点都会链接到对应内容
- 更好的波形可视化。 目前的版本……能用
如果你对其中任何一项感兴趣,欢迎加入!
想帮忙吗?🙏
说真的,如果你喜欢 Swift/macOS 开发、音频处理或设备端机器学习,我很希望得到你的帮助。我是一个人在业余时间开发这个项目,还让 Claude 当我的编码搭档,有很多东西我还不懂。
- 说话人检测。 重叠说话和非常相似的声音仍然可能让它出错,通话时的实时标签也还在开发中。
- 权限边缘情况。 Core Audio taps 没有权限状态 API(未经授权的 tap 只会传输静音)。如果你了解
kTCCServiceAudioCapture相关的 TCC 特性,欢迎告诉我。 - 修复错误。 发现了问题?提交 PR,我会尽快审查。
- 功能建议。提出想法,或发起讨论。
- **随便聊聊。**哪怕只是说一句“项目很棒”或“这做得不对,应该换种方式”。我洗耳恭听。
报告任何问题最简单的方式:点击应用右下角的小瓢虫图标(或选择 Help > Report a Bug...)。请先阅读 CONTRIBUTING.md,也请友善交流(行为准则)。遇到困难?请参阅 SUPPORT.md。
已知问题(正在处理)
- **通过临时源码构建安装时,音频权限会重置。**没有身份标识的构建每次都会被视为新应用。
make signing-help提供了两种解决方法。下载的发行版在更新后仍会保留授权。 - **模型首次使用时需要联网。**Whisper、Parakeet、语音检测和说话人检测模型会在首次使用时下载;macOS 也会在你首次添加阿拉伯语、印度语系,或(部分 Mac 上的)西里尔文字文档时下载语言模型。之后一切都可以离线运行。
- **说话人检测并非完美。**我和对方的声音能精确区分(使用独立音轨)。对方的声音相似或有严重串音时,仍可能弄错某句话;右键点击即可重新分配。如果一个人被识别成两三个说话人,给他们设置相同的名字就能合并。
- **在小型本地模型上使用 Ask Parrot。**使用小型 Ollama 模型(如 gemma3:4b)时,涉及多场会议的回答可能会漏掉来源或混淆细节。关于单场会议的回答没有问题,Claude 也能很好地处理范围更广的问题。
- **扬声器声音串入麦克风。**回声消除会从你的麦克风音频中去掉大部分对方的声音,Parrot 也会忽略那些只有回声的句子,但使用大音量扬声器时,仍可能听到微弱的回声副本,通常是混在你自己的话语中的短片段或误听内容。通话界面会提示何时使用耳机能有所帮助;戴上耳机即可解决。
类似项目
在“无云端、无机器人,只转录我的会议”这个领域,Parrot 并非独此一家。如果你正在评估不同方案,不妨看看这些项目:
- Meetily:使用 Ollama 生成摘要的本地 Whisper/Parakeet 转录工具(Rust)
- Hyprnote:以隐私为先的会议记事本,支持麦克风和系统音频,并使用设备端模型
- Recap:原生 macOS 会议摘要工具,使用 WhisperKit 转录并通过 Ollama 生成摘要(Swift)
- screenpipe:持续在本地采集屏幕和音频,并使用本地 Whisper
Parrot 的特色:完全原生的 SwiftUI + WhisperKit,以及基于你自己的文档、可在通话中实时使用的助手,而不只是会后笔记。
许可证
GPL-3.0。使用它、了解它、改进它。如果你发布修改后的版本,必须继续以相同许可证开源。
v0.11.3 及更早版本的发行版基于 MIT 许可证发布,仍然采用 MIT 许可证。
使用 SwiftUI、WhisperKit,以及太多深夜里的 Claude Code 开发时光打造。🌙
如果你也尝试过把一个雄心勃勃得离谱的个人项目做出来:我懂你。继续加油。🦜
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
