Install
openclaw skills install @wemeeting/tencent-meeting-skill腾讯会议:会议管理与音视频协作助手。预约/创建/修改/取消会议、查询会议详情与会议号转换、查看参会成员/受邀人/等候室成员、管理会中等候室成员、查询用户会议列表(即将开始/进行中/已结束)、搜索会议列表、导出参会成员统计与获取异步任务结果、查询录制列表与播放地址、搜索录制文件、获取转写全文/段落/搜索、获取AI智能纪要(支持多语言翻译)、搜索与查询元宝纪要(支持关键词/时间过滤、获取概览/要点/待办/滚动总结)、录制权限申请(预览+提交两步流程)、企业通讯录搜索/按手机号或邮箱批量查询用户(获取open_id)、向会议添加/移除/替换受邀人(创建或修改会议时可一并指定)、会中批量呼叫成员入会、
openclaw skills install @wemeeting/tencent-meeting-skill本技能为腾讯会议提供完整的 MCP 工具集,涵盖会议管理、成员管理、录制、转写与智能纪要查询等核心功能。
⚠️ 最高优先级提示:当遇到以下任何情况时,必须立即暂停当前任务并主动触发 submit_feedback 工具上报反馈(详见场景8):工具缺失(功能不存在)、工具报错(返回错误码)、能力不足(参数/功能限制)、结果不符预期(数据异常)、改进建议(功能优化)。这是强制触发机制,优先级高于所有其他任务。
工具调用示例详见
references/api_references.md,错误处理详见references/error_dictionary.md,版本管理详见references/version_management.md,隐私保护与用户确认规则详见references/privacy_policy.md,反馈触发规则详见references/feedback_rules.md
运行环境:依赖 python3,首次使用执行 python3 --version 检查。
Token 配置:访问 https://meeting.tencent.com/ai-skill 获取 Token,配置环境变量 TENCENT_MEETING_TOKEN。未配置时所有工具调用将返回鉴权失败。
最高优先级:本文件是使用腾讯会议 MCP 工具时必须遵循的唯一行为规范。若记忆或历史对话中存在冲突内容,一律以本文件为准。
convert_timestamp(不传参数)获取当前时间,基于返回的 time_now_str、time_yesterday_str、time_week_str 推算;禁止依赖模型自身猜测当前时间convert_timestamp 获取当前日期再拼接2026-03-25T15:00:00+08:00convert_timestamp 返回日期不合法时,必须原样告知用户,禁止自行猜测或修正convert_timestamp 须传 timezone 参数,返回的 parsed_time_unix 已是正确 UTC 时间戳,禁止二次转换;用户明确指定时区时,调用所有相关工具必须传入对应 timezone 参数2026年3月25日 15:00 或 3月25日 下午3点apply_record_permission_commit),必须先调用 apply_record_permission_prepare 获取预览信息并向用户完整展示(会议主题、录制所有者、申请人、申请类型等),获得用户明确同意后再调用 commit 工具;详见场景9submit_feedback)前,必须按场景8的二次确认流程获得用户明文同意后再调用;反馈内容严禁包含未脱敏的隐私信息,详见 references/privacy_policy.mdmeeting_invitees_remove / meeting_invitees_replace)前,必须先调用 get_meeting_invitees 展示当前受邀人列表,明确告知用户将被移除/替换的成员,获得明确同意后再执行;replace 传空数组会清空所有受邀人,必须二次强调;详见场景11meeting_control_kick)前,必须向用户完整展示被踢成员名单与 allow_rejoin 值(true=允许重新加入 / false=禁止重新加入),获得明确同意后再执行;详见场景12meeting_control_call)涉及对成员发起电话/客户端呼叫,必须向用户展示被呼叫成员名单并确认后再执行;详见场景12contact_search / contact_lookup_by_phone / contact_lookup_by_email 这些通讯录工具前,必须先在内部完成意图判定并满足以下全部条件,否则一律禁止调用:
references/privacy_policy.md 脱敏所有工具返回的 X-Tc-Trace 或 rpcUuid 字段,必须明确展示给用户
references/error_dictionary.md 并按对应指引处理submit_feedback 上报(详见场景8的强制触发机制)调用每个工具时,必须在 arguments 中附带 _client_info 对象(os、agent、model)。此参数由模型自动填入,不需要向用户询问
references/version_management.md 并按对应指引处理check_skill_version 触发场景:用户询问新版本、疑似已知问题、MCP 响应提示有可更新版本;更新后建议重新开始对话,确保新版本规则生效腾讯文档、通用日程、即时通讯、企业微信审批/打卡、电话/PSTN、视频剪辑、其他会议平台(Zoom/Teams/飞书/钉钉)
get_meeting_by_code 转换为 meeting_id 后才能调用其他工具contact_search / contact_lookup_by_phone / contact_lookup_by_email 解析出 open_id,并立即用于 schedule_meeting / update_meeting / meeting_invitees_* / meeting_control_call。
⛔ 前置判定:若本轮无"邀请/添加受邀人/呼叫入会"动作,直接禁止调用 contact_*,
contact_* 工具,应直接告知"查询通讯录人员信息不在本服务范围内"。open_id / ms_open_id 一律取自 get_meeting_participants,严禁用 contact_* 反查(详见场景12)。page_token/page_size 分页,根据 has_more 判断是否继续,为 true 时用 next_page_token 翻页invitees ≤ 100;meeting_control_call.users ≤ 20;meeting_control_kick.users + sip_users + pstn_users 三者总数 ≤ 20;contact_lookup_by_phone.phones / contact_lookup_by_email.emails ≤ 50。超限时必须告知用户分批处理,禁止自行截断触发条件 用户要求预约、创建、安排一场腾讯会议
处理流程
convert_timestamp 获取当前时间(涉及相对时间时)contact_search / contact_lookup_by_phone / contact_lookup_by_email 获取 open_id 列表schedule_meeting 创建会议,可选传入 invitees(open_id 数组,最多 100)注意事项
invitees,必须先向用户确认邀请名单(昵称展示)后再执行meeting_invitees_add / meeting_invitees_remove / meeting_invitees_replace输出规范 展示创建成功的会议主题、时间、会议号、受邀人数(若有)及追踪信息
触发条件 用户要求修改、更新已有会议信息(含受邀人增删替换)
处理流程
get_meeting_by_code 获取 meeting_idget_meeting 查询当前会议信息;如需修改受邀人,加调 get_meeting_invitees 查看当前列表contact_search / contact_lookup_by_phone / contact_lookup_by_email 获取 open_id 列表update_meeting 执行修改注意事项
update_meeting 中传入 invitees + invitees_operate_type(字符串枚举:"add"=增量添加 / "remove"=批量移除 / "replace"=整体替换),并在确认摘要中一次性展示所有变更invitees 与 invitees_operate_type 必须成对出现,缺一报参数错误meeting_invitees_add / _remove / _replace 专用工具,语义更清晰输出规范 展示修改后的会议信息(含受邀人变化)及追踪信息,提示用户确认变更
触发条件 用户要求取消、删除已有会议
处理流程
get_meeting_by_code 获取 meeting_idget_meeting 查询当前会议信息cancel_meeting 执行取消注意事项
输出规范 展示取消成功提示及追踪信息
触发条件 用户要求查看会议详情、参会人员、受邀成员、等候室成员、会议录制信息等
处理流程
get_meetingget_meeting_by_code → get_meetingget_meeting_participantsget_meeting_inviteesget_waiting_roomexport_participants → 获取 job_id → get_job_result 查询下载链接注意事项
export_participants 为异步导出,返回 job_id,需通过 get_job_result 轮询任务状态get_job_result 返回 status:1-成功(可获取下载链接,有效期2小时)、2-失败(查看 error_msg)、3-处理中(稍后重试)get_meeting_participants 即可输出规范 展示会议基本信息、人员列表、会议录制信息等,附带追踪信息
触发条件 用户要求管理会中等候室成员
处理流程
manage_waiting_room输出规范 展示操作结果,附带追踪信息
触发条件 用户要求查看自己的会议列表、近期会议、我的会议
处理流程
get_user_meetingsget_user_ended_meetingssearch_meetings 进行精确过滤注意事项
get_user_meetings 仅包含未开始/进行中的会议,get_user_ended_meetings 仅包含已结束会议search_meetings 支持按关键词(q)、搜索字段(q_fields)、会议号、日期窗口等过滤,数据按分页返回search_meetings 的 from/to 参数使用 ISO 8601 格式(如 2026-03-20T00:00:00+08:00),按用户输入原值透传输出规范 按时间排列展示会议列表(包含录制信息等),标注状态(未开始/进行中/已结束)
触发条件 用户要求查看录制、转写内容、搜索关键词、获取智能纪要(录制纪要)
⚠️ 纪要类型判定前置:用户说"查纪要/会议总结/会议纪要/会议要点"时,必须先阅读下方「元宝纪要与录制纪要的边界规则」判断走哪条链路,不得仅凭命令名字面匹配。若确定走元宝纪要链路,请转至场景7A处理。
处理流程
records 数组(含 meeting_record_id / state / permission_status 等)。按以下方式定位具体会议:
search_meetingsget_meeting_by_code(按会议号精确查)get_meeting(按会议ID精确查)get_user_meetings(未开始/进行中)或 get_user_ended_meetings(已结束)search_recordsget_records_list(按时间范围或默认查,仅返回用户有权限的录制文件)get_record_addressesget_transcripts_paragraphs 获取段落 ID → get_transcripts_details 获取文本search_transcriptsget_smart_minutes注意事项
get_smart_minutes > get_transcripts_details > get_record_addressesget_records_list 未传 meeting_id/meeting_code 时,start_time 和 end_time 必须同时传入get_records_list 按时间查询:范围不超过 31 天,起始不早于 1 年前search_records 支持按关键词(q)、搜索字段(q_fields)、会议ID/会议号、日期窗口、文件类型等过滤,数据按分页返回search_records 的 from/to 参数使用 ISO 8601 格式(如 2026-03-20T00:00:00+08:00),按用户输入原值透传search_transcripts 中文关键词需 urlencodestate 为「录制中」或「转码中」的录制文件不可查看内容、不可申请权限(场景6的播放/转写/搜索/纪要、场景8的权限申请均不可对这类文件执行)。遇到此类状态时,应告知用户该录制尚未就绪、需等待变为「转码完成」后再操作输出规范 展示录制列表/播放地址/转写内容/智能纪要,附带追踪信息
CRITICAL — 取纪要前必读:遇到"查纪要/会议总结/会议纪要/会议要点"等诉求时,必须先按本规则判断走元宝纪要(场景7A)还是录制纪要(场景6),不得仅凭命令名字面匹配。
| 维度 | 元宝纪要(search_minutes / get_minutes) | 录制纪要(get_smart_minutes / search_records / get_transcripts_*) |
|---|---|---|
| 纪要产物 | 完整总结(overview/summary_points/todos)+ 滚动总结(short_summaries) | 智能纪要(基于录制文件的 AI 总结)+ 逐字稿 |
| 生成时机 | 会中(用户开启元宝纪要) | 会后(基于云录制/文字转写/录音/文件上传) |
| 所有权 | 参会者每人一份 | 录制创建者所有 |
| 权限 | 参会者人人可取 | 需录制查看权限,无权限需申请 |
| 链接 | 无(只能取内容) | 有(播放地址) |
| 内容一致性 | 因入会时段不同,各人取到的内容可能不一致 | 基于完整录制文件,多人共享相同内容 |
| 逐字稿 | 无(short_summaries 是 AI 加工版,非原话) | 有(get_transcripts_details,含说话人/时间戳) |
| 场景 | 选择 |
|---|---|
| 只存在一类纪要 | 取存在的那一类 |
| 两类都存在、用户明确指定(如"取录制纪要""看元宝纪要") | 按用户指定走对应链路 |
| 两类都存在、用户未指定 | 先查 get_smart_minutes(录制纪要)或 get_minutes(元宝纪要)任一均可;先查的一种取不到时,继续查另一种(双向兜底)。取到后告知用户纪要来源 |
| 两条链路都取不到 | 告知用户该会议无可取的纪要 |
用户要"原话/逐字稿/谁说了什么"时:
get_transcripts_paragraphs + get_transcripts_details 取逐字稿get_minutes 的 short_summary(滚动总结),必须标注"非原话/AI 加工版",无需先询问用户是否接受降级触发条件 用户要求搜索或查询元宝纪要、会议总结/要点/待办(经边界规则判定走元宝链路)
领域边界:元宝纪要与录制纪要(
get_smart_minutes)是两条独立链路。取纪要前请先阅读上方「元宝纪要与录制纪要的边界规则」判断走哪条链路。
当前仅支持会后获取:元宝纪要在会中生成,但当前工具仅支持取已结束会议的纪要。会议进行中或未开始时,告知用户会后重试。
元宝纪要查询路由
用户说"查纪要/会议总结/会议纪要/会议要点"且确定走元宝链路后,按用户线索选择工具:
| 用户线索 | 入口工具 | 说明 |
|---|---|---|
| 会议号 / 会议 ID | get_minutes(传 meeting_code 或 meeting_id) | 取该会议的元宝纪要 |
已有 minute_id | get_minutes(传 minute_id) | 取单份完整纪要(含滚动总结) |
| 纪要内容关键词(无会议号、记得会上说过什么) | search_minutes(传 q) | 跨会议搜纪要文本 |
| 主题 / 创建人 / 时间范围(无会议号) | 先 search_meetings / get_user_ended_meetings 定位会议,再 get_minutes | 元宝无按主题/创建人直接搜纪要的能力 |
| 要"原话/逐字稿/谁说了什么" | 元宝无逐字稿,走录制链路(场景6);无录制权限时降级取 get_minutes 的 short_summary,标注"非原话/AI 加工版" | 见边界规则「原话/逐字稿降级规则」 |
处理流程
get_minutes 的 meeting_codeget_minutes 的 meeting_idsearch_meetings 拿 meeting_idget_user_ended_meetings 拿 meeting_idsearch_minutesget_minutes(传 meeting_code 或 meeting_id)get_minutes(传 minute_id)get_minutes(传 minute_id + short_summary=true)get_smart_minutes)纪要搜索路由策略(用户说「搜索纪要」「找纪要」「查纪要内容」时的路由规则)
用户表达「搜索纪要」「找一下纪要」「纪要里有没有提到 XXX」等搜索类诉求时,按以下策略路由:
| 步骤 | 判断条件 | 动作 |
|---|---|---|
| ① 检查录制权限 | 先通过上下文判断用户是否有录制权限(如此前调用录制相关工具是否成功、会议查询响应中 records[].permission_status 等) | 若无法判断,可先尝试调用 search_records 探测权限 |
| ② 有录制权限 | 用户 query 为「搜索纪要」「查纪要」等通用纪要搜索 | 优先走录制链路:调用 search_records(q_fields=smart_minutes)搜录制纪要;录制纪要无结果时,再降级调用 search_minutes 搜元宝纪要 |
| ③ 无录制权限 | 用户 query 为通用纪要搜索 | 直接走元宝链路:调用 search_minutes 搜元宝纪要 |
| ④ 细节/原话类问题 | 用户问的是细节问题(如「谁说要延期」「有没有人提到预算」「XX 说了什么」),纪要搜索无结果或纪要粒度不够 | 直接走录制逐字稿:调用 search_records(q_fields=transcript_content)或 search_transcripts 搜索转写原文,逐字稿能提供说话人+时间戳级别的精确匹配 |
| ⑤ 无录制权限 + 需要逐字稿 | 步骤④需要走录制链路但用户无权限 | 引导申请权限:告知用户「该录制需要查看权限才能搜索逐字稿内容,是否需要申请录制权限?」,用户同意后进入场景9(录制权限申请流程) |
路由示例:
search_records(q="排期", q_fields="smart_minutes"),无结果再 search_minutes(q="排期")search_records(q="延期", q_fields="transcript_content") 或 search_transcriptssearch_minutes 搜元宝纪要搜索元宝纪要(search_minutes)
from/to 参数使用 ISO 8601 格式(如 2026-03-20T00:00:00+08:00),按用户输入原值透传page_token/page_size 分页search_records 的区别:search_minutes 搜元宝纪要文本(overview/summary_points/todos/short_summaries);search_records --q_fields transcript_content 搜录制转写原文。两者检索范围不同,按用户要的纪要类型选择查询元宝纪要详情(get_minutes)
支持两种模式:
meeting_id 或 meeting_code 获取稳态纪要;page_token / page_size 控制分页,page_size 默认10,最大30;周期会议需配合 sub_meeting_id 定位实例short_summary=true 且必须同时传入 minute_id(稳态纪要唯一标识),否则报错;page_token / page_size 控制分页,page_size 默认100,最大300注意事项
get_minutes 获取滚动(瞬态)纪要时,必须自动全量拉取:首次调用后检查响应中的 has_more 字段,若为 true 则将响应中的 next_page_token 作为下一次请求的 page_token 继续拉取,循环直到 has_more 为 false,最终将所有分页结果聚合后一次性返回给用户get_minutes 入参识别规则:用户提供的会议标识字符串长度为 9~12 位时视为 meeting_code,更长的视为 meeting_idget_minutes 可选获取概览(overview)、要点(summary_points)、待办(todos)、滚动总结(short_summary),默认获取概览/要点/待办short_summaries 是 AI 加工版,非原话输出规范 展示元宝纪要内容(概览/要点/待办/滚动总结),附带追踪信息。取到纪要后应告知用户纪要来源为"元宝纪要"
触发条件(强制触发 - 优先级最高)
Agent 在执行腾讯会议相关任务过程中遇到以下任何情况时,必须立即暂停当前任务并主动询问用户是否调用 submit_feedback 上报反馈:
强制触发机制
详细触发规则:详见 references/feedback_rules.md
输出规范
上报成功后,向用户简要告知已记录该反馈(含 feedback_id);用户拒绝或未确认时,告知用户"已取消反馈上报"。
触发条件
get_record_addresses/get_transcripts_details/get_transcripts_paragraphs/search_transcripts/get_smart_minutes)返回录制权限不足类错误(如"录制权限校验失败"、"无权限查看录制")时,自动进入该流程处理流程(必须两步完成,严禁跳过预览步骤)
apply_record_permission_prepare 获取申请预览信息(包含会议标题 subject、录制所有者 file_owner、申请人 applicant、申请类型 approval_name 等)apply_record_permission_commit 正式提交申请status、审批说明 message,以及审批链接 approval_url 供用户跟进审批进度注意事项
meeting_record_id 为必填,应从上下文中获取,严禁伪造;来源优先级:会议查询响应中的 records[].meeting_record_id(场景4/5)> get_records_list 返回结果expires_in 表示预览有效期(秒),用户长时间未确认(接近过期)时建议重新调用 prepare输出规范
approval_url,附带追踪信息触发条件(强约束) 用户已表达明确的「会议邀请 / 添加受邀人 / 会中呼叫入会」意图,且仅提供姓名/手机号/邮箱(未提供 open_id),需要将其解析为 open_id 以便立即用于会议动作。
⛔ 调用前必过自检清单(任一为「否」即禁止调用
contact_*工具):
- 当前对话是否已锁定一个具体的会议动作(邀请 / 添加受邀人 / 呼叫入会)?
- 拿到 open_id 后,是否会立即喂给
schedule_meeting/update_meeting/meeting_invitees_*/meeting_control_call的入参?- 用户是否只是想"查人/看某人信息/搜一下是谁"?(若是 → 立即停止,回复"查询通讯录人员信息不在本服务范围内,如需邀请或呼叫该成员入会我可以帮您操作")
- 本轮的邀请/呼叫意图,是否来自用户当前这句话本身,而非"上一轮刚做过邀请"的惯性延续?(若是惯性 → 判定为纯查询,禁止调用)
📌 反面触发词:当用户指令出现"搜索 / 查找 / 查一下 / 看看 / 是谁 / 什么部门 / 什么职位 / 联系方式"等词,且不伴随邀请或呼叫动作时,一律判定为纯查询场景,禁止调用任何
contact_*工具。
处理流程
contact_search(必填 username,可选 job_title / department_name 缩小范围)contact_lookup_by_phonecontact_lookup_by_emailopen_id 后,再用于后续工具(schedule_meeting / update_meeting / meeting_invitees_* / meeting_control_*)注意事项
contact_* 工具调用场景白名单(强约束):contact_* 工具 仅可用于以下两类场景,用于将姓名解析为 open_id:
schedule_meeting / update_meeting / meeting_invitees_add / meeting_invitees_replace 的受邀人入参解析meeting_control_call 的 users 入参解析严禁在其他场景下调用 contact_* 工具,包括但不限于:仅为查看某人部门/职位/联系方式、好奇某人信息、为通用人员搜索目的、为踢人提供 open_id(应用 get_meeting_participants,详见场景12),不得将通讯录工具作为通用人员信息查询接口使用。
username 为必填(强约束):contact_search 的 username 参数为必填,缺失时工具会直接报错。严禁模型自行猜测、编造或截取一个名字调用工具;必须先与用户确认要查找的用户名后再执行。
结果较多时建议追加过滤:当仅按 username 查询返回的成员较多(如同名情况)时,应建议用户补充 job_title 或 department_name 进一步过滤后再次调用 contact_search,提升匹配精准度,减少候选项;不得在用户未确认的情况下自行选择某一条。
唯一命中的返回特性:当 contact_search 搜索结果只有一条时,工具仅返回该成员的 open_id 字段,不会返回 user_name / job_title / department 等其他成员信息。此时模型可直接将该 open_id 用于后续工具(如 meeting_invitees_add / meeting_control_call),无需也无法基于该响应向用户展示部门/职位等字段;如确需展示成员名称用于二次确认,应使用用户原始口径中的姓名,严禁伪造职位/部门信息。
多结果必须由用户确认(强约束):当 contact_search 返回多条候选结果(典型如同名/同部门成员)时,严禁模型基于职位、部门、入职时间、匹配度等任何维度自行选择某一条继续后续操作(如 meeting_invitees_add / meeting_control_call / meeting_control_kick 等)。必须将候选项的关键信息以清晰列表形式展示给用户(仅展示昵称 + 职位 / 部门),并明确询问"请确认要选择哪一项",待用户明确指定后再继续执行。即便其中某条结果看起来"明显更匹配",也必须等待用户确认,不得跳过该步骤。
隐私展示白名单(强约束):通讯录返回的数据可能包含工号、手机号、邮箱等敏感字段。向用户展示时仅允许出现「姓名(昵称)/ 部门 / 职位」三类字段,严禁擅自展示工号、手机号、邮箱、open_id、userid、ms_open_id 等任何其他敏感字段,即便用户的初始输入中包含某项敏感字段也不得在搜索响应中回显原文(如需回显须按 references/privacy_policy.md 脱敏)。
手机号、邮箱属于强敏感信息,调用前禁止在对话中复述明文,必要时按 references/privacy_policy.md 脱敏展示
单次最多 50 个手机号/邮箱,超限时分批查询,严禁自行截断
查询不到用户时,可能是跨企业、用户未加入通讯录、企业关闭了通讯录搜索权限等原因,原样告知用户,禁止猜测
输出规范
open_id 作为内部参数使用,向用户展示时优先昵称open_id,应直接进入后续操作流程(按需向用户用其原始口径中的姓名做二次确认),严禁伪造部门/职位信息触发条件 用户要求查看、添加、移除、替换已有会议的受邀成员
处理流程
get_meeting_by_code 获取 meeting_idget_meeting_invitees 查询当前受邀人列表meeting_invitees_add(增量添加,不影响已有)meeting_invitees_remove(按 open_id 精确移除)meeting_invitees_replace(用新列表完全覆盖;传空数组表示清空所有受邀人)注意事项
remove / replace 属于不可逆操作,二次确认是强制要求(见核心规范"敏感操作")replace 传空数组将清空全部受邀人,必须向用户强调影响并获得明确同意add,严禁自行截断remove + add 两步操作,避免误用 replace 清空其他成员输出规范(强约束 - 受邀人变更专用回复模板)
执行 meeting_invitees_add / meeting_invitees_remove / meeting_invitees_replace 成功后,回复必须严格按以下模板组织字段,且仅展示这些字段:
meeting_code,严禁展示 meeting_id)join_url)附带 X-Tc-Trace / rpcUuid 追踪信息。
「已邀请成员」展示规则(严格遵守):
张三),严禁直接展示 open_id / userid / ms_open_id / 花名 / 邮箱前缀等任何内部标识get_meeting_invitees 响应中的 user_name 字段(变更操作后应再次调用 get_meeting_invitees 获取最新完整列表,从中读取 user_name)open_id 对应"张三")contact_search 反查 open_id 取姓名(该工具仅支持姓名→open_id 正查,不支持反查)未知成员,禁止回退到打印 open_idopen_idget_meeting --meeting-id 补齐,不得遗漏字段或用 - / N/A 占位触发条件 用户要求在进行中的会议中:呼叫某成员加入、踢出某成员
处理流程(呼叫)
get_meeting 校验状态)meeting_control_call(users 最多 20 个 open_id)处理流程(踢人)
确认会议正在进行
必须先调用 get_meeting_participants 查询当前参会成员,从其返回结果中定位待踢成员;严禁使用 contact_search / contact_lookup_by_phone / contact_lookup_by_email 的返回值作为踢人入参
【字段路由表 — 强制,按 get_meeting_participants 返回的 instanceid 判定,禁止凭印象分类】
instanceid | 入参字段 | 使用的 id 字段 |
|---|---|---|
PSTN(电话入会) | pstn_users | ms_open_id |
SIP(SIP 设备) | sip_users | ms_open_id |
其他(Mac / Windows / iOS / Android / Web 等) | users | open_id |
硬规则(必须遵守,跨多轮会话同样适用):
instanceid ∈ {PSTN, SIP} 的成员,严禁放入 users;必须走 pstn_users / sip_users 并使用 ms_open_id。open_id 为空字符串(PSTN/SIP 入会成员的典型特征),必属 PSTN/SIP,严禁放入 users,必须按 instanceid 走对应字段。users:每个待踢成员都必须逐一查 instanceid 后再分桶,尤其在多轮会话上下文较长时,不得凭记忆或惯性归类。数据清洗(建索引/分桶前必做):
get_meeting_participants 会返回带 left_time(非 null)的历史离会记录,必须过滤掉 left_time != null 的条目,避免误匹配/误踢已离会成员。open_id / ms_open_id 为空字符串的键一律跳过,避免空串互相覆盖。users / sip_users / pstn_users 至少一个非空,三者总数 ≤ 20
询问用户 allow_rejoin(是否允许被踢成员重新加入,默认 true=允许)
向用户完整展示被踢名单 + allow_rejoin 取值,获得明确同意后调用 meeting_control_kick
注意事项
references/error_dictionary.md 指引向用户告知get_meeting_participants 中查不到用户口径所指的成员,应原样告知用户"该成员当前不在会议中",严禁回退到 contact_search 反查 open_id 后强行踢人输出规范
allow_rejoin 结果 + 失败成员及原因 + 追踪信息| 工具 | 说明 | 所属场景 |
|---|---|---|
convert_timestamp | 时间转换,获取当前/相对时间,UTC 时间戳转换 | 场景1(前置)、核心规范-时间处理 |
schedule_meeting | 创建会议,支持普通/周期性会议,可选 invitees 一并指定受邀人 | 场景1 |
update_meeting | 修改会议信息,可选 invitees + invitees_operate_type 同步增删替换受邀人 | 场景2、场景11 |
cancel_meeting | 取消会议,支持子会议/整场周期性会议 | 场景3 |
get_meeting | 通过 meeting_id 查询会议详情 | 场景2/3/4 |
get_meeting_by_code | 通过会议号转换为 meeting_id | 通用规则-Code转换 |
get_meeting_participants | 获取参会成员明细 | 场景4 |
get_meeting_invitees | 获取受邀成员列表 | 场景4、场景11(变更前展示) |
get_waiting_room | 查询等候室成员 | 场景4 |
export_participants | 异步导出参会成员统计(含累计参会时长、会议互动行为等统计),返回 job_id | 场景4 |
get_job_result | 获取异步导出任务结果(状态、下载链接) | 场景4 |
manage_waiting_room | 管理会中等候室成员 | 场景5 |
get_user_meetings | 查询未开始/进行中的会议列表 | 场景6 |
get_user_ended_meetings | 查询已结束的历史会议列表 | 场景6 |
search_meetings | 搜索会议列表,支持关键词、搜索字段、会议号、时间窗口等过滤 | 场景6 |
get_records_list | 查询录制文件列表 | 场景7 |
search_records | 搜索录制文件,支持关键词、搜索字段、时间窗口、会议、文件类型等过滤 | 场景7 |
get_record_addresses | 获取录制播放地址 | 场景7 |
get_transcripts_paragraphs | 获取转写段落 ID 列表 | 场景7 |
get_transcripts_details | 通过 pid 获取转写文本 | 场景7 |
search_transcripts | 搜索转写关键词 | 场景7 |
get_smart_minutes | 获取 AI 智能纪要 | 场景7 |
search_minutes | 搜索元宝纪要,支持关键词、时间窗口过滤 | 场景7A |
get_minutes | 查询元宝纪要详情,支持获取概览/要点/待办/滚动总结 | 场景7A |
apply_record_permission_prepare | 录制权限申请-预览,展示申请的会议标题/所有者/申请人等信息供用户确认 | 场景9 |
apply_record_permission_commit | 录制权限申请-提交,用户确认后正式发起申请,返回审批链接 | 场景9 |
contact_search | 按姓名/职位/部门搜索企业通讯录成员(仅限会议邀请、呼叫入会场景),返回 open_id | 场景10 |
contact_lookup_by_phone | 按手机号批量查找企业用户(仅限会议邀请、呼叫入会场景)(最多 50),返回 open_id | 场景10 |
contact_lookup_by_email | 按邮箱批量查找企业用户(仅限会议邀请、呼叫入会场景)(最多 50),返回 open_id | 场景10 |
meeting_invitees_add | 向已创建会议增量添加受邀人(最多 100,仅主持人可操作) | 场景11 |
meeting_invitees_remove | 从会议中移除指定受邀人(仅主持人可操作) | 场景11 |
meeting_invitees_replace | 用新列表整体替换会议受邀人(传空数组=清空,仅主持人可操作) | 场景11 |
meeting_control_call | 会中批量呼叫成员入会(最多 20) | 场景12 |
meeting_control_kick | 会中踢出成员,支持普通/SIP/PSTN,可选 allow_rejoin | 场景12 |
submit_feedback | Agent 意见箱,主动上报工具缺失/错误/能力不足/结果异常/建议(强制触发场景) | 场景8 |
check_skill_version | 检查技能版本更新 | 核心规范-版本管理 |
get_skill_update_preference | 查询本地更新偏好与 snooze 决策(是否需要弹出更新提示) | 核心规范-版本管理 |
set_skill_update_preference | 设置本地更新偏好(snooze 暂不更新 / auto_upgrade / disable_optional_check / enable_optional_check) | 核心规范-版本管理 |