🧪 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
❤️ 0
⬇️ 13
👁 1
Share

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)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs