# 会议智能体

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

它不是记笔记工具。记笔记工具会静静地坐着并生成文字记录。会议代理会参与其中——它会回答问题，实时查找信息，记住与同一批人的以往会议，并在你（或它）认为有有用内容要补充时进行贡献。

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

### 1. 它作为真实参会者加入

吉祥物通过嵌入式 webview 加入会议，方式和人们从浏览器加入一样。它有名称、有脸、有网格中的一个方块。其他参与者看到和听到它的方式，就像看到和听到任何其他参会者一样——没有日历机器人，没有拨入号码，也没有“此会议正在被录制，录制者为……”的横幅。

其底层的会议大脑位于 `src/openhuman/meet_agent/brain.rs`，而 webview 侧则是 OpenHuman 为其他嵌入式提供方使用的同一个 CEF 子窗口。

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

会议传入的音频会被捕获，并通过流式语音转文字实时处理。转写内容会按说话人分离，由与桌面听写相同的幻觉过滤器和后处理器清理，然后在 [记忆树](/openhuman/zh/gong-neng/obsidian-wiki/memory-tree.md) 中随着会议展开而被整理——放到正确的人、正确的话题、正确的项目下面，并附上吉祥物日后可用的回链。

因为转写内容是实时结构化的，所以吉祥物可以在 *这次* 会议（或与同一批人的任何之前的会议）仍在进行时，就回答有关它的问题。

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

这个代理不是静音的。当你直接对它说话（“Ghosty，你能调出上个季度的数据吗？”），或者它认为自己有有用内容要补充时，它会使用项目的常规 LLM 栈即时生成回复，并把它说进会议里。

对话轮次会通过快速模型层路由（见 [自动模型路由](/openhuman/zh/gong-neng/model-routing.md)），因此延迟感就像是在和一个正在听你说话的人交流，而不是在等一个聊天机器人。

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

回复由项目的 TTS 栈生成，并直接作为外发麦克风流送入会议。它不会通过你的本地扬声器播放再被麦克风重新采集——它是直接作为代理的音频注入的，因此对其他人来说很干净，也不会在你的房间里回声。

### 5. 它会动起来——吉祥物的脸就是摄像头画面

吉祥物的画布会作为外发摄像头流被送入 Meet 通话（这项工作在提交 `b6d05cb4`中引入，吉祥物帧管线则在 `f5dce783`中进一步打磨）。当代理在说话时，吉祥物就在摄像头方块里说话——口型会与其他人听到的同一段 TTS 音频同步。它在聆听时会显示聆听姿态。在开口前进行推理时，你会看到思考姿态。

其他参与者不会看到黑色方块或静态头像。他们看到的是一个会根据正在说的话实时反应的动画角色，这正是让通话感觉像是在和一个活着的东西对话，而不是某个声音凭空冒出来。

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

这就是转写机器人和会议 *代理*.

之间的区别。

* [**记忆树**](/openhuman/zh/gong-neng/obsidian-wiki/memory-tree.md) 在通话进行时，吉祥物可以访问和桌面上一样的工具界面：
* [**自动从集成中获取**](/openhuman/zh/gong-neng/obsidian-wiki/auto-fetch.md) 和 [**第三方集成**](/openhuman/zh/gong-neng/integrations.md) ——从 Slack、电子邮件、Linear 工单、Notion 文档、日历条目、Drive 中的文件里拉取线索。
* [**原生工具**](/openhuman/zh/gong-neng/native-tools.md) ——搜索网页、抓取页面、快速进行代码/数据查询，所有这些都无需离开通话。
* [**潜意识循环**](/openhuman/zh/gong-neng/subconscious.md) 输出——它在后台处理的任何内容都已随手可得。

所以，当通话中的某个人问：“等等，我们上个月不是决定取消第三季度发布了吗？”，吉祥物不会只是把问题转写下来。它会直接回答——给出实际的决定、做出决定的会议，以及同意的人。

