会议智能体
吉祥物会作为真实参会者加入 Google Meet、Zoom、Teams 和 Webex:倾听、流式输出实时转录,在被点到时回应,会根据日历自动加入,并可在会议中使用工具。M
吉祥物的旗舰集成是 会议代理:你在桌面上对话的同一个角色可以代表你加入会议(Google Meet、Zoom、Microsoft Teams 或 Webex),以动画头像的形式待在参会者网格中,听见房间里的每个人,用自己的声音在通话中回应,并在会议进行时调用工具。
它不是记笔记的机器人。记笔记机器人只是安静地坐着并生成文字记录。会议代理会参与——它会回答问题、实时查找信息、记住与相同人员的以往会议,并在你(或它)认为有有用内容要补充时发言。
它在通话中实际做什么
1. 它作为真实参会者加入
吉祥物通过嵌入式 webview 加入会议,方式与人们从浏览器中加入一样。它有名称、面孔以及网格中的一个格子。其他参与者看到和听到它的方式,就像看到和听到任何其他参会者一样——没有日历机器人,没有拨入号码,也没有“本会议正在被……录制”的横幅。
在底层,会议大脑位于 src/openhuman/meet/agent/brain/,而 webview 侧与 OpenHuman 用于其他嵌入式提供方的 CEF 子窗口相同。
2. 它倾听房间里的每个人
进入会议的音频会被实时捕获并通过流式语音转文字处理。转录会按说话人进行分离,经过与桌面听写相同的幻觉过滤器和后处理器清理,并被纳入 记忆树 随着会议展开——归入对应的人、对应的话题、对应的项目下,并附上吉祥物日后可用的回链。
因为转录正在实时结构化,吉祥物可以回答关于 这次 会议(或与相同人员的任何先前会议)中的问题,只要它仍在进行。
3. 它会互动——它回答、提问、跟进
代理并未静音。当你直接对它说话(“Ghosty,你能调出上季度的数字吗?”),或者当它认为有有用内容要补充时,它会使用项目的常规 LLM 栈即时生成回复,并把它说进会议里。
对话轮次通过快速模型层路由(见 自动模型路由),因此延迟感觉就像在和一个正在倾听的人说话,而不是在等待聊天机器人。
4. 它会说话——它自己的 TTS 音频会回放进通话
回复由项目的 TTS 栈生成,并直接以外发麦克风流的形式串流进会议。它不会通过你的本地扬声器播放再被麦克风重新捕获——而是直接作为代理的音频注入,因此对其他人来说是干净的,也不会在你的房间里回声。
5. 它会动起来——吉祥物的脸就是摄像头画面
吉祥物的画布会作为外发摄像头流注入 Meet 通话(这一工作引入于提交 b6d05cb4,而吉祥物帧流水线在 f5dce783中进一步打磨)。当代理在说话时,吉祥物就在摄像头格子里说话——口型会与其他人听到的同一段 TTS 音频同步。当它在倾听时,会显示倾听姿势。当它在开口前推理时,你会看到思考姿势。
其他参与者不会看到黑色方块或静态头像。他们会看到一个动画角色随着说话内容实时反应,这也是让通话感觉像是在和某个活物对话,而不是某个声音凭空冒出来的原因。
6. 它会在会议中途使用工具——这是记笔记者做不到的部分
这就是转录机器人与会议之间的区别 智能体.
在通话进行时,吉祥物可访问与桌面端相同的工具界面:
记忆树 - 回顾以往会议、决策、未完事项、上次谁说了什么、承诺了什么。
原生工具 - 搜索网页、抓取页面、快速进行代码/数据查询,全部无需离开通话。
潜意识循环 输出——它在后台一直处理的任何内容都已随时可用。
因此,当通话中的某人问“等等,我们上个月不是决定取消第三季度发布吗?”,吉祥物不会只是把问题转写出来。它会直接回答——给出实际决定、做出该决定的会议,以及同意的人。
这就把它从 记笔记者 改为 房间里信息最充分的参与者.
为什么它感觉像是活的
一个只做转录的会议代理只是个工具。一个会参与的会议代理则是一种存在。Meet 集成被刻意设计成让吉祥物感觉像真正的参会者,而不是录制设备:
它有一个 出现在摄像头网格中的脸 会做唇形同步并作出反应,而不是黑色方块或徽标。
它有自己的 声音 会直接播放进通话,而不是从你的扬声器里播出。
它有 持久记忆 ,记住房间里的人、项目和之前的决策——因此它可以被直呼其名,并在上下文中作答。
它有 tools 这样它就能对所说内容采取行动,而不只是记录下来。
它运行 潜意识循环 在会议之间——因此当它加入你的下一次通话时,已经把上一次会议中承诺的内容做过功课了。
实际结果是,参与者不再把它当作机器人,而开始把它当作一位碰巧非常擅长查找信息的同事。
会议页面
所有与会议相关的内容都集中在一个重新设计的页面(智能 → 会议):
加入任何平台。 一个带平台标签(Google Meet / Zoom / Teams / Webex)的编辑器,其中 URL 占位符会按平台自动适配,“Your name” 会从你连接的账户自动填充。勾选 主动模式 并且机器人在被呼叫时会作出回应(唤醒短语会生成为
Hey {你的代理名称});关闭则仅监听。通话过程中实时转录。 转录回合会在会议进行时实时流入应用。进行中的行在最终确定前会以灰色显示,然后在通话结束时由权威的最终转录接管。
会议历史,主从详情。 最近的通话(最多 200 条)显示在一条列表中;选择其中一条即可查看完整详情:平台、参与者、时长,以及一个 AI 摘要 摘要,其中包含标题、要点和行动项清单,以及完整的 转录.
日历自动加入
通过 Recall 托管的 OAuth 一次性连接你的 Google 日历,并仅授予 只读权限范围 (calendar.events.readonly + 你的电子邮件),OpenHuman 就能看到你即将到来的会议并自动加入。机器人仍由 OpenHuman 调度并拥有(你的吉祥物、你的点数),而不是第三方。
自动加入由策略驱动: 每次询问 / 始终 / 从不,全局以及 按平台分别设置 (你的 Zoom 站会可以自动加入,而 Teams 仍保持手动)。设置一个 回复显示名称 在默认设置抽屉中,日历加入将以回复模式出现,在这种模式下机器人会在被呼叫时回应。若不设置,则日历加入保持仅监听。
失败即关闭的唤醒词
唤醒词门控按所有者范围限定,并且故意采用保守策略:
只有已配置的 通话所有者 (或所有者列入允许名单的人)才能唤醒机器人进入一个带工具支持的回合。非所有者会收到问候或礼貌拒绝。
所有者只需在通话中说“allow”/“go ahead”/“let them in” 就能临时授权某人(一个 2 分钟的待定窗口)。
如果未配置所有者, 则永远不会触发唤醒。机器人也不会因自身的 TTS 回声而唤醒,而强力的按说话人去重和冷却机制会吸收字幕重复发出的内容。
设置、控制、隐私
加入通话。 把会议链接从 Meetings 页面交给吉祥物(或者让日历自动加入来处理);它会使用配置好的显示名称加入,并把自己的摄像头格子切换为吉祥物画布。
按你的规则生成摘要。 自动摘要策略(询问 / 始终 / 从不)决定通话结束时是否生成 AI 摘要;将转录导入记忆是另一个单独的开关。
麦克风和摄像头控制。 代理的麦克风是 TTS 注入流,不是你的真实麦克风。代理的摄像头是吉祥物帧生成器,不是你的真实摄像头。你可以随时在应用中将代理麦克风静音,方式与在 Meet 中把自己静音相同。
无隐蔽录音。 代理会作为普通参与者出现在网格中;通话中的每个人都能看到它,也能看到它何时在说话。
实现提示(供开发者)
想知道它是如何连接起来的吗:
大脑 -
src/openhuman/meet/agent/brain/(LLM 回合、是否发言决策、工具调用)。语音管线 -
src/openhuman/voice/(STT 输入、TTS 输出、幻觉过滤器、后处理)。参见 原生语音.将吉祥物画布作为外发摄像头 -
app/src/features/meet/MascotFrameProducer.tsx以及 Tauri 端的mascot_native_window.rs窗口。嵌入式 Meet webview - 参见 Chromium 嵌入式框架。Meet 子 webview 自带 零注入 JavaScript;宿主端的一切都通过 CDP 原生运行。
为了了解背景值得阅读的显著提交 -
0bc74575(实时记笔记),f1203479(真实的 LLM 回合 + 调校后的 TTS),b6d05cb4(吉祥物画布作为外发摄像头),f5dce783(吉祥物帧流水线 + 离屏 Meet 窗口)。
另请参阅
最后更新于