---
description: >-
  吉祥物作为真实参与者加入会议：倾听、记笔记、在通话中说话、
  将动画脸管道到摄像头网格，并在会议中间使用工具。不只是笔记工具。
icon: video
---

# 会议智能体

吉祥物的旗舰集成是**会议智能体**：你在桌面上对话的同一角色可以代表你加入 Google Meet，坐在参与者网格中作为动画脸，听到房间里的每个人，用自己的声音在通话中说话，并在会议进行时使用工具。

它不是笔记工具。笔记工具安静地坐着产生转录。会议智能体参与——它回答问题、实时查找、在与同一个人之前的会议中记住事情，并在你（或它）决定有用的内容要补充时做出贡献。

## 它在通话中实际做什么

### 1. 作为真实参与者加入

吉祥物通过嵌入式 webview 加入会议，与一个人从浏览器加入的方式相同。网格中有一个名字、一张脸和一个瓦片。其他参与者像看到任何其他与会者一样看到和听到它——没有日历 bot、没有拨入号码、没有"此会议正被……录制"横幅。

在底层，会议大脑位于 `src/openhuman/meet_agent/brain.rs`，webview 端是 OpenHuman 用于其他嵌入式 provider 的相同 CEF 子窗口。

### 2. 它倾听房间里的每个人

会议的入站音频被捕获并实时推送通过流式语音转文字。转录按说话者分离，经过与桌面听写相同的幻觉过滤和后处理，并在会议展开时折叠到[记忆树](../obsidian-wiki/memory-tree.zh-CN.md)中——在正确的人、正确的主题、正确的项目下，带有吉祥物以后可以使用的反向链接。

因为转录正在实时结构化，吉祥物可以在会议仍在进行时回答关于_这个_会议（或与同一个人任何之前的会议）的问题。

### 3. 它互动——回答、提问、跟进

智能体没有静音。当你是指向它（"Ghosty，你能拉出上个季度的数字吗？"），或者当它决定有用的内容要补充时，它使用项目正常 LLM 堆栈实时生成回复并在会议中说话。

对话轮次通过快速模型层路由（参见[自动模型路由](../model-routing/README.zh-CN.md)），这样延迟感觉像在和一个正在倾听的人说话，而不是等待聊天机器人。

### 4. 它说话——自己的 TTS 音频播放回通话

回复由项目 TTS 堆栈生成并直接作为出站麦克风 feed 流式传输到会议中。它不是通过你的本地扬声器播放并被你的麦克风重新捕获——它直接作为智能体的音频注入，所以它干净地到达其他每个人，不会通过你的房间回声。

### 5. 它动画——吉祥物的脸就是摄像头 feed

吉祥物的画布被管道到 Meet 通话作为出站摄像头流（commit `b6d05cb4` 引入的工作，Mascot 帧流水线在 `f5dce783` 中进一步打磨）。当智能体在说话时，吉祥物在摄像头瓦片上说话——嘴型与所有其他人听到的同一 TTS 音频口型同步。当它在倾听时，它显示倾听姿势。当它在说话前推理时，你看到思考姿势。

其他参与者在网格中看不到黑色瓦片或静态头像。他们看到一个与正在说的话实时反应的动画角色，这使得通话感觉像与活着的东西对话，而不是声音从无处传来。

### 6. 它在会议中间使用工具——这是笔记工具做不到的部分

这就是转录 bot 和会议_智能体_之间的区别。

当通话发生时，吉祥物可以访问它在桌面上相同的工具表面：

- [**记忆树**](../obsidian-wiki/memory-tree.zh-CN.md)——召回之前的会议、决策、开放线程、谁上次说了什么、承诺了什么。
- [**从集成自动拉取**](../obsidian-wiki/auto-fetch.zh-CN.md)和[**第三方集成**](../integrations/README.zh-CN.md)——从 Slack 拉取线程、一封邮件、一个 Linear ticket、一个 Notion 文档、一个日历条目、一个 Drive 文件。
- [**原生工具**](../native-tools/README.zh-CN.md)——搜索网络、抓取页面、运行快速代码/数据查询，全部不离开通话。
- [**潜意识循环**](../subconscious.zh-CN.md)输出——任何它在后台一直在工作的东西都随手可得。