这让它从 *记笔工具* 改为 *变成了房间里信息最全面的参与者*.

## 为什么它会显得有生命感

一个只做转写的会议代理只是一个工具。一个会参与的会议代理才像一个在场的存在。Meet 集成被刻意设计成让吉祥物感觉像一位真实参会者，而不是一个录音设备：

* 它有一个 **摄像头网格里的脸** ，会做口型同步并做出反应，而不是黑色方块或 logo。
* 它有自己的 **声音** ，会直接播放到通话里，而不是播放到你的扬声器里。
* 它有 **持久记忆** ，记住房间里的人、项目和之前的决定——因此可以被点名，并在上下文中回答。
* 它有 **tools** 因此它可以对所说内容采取行动，而不只是记录下来。
* 它运行着 **潜意识循环** ，在会议之间持续运作——所以当它加入你的下一次通话时，它已经完成了对上一次会议承诺内容的功课。

实际效果是，参与者不再把它当成机器人，而是开始把它当成一个查资料特别快的同事。

## 设置、控制、隐私

* **加入通话。** 你可以从桌面应用把 Google Meet 链接交给吉祥物；它会打开嵌入式 Meet webview，用配置好的显示名称加入，并将其摄像头方块切换为吉祥物画布。
* **麦克风和摄像头控制。** 代理的麦克风是 TTS 注入流，不是你真实的麦克风。代理的摄像头是吉祥物帧生成器，不是你的真实摄像头。你可以随时在应用中将代理的麦克风静音，就像你在 Meet 里静音自己一样。
* **转写和记忆。** 实时转写会落入 [记忆树](/openhuman/zh/gong-neng/obsidian-wiki/memory-tree.md) 中，方式和任何其他来源一样——按房间里的人员、项目以及提到的话题归类。它们优先本地化，并遵循项目的 [隐私与安全](/openhuman/zh/gong-neng/privacy-and-security.md) 规则。
* **不会暗中录音。** 该代理在网格中作为普通参与者出现；通话中的每个人都能看到它，也能看到它何时发言。

## 实现提示（面向开发者）

想了解它是如何连接的：

* 大脑 - `src/openhuman/meet_agent/brain.rs` （LLM 轮次、发言/不发言决策、工具调用）。
* 语音管线 - `src/openhuman/voice/` （STT 输入、TTS 输出、幻觉过滤器、后处理）。参见 [Native Voice](/openhuman/zh/gong-neng/native-tools/voice.md).
* 吉祥物画布作为外发摄像头 - `app/src/features/meet/MascotFrameProducer.tsx` 以及 Tauri 侧的 `mascot_native_window.rs` 窗口。
* 嵌入式 Meet webview - 见 [Chromium Embedded Framework](/openhuman/zh/kai-fa/cef.md)。Meet 子 webview 随附 **零注入 JavaScript**；所有主机侧逻辑都通过 CDP 原生运行。
* 值得阅读以了解上下文的重要提交 - `0bc74575` （实时记笔记）， `f1203479` （真实 LLM 轮次 + 调优后的 TTS）， `b6d05cb4` （吉祥物画布作为外发摄像头）， `f5dce783` （吉祥物帧管线 + 画外会议窗口）。

## 另见

* [Mascot](/openhuman/zh/gong-neng/mascot.md) ——屏幕上的角色本身，在会议之外。
* [Native Voice](/openhuman/zh/gong-neng/native-tools/voice.md) ——会议代理所依赖的 STT / TTS。
* [记忆树](/openhuman/zh/gong-neng/obsidian-wiki/memory-tree.md) ——转写和决定的落点。
* [原生工具](/openhuman/zh/gong-neng/native-tools.md) ——吉祥物在通话中可以调用的工具范围。
* [自动模型路由](/openhuman/zh/gong-neng/model-routing.md) ——为什么对话轮次感觉低延迟。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tinyhumans.gitbook.io/openhuman/zh/gong-neng/mascot/meeting-agents.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
