mcpField
P
Parrot

Parrot

本地服务
openparrot.app通信协作1222 周前更新

关于 Parrot

Parrot 是一款 Mac 会议录制工具,提供转写、实时辅助和可搜索的通话记录,面向需要本机记录与跟进会议的人。它通过 MCP 连接 Claude 等支持的 AI 应用,并允许用户选择共享哪些会议数据。

主要功能

  1. 01在 Mac 上录制并转写通话
  2. 02根据个人文档建议回答
  3. 03搜索和查询过往会议
  4. 04生成带时间点引用的报告
  5. 05选择向 AI 应用共享的会议数据

适用场景

  1. 01回顾多场通话中的承诺和跟进事项
  2. 02在会议中获取基于文档的建议
  3. 03利用过往会议记录准备通话
  4. 04根据会议内容起草跟进邮件

MCP 相关

Parrot 可连接 Claude Desktop、Claude Code、Codex for ChatGPT plans 和 Cursor,让它们读取经选择的会议数据。会议数据访问为只读;建议的配置文件会交由用户审核。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbParrot.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Parrot:通话时提供帮助,而非通话结束后。为 Mac 打造的会议录音工具,内置实时 AI 助手。

最新版本 Apple Silicon 上的 macOS 14+ GPL-3.0 原生 SwiftUI 星标

网站 · 下载 · 用户指南 · 讨论

🦜 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。打开声音,或阅读字幕。

Parrot 实时通话界面:通话评分为 78,显示一条指导建议;引用了 northwind-faq.md 中内容的建议答案;一个已解决的定价问题;你承诺的下一步;以及实时转录内容

实时通话界面如 openparrot.app 所示。对方询问了数据驻留问题,答案直接来自你拖入的常见问题文档。


嗨!👋

事情是这样的。我叫 Uygar,正在尝试从头打造自己的会议录音工具。我受够了为 Otter.ai 这类服务付费,因为它们会把我的所有对话发送到我无法掌控的服务器上。我当时想:“在 Mac 上本地完成这件事能有多难?”结果……这可真是一段旅程。😄

我在 Claude 的帮助下开发这个项目(没错,就是那个 AI;我们一起熬过很多个深夜写代码),说实话,这是我做过最有趣的项目之一。它还不完美:我仍在追查一些 bug,有些权限问题也很烦人,还有一些功能我尚未摸索明白。不过核心功能已经能用了,现在我每次与客户通话都会用它。

**这是一个个人项目,我也在边做边学。**如果有厉害的编码高手偶然发现这个项目,并愿意帮忙改进,我会由衷地感激。修复 bug、改进说话人检测,或者只是告诉我哪里做错了:任何帮助都很有用。欢迎提交 PR、创建 issue,或直接打个招呼。🙌

如果你觉得它有用,或者只是觉得这个创意很酷,请点个星标。这会让我开心一整天。

目录

功能介绍 · 隐私:哪些内容会离开你的 Mac · 快速上手 · 键盘快捷键 · 技术栈 · 从源代码构建 · 想要帮忙? · 已知问题(正在处理) · 类似项目

功能介绍

🎯 实时助手:通话期间提供帮助

始终在线的助手会关注对话,并在屏幕上显示合适的内容。整个通话过程中,无需按任何按钮。

  • 对方一提问,就会给出建议回答,内容基于你的文档;卡片上会标明文件名,并提供“复制”按钮。
  • 用于处理异议和未解决问题的置顶卡片。在你处理之前,它们会一直显示在屏幕上;处理完后会自动解决。
  • 及时记录你承诺的后续事项(“由你承诺”)。
  • 实时通话评分(0 到 100)、一句教练建议、情绪判断,以及“购买意向”或“你正在发言”等指标。你的发言占比超过 70% 时会变为橙色。
  • 通话偏离主题时提供提醒。 提示会显示在通话所用的应用上方,持续约十秒:“自从你说了‘价格会在 1 月上涨’后,对方就没怎么说话了。” 它会发现长时间沉默、长篇独白、打断对方、回答过短、语速加快和重复自己等情况;开启助手后,还会发现情绪变化、未回答的问题,以及没有商定后续事项就结束通话的情况。每两分钟最多提醒一次,并且不会出现在屏幕共享中。它只读取时间和话语内容,绝不会从任何人的声音中判断情绪。设置 > 助手 > 实时提醒。
  • 通话前先提供简报。 在仪表板上写一两句话(“续约通话,法务想知道数据存储在哪里”),它从第一秒起就知道你在和谁交谈。通话中可通过已提供简报卡片编辑简报。
  • 由你控制用量。 可选择节奏(免费套餐可选“快速”“平衡”或“轻松”)、每次请求包含的对话时长(2、5 或 10 分钟),还可以在通话屏幕和菜单栏中切换助手:关闭后不会发送任何内容,也不会消耗用量,但录音和转录会继续。
  • 约半秒内给出来自文档的答案(可选的 Claude 模式):添加 TypeSafe AI 密钥后,相应的摘录会在 Claude 仍在生成回答时,以来自你的文档卡片显示。