所以当通话中有人问"等等，我们不是上个月决定放弃 Q3 发布的吗？"，吉祥物不只是转录问题。它回答它——用实际的决策、做出它的会议、以及谁同意了。

这将它从_笔记工具_移到_房间里信息最丰富的参与者_。

## 为什么它感觉是活的

只转录的会议智能体是工具。参与的会议智能体是一种存在。Meet 集成刻意构建为让吉祥物感觉像一个真正的与会者，而不是录音设备：

- 它在摄像头网格上有**一张脸**，会口型同步和反应，不是黑色方块或标志。
- 它有**自己的声音**，播放到通话中，而不是你的扬声器。
- 它有**持久记忆**房间里的、项目、之前的决策——所以它可以被命名并上下文回答。
- 它有**工具**，所以它可以行动于所说的话，而不只是记录。
- 它在会议之间运行**潜意识循环**——所以当它加入你的下一个通话时，它已经做完了在上一个会议中承诺的功课。

实际结果是，参与者不再把它当作 bot 开始对待，而是开始把它当作一个恰好非常快速查找东西的同事。

## 设置、控制、隐私

- **加入通话。** 你可以从桌面 app 给吉祥物一个 Google Meet 链接；它将打开嵌入式 Meet webview，用配置的显示名称加入，并将其摄像头瓦片切换到吉祥物画布。
- **麦克风和摄像头控制。** 智能体的麦克风是 TTS 注入流，不是你真正的麦克风。智能体的摄像头是吉祥物帧生成器，不是你真正的网络摄像头。你可以随时从 app 中将智能体的麦克风静音，就像在 Meet 中静音自己一样。
- **转录和记忆。** 实时转录以与任何其他来源相同的方式落在[记忆树](../obsidian-wiki/memory-tree.zh-CN.md)中——在通话中的人、项目和出现的主题下。它们是本地优先的，遵循项目的[隐私与安全](../privacy-and-security.zh-CN.md)规则。
- **无秘密录制。** 智能体在网格中作为正常参与者出现；通话中的每个人都可以看到它，并在它说话时看到。

## 开发者实现指针

好奇这是如何连接的：

- 大脑 - `src/openhuman/meet_agent/brain.rs`（LLM 轮次、说话/不说话决定、工具调用）。
- 语音管道 - `src/openhuman/voice/`（STT in、TTS out、幻觉过滤、后处理）。参见[原生语音](../native-tools/voice.zh-CN.md)。
- 作为出站摄像头的吉祥物画布 - `app/src/features/meet/MascotFrameProducer.tsx` 和 Tauri 端 `mascot_native_window.rs` 窗口。
- 嵌入式 Meet webview - 参见 [Chromium Embedded Framework](../../developing/cef.md)。Meet 子 webview **零注入 JavaScript** 发货；所有 host 端通过 CDP 原生运行。
- 要阅读的上下文的重要 commit - `0bc74575`（实时记笔记）、`f1203479`（真实 LLM 轮次 + 调优 TTS）、`b6d05cb4`（吉祥物画布作为出站摄像头）、`f5dce783`（吉祥物帧流水线 + 屏外会议窗口）。

## 另见

- [吉祥物](./)——屏幕上的角色本身，会议之外。
- [原生语音](../native-tools/voice.zh-CN.md)——会议智能体所依赖的 STT / TTS。
- [记忆树](../obsidian-wiki/memory-tree.zh-CN.md)——转录和决策落地的地方。
- [原生工具](../native-tools/README.zh-CN.md)——吉祥物在通话中可以伸手拿什么。
- [自动模型路由](../model-routing/README.zh-CN.md)——对话轮次为什么感觉低延迟。