🧪 Skills
Meeting Assistant
Zoom/Teams/Meet 远程会议AI助手。Use when: user asks to join a meeting, monitor a meeting, record a meeting, assist in a medical consultation, help doctor-patient co...
v1.0.0
Description
name: meeting-assistant description: "Zoom/Teams/Meet 远程会议AI助手。Use when: user asks to join a meeting, monitor a meeting, record a meeting, assist in a medical consultation, help doctor-patient communication, transcribe meeting audio, analyze meeting screenshots, send chat in meeting, or provide real-time meeting assistance. The agent joins the meeting autonomously as a bot, performs real-time speech-to-text, vision analysis via Claude AI, and participants can communicate with the agent directly via meeting chat."
Meeting Assistant — 远程会议智能助手
让 Agent 作为 AI 参会者加入 Zoom / Teams / Google Meet,实时分析会议内容并与参会者双向交互。
架构总览
┌─────────────────┐
│ 你(用户) │
│ 在会议聊天发消息 │
└────────┬────────┘
│ 会议聊天(双向)
┌────────▼────────┐
│ Vexa Bot │ ← AI 机器人,会议参与者
│ (Docker 容器) │
└────────┬────────┘
│ Vexa REST API
┌────────▼────────┐
│ meeting_bot.py │ ← 主控程序
│ 双线程运行: │
│ • 聊天轮询(5s) │ → 读聊天 → Claude → 回答
│ • 分析循环(30s)│ → 截图+转录 → Claude → 建议
└────────┬────────┘
│
┌────────▼────────┐
│ claude_client │ ← Anthropic API
│ • 图像分析 │
│ • 转录理解 │
│ • 聊天问答 │
│ • 会议摘要 │
└─────────────────┘
用户交互方式:用户在 Zoom/Teams/Meet 的会议聊天中输入问题或命令,Bot 通过 Claude AI 生成回答并发回聊天。整个过程无需其他工具,完全在会议内进行。
快速开始
前置条件
# 1. 启动 Vexa Bot 服务(Docker)
cd skills/meeting-assistant
docker compose up -d
# 2. 设置 Claude API Key
export ANTHROPIC_API_KEY="sk-ant-..."
# 3. 安装 Python 依赖
pip install anthropic requests
方式 A:通过 agent_tool.py(推荐,Claude Code 调用)
PYTHON="D:/program/codesupport/anaconda/envs/meeting-assistant/python.exe"
# 加入会议并启动 AI 助手(后台运行)
$PYTHON scripts/agent_tool.py start "https://zoom.us/j/123456789?pwd=xxx" --mode general
# 查看状态
$PYTHON scripts/agent_tool.py status
# 向会议聊天发消息
$PYTHON scripts/agent_tool.py chat "大家好,我是 AI 助手"
# 获取当前转录
$PYTHON scripts/agent_tool.py transcript
# 获取截图
$PYTHON scripts/agent_tool.py screenshot
# 查看助手日志
$PYTHON scripts/agent_tool.py logs
# 停止助手(自动生成摘要后离开)
$PYTHON scripts/agent_tool.py stop
方式 B:通过 meeting_bot.py(直接运行)
PYTHON="D:/program/codesupport/anaconda/envs/meeting-assistant/python.exe"
# 全自动 AI 助手模式(加入 + 分析 + 聊天)
$PYTHON scripts/meeting_bot.py assist "https://zoom.us/j/123456789" --mode medical --interval 30
# 单独命令
$PYTHON scripts/meeting_bot.py join "https://zoom.us/j/123456789"
$PYTHON scripts/meeting_bot.py chat "这是发给会议的消息"
$PYTHON scripts/meeting_bot.py read-chat
$PYTHON scripts/meeting_bot.py transcript
$PYTHON scripts/meeting_bot.py screenshot
$PYTHON scripts/meeting_bot.py status
$PYTHON scripts/meeting_bot.py leave
方式 C:本地监控(无需 Vexa)
$PYTHON scripts/meeting_monitor.py start --mode medical --interval 30
$PYTHON scripts/meeting_monitor.py snapshot
$PYTHON scripts/meeting_monitor.py transcript --last 5
$PYTHON scripts/meeting_monitor.py stop
与用户的聊天交互
Bot 加入会议后,用户可以在会议自带的聊天框中直接和 AI 交流:
| 用户在聊天中输入 | Bot 响应 |
|---|---|
刚才那个药名是什么? |
Claude 基于转录内容回答 |
帮我总结一下刚才讨论的 |
Claude 分析转录并总结 |
@助手 这个症状正常吗? |
Claude 给出信息性解释(附免责声明) |
?什么是高血压 |
Claude 用通俗语言解释 |
触发条件(满足任一即回应):
- 包含
OpenClaw/助手/AI等关键词 - 包含
?或? - 医疗模式下包含医疗关键词
- 以
/、!、请问、请开头
实时分析循环
助手运行两个并发循环:
聊天轮询(每 5 秒)
读取会议聊天 → 检测新用户消息 → Claude 生成回答 → 发回聊天
分析循环(每 30 秒,可调)
截图 → 获取转录增量 → Claude 视觉+文本分析 → 若有建议则发聊天 → 保存日志
分析结束后自动调用 Claude 生成完整会议摘要(meeting_summary.md)。
医疗辅助模式 (--mode medical)
启用后额外功能:
- 自动识别医学术语 → 通俗解释 → 发到聊天
- 检测处方/诊断/用药信息 → 用 ⚠️ 标记
- 患者版简明摘要(去除专业术语)
- 医学术语对照表(中英文)
- 复诊/随访提醒
参考:references/medical-terms-guide.md
作为 Anthropic Tool Use 使用
import anthropic
from scripts.agent_tool import tool_definitions, handle_tool_call
client = anthropic.Anthropic()
# 让 Claude 决定是否加入会议
response = client.messages.create(
model="claude-sonnet-4-6",
tools=tool_definitions(),
messages=[{
"role": "user",
"content": "帮我加入这个会议并用医疗模式监控:https://zoom.us/j/123?pwd=xxx"
}]
)
# 处理 tool_use 块
for block in response.content:
if block.type == "tool_use":
result = handle_tool_call(block.name, block.input)
print(result)
可用工具
| Tool Name | 功能 |
|---|---|
meeting_start |
加入会议并启动 AI 助手 |
meeting_stop |
停止助手并生成摘要 |
meeting_status |
查看当前状态 |
meeting_send_chat |
向会议聊天发消息 |
meeting_get_transcript |
获取转录文本 |
meeting_screenshot |
截取会议画面 |
meeting_read_chat |
读取聊天记录 |
meeting_get_summary |
获取会议摘要 |
meeting_get_logs |
查看调试日志 |
配置 (config.json)
{
"claude": {
"api_key": "", // 或设置 ANTHROPIC_API_KEY 环境变量
"model": "claude-sonnet-4-6",
"max_tokens": 1024
},
"chat_poll_interval": 5, // 聊天轮询间隔(秒)
"bot": {
"vexa_url": "http://localhost:8056",
"vexa_api_key": "",
"bot_name": "OpenClaw 助手"
},
"medical": {
"enabled": false
}
}
输出文件结构
recordings/bot_20260313_143000/
├── session.json # 会话元数据(bot_id, 平台, 开始时间等)
├── screenshots/ # 截图(screen_HHMMSS.png)
├── analysis/
│ └── cycle_log.jsonl # 每次分析循环的详细记录
├── transcript_log.json # 完整转录记录(JSON 数组)
├── suggestions_log.json # Bot 发送的所有聊天消息记录
└── meeting_summary.md # AI 生成的完整会议摘要
支持的会议平台
| 平台 | URL 格式 |
|---|---|
| Zoom | https://zoom.us/j/123456789?pwd=xxx |
| Microsoft Teams | https://teams.microsoft.com/l/meetup-join/... |
| Google Meet | https://meet.google.com/abc-defg-hij |
与其他 Skill 联动
- pc-control: 截屏增强 + 会议窗口控制
- agent-browser-core: 会议中查询资料
- eva-tts: 将分析结果语音播报
参考:references/integration-guide.md
注意事项
- 录音/录制前需获得所有参会者同意
- 医疗信息严格保密,建议加密存储录制文件
- Bot 模式需要 Docker 运行 Vexa 服务
- Vexa 的 Zoom 支持需要 Zoom Marketplace OAuth 凭证
- Claude API Key 建议通过环境变量设置,不要写入 config.json
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!