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 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "meeting-assistant" with this command: npx skills add zeron-g/meeting-assistant-eva

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 格式
Zoomhttps://zoom.us/j/123456789?pwd=xxx
Microsoft Teamshttps://teams.microsoft.com/l/meetup-join/...
Google Meethttps://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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Google Classroom

Google Classroom API integration with managed OAuth. Manage courses, assignments, students, teachers, and announcements. Use this skill when users want to cr...

Registry SourceRecently Updated
General

GetResponse

GetResponse API integration with managed OAuth. Manage email marketing campaigns, contacts, newsletters, autoresponders, and segments. Use this skill when us...

Registry SourceRecently Updated
General

Antenna

Inter-host OpenClaw session messaging over reachable HTTPS using built-in gateway webhook hooks. Use when: (1) sending a message from this OpenClaw instance...

Registry SourceRecently Updated
General

Buffer

Buffer API integration with managed authentication. Schedule and manage social media posts across multiple platforms. Use this skill when users want to sched...

Registry SourceRecently Updated