📚 知识库:像培训新队友一样向它介绍信息

知识设置,其中的 security-faq.pdf 标记为用于销售需求沟通,助手根据该文档回答了 SSO 问题

  • 添加 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”

一次后续通话中,Parrot 建议“听起来像 Jeremy?”和“听起来像 Lily?”,并提供播放和确认按钮

  • 我方和对方精确区分,实时呈现:你的麦克风音频和通话音频是分开的音轨。
  • 通话结束后,在设备上检测发言者(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 框设置标题和备注。
  • 你在通话期间或之后输入的笔记会与会议一起保存,开头几行会显示在顶部。
🧠 由你选择大脑

助手设置中已选择 Ollama(本地),运行 llama3.2:3b。你的 Mac 上有什么数据会离开?什么都不会,关闭 Wi-Fi 也能使用

助手和报告说明你的 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 帮助。

  1. 下载已公证的 .dmg 文件,前往 Releases 页面(或点击 openparrot.app 上的按钮),然后将 Parrot 拖到“应用程序”中。需要在 Apple Silicon 上运行 macOS 14(Sonoma)或更高版本。

  2. **允许两项权限。**欢迎导览会显示每项权限的实时状态,并提供直达相应“设置”面板的链接:

    • 系统音频录制,用于录制通话对方的声音。在 macOS 15 及更高版本中,这是一项仅限音频的权限。在 macOS 14 中,则需要“屏幕录制”权限(这是旧版 macOS 提供系统音频的方式;Parrot 始终只采集音频),重新打开 Parrot 后权限才会生效。
    • 麦克风,用于录制你这边的声音。
  3. **选择助手的工作方式。**导览会介绍助手的功能,然后让你选择:

    • 私密:所有操作都在你的 Mac 上完成。Parrot 会为你安装 Ollama 并下载模型。免费。
    • 均衡(推荐):音频留在你的 Mac 上,只有文本会发送给 Claude。粘贴从 console.anthropic.com 获取的密钥,然后按 检查密钥。
    • 云端:Deepgram 实时转写语音,Claude 运行助手。保存密钥前会先检查两者。
    • 或者选择 稍后决定:点击“主页”上的卡片,或前往 设置 > 助手 > 设置助手,即可继续设置。
  4. **语音转文本。**Parrot 会根据你的 Mac 内存和所用语言选择合适的模型,并立即开始下载。关闭导览后,下载仍会继续:

    模型大小适用场景
    Tiny40 MB速度最快
    Base140 MB适用于内存低于 12 GB 的 Mac
    Small460 MB准确度更高
    Large V3 Turbo Compressed626 MB接近最佳效果,占用内存低
    Large V3 Turbo1.6 GB准确度最高,也最适合非英语通话。内存为 12 GB 及以上时会自动选择
    Parakeet v30.5 GB速度最快,支持 25 种欧洲语言(不含土耳其语)。当你使用的语言均在支持范围内时会自动选择
  5. 在 Claude 中使用你的会议内容(可选)。导览的最后一步可一键连接 Claude Desktop;Cursor、Codex 和 Claude Code 可通过侧边栏中的 Claude 和 AI 应用进行连接。这是 Parrot 中唯一不具备与其他功能相同隐私保护的部分:应用读取的内容会发送到其所属公司,并关联到你的账户。如果你选择了“私密”,导览中不会显示此步骤。

  6. 下次通话时,开始录制。

  7. (可选)在 设置 > 知识中添加你的知识,并在 设置 > 配置文件中选择或创建配置文件。

想再次查看导览?前往 帮助 > 显示欢迎导览。

键盘快捷键

快捷键功能
⌘R开始录制
⌘.停止录制
⌘O导入音频文件
⌘E导出转录文本(TXT)
⌘F搜索会议
⌘K询问 Parrot
⌃⌥M标记一个时刻(录制期间可在任何应用中使用)
⌃⌥⇧M静音或取消静音你这边的声音(录制期间可在任何应用中使用)
⌘,设置

技术栈

内容方案
UISwiftUI、原生 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 许可证。


README 配图

使用 SwiftUI、WhisperKit,以及太多深夜里的 Claude Code 开发时光打造。🌙
如果你也尝试过把一个雄心勃勃得离谱的个人项目做出来:我懂你。继续加油。🦜

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。