{
  "markdown": "# tencentmeeting-cli\n\n[English](README_EN.md) | 中文\n\n腾讯会议命令行工具（CLI），基于腾讯会议开放平台 OAuth2 授权，支持会议管理、录制管理、参会报告等功能。\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Go Version](https://img.shields.io/badge/Go-1.22+-blue.svg)](https://golang.org)\n\n## 功能特性\n\n- 🔐 **OAuth2 授权登录** — 设备码授权流程，安全无密码\n- 📅 **会议管理** — 创建、查询、更新、取消会议，支持周期性会议，管理受邀成员\n- 🎬 **录制管理** — 查询录制列表、获取下载地址、智能纪要、转写详情与搜索\n- 📊 **参会报告** — 查询参会人列表、等候室成员记录\n- 👥 **通讯录** — 按用户名/职位/部门检索企业通讯录成员\n- 🛠️ **问题排查** — 导出本地日志，支持按时间范围过滤，打包为 zip 文件\n- 🔒 **安全存储** — 凭证使用 AES-256-GCM 加密，明文不落盘\n- 🖥️ **跨平台** — 支持 macOS、Linux、Windows\n\n## 安装\n\n### 第一步：安装 CLI\n\n#### 方式一：通过 npm 安装（推荐）\n\n```bash\nnpm install -g @tencentcloud/tmeet\n```\n\n安装完成后即可直接使用 `tmeet` 命令。\n\n> 💡 如果提示 `npm: command not found`，说明尚未安装 Node.js。请前往 [Node.js 官网](https://nodejs.org/) 下载并安装 LTS 版本（已包含 npm）。\n\n#### 方式二：从源码构建\n\n```bash\ngit clone https://github.com/TencentCloud/tencentmeeting-cli\ncd tencentmeeting-cli\ngo build -ldflags \"-X tmeet/cmd.Version=v1.0.0\" -o tmeet .\n# 或\nmake build VERSION=v1.0.0\n```\n\n### 第二步：安装 CLI-SKILL\n\n```bash\nnpx skills add TencentCloud/tencentmeeting-cli -y -g\n```\n\n## 快速开始\n\n### 1. 登录授权\n\n```bash\ntmeet auth login\n```\n\n执行后会自动尝试打开系统默认浏览器跳转到授权 URL；若无默认浏览器，则输出授权 URL，手动在浏览器中打开完成扫码授权。CLI 自动轮询结果（超时 5 分钟），凭证加密保存到本地。\n\n> 如需禁用自动打开浏览器，可使用 `--no-browser` 参数：`tmeet auth login --no-browser`\n\n### 2. 创建会议\n\n```bash\ntmeet meeting create \\\n  --subject \"周例会\" \\\n  --start \"2026-04-10T10:00+08:00\" \\\n  --end \"2026-04-10T11:00+08:00\"\n```\n\n### 3. 查询会议列表\n\n```bash\n# 查询进行中/即将开始的会议\ntmeet meeting list\n\n# 查询已结束的会议\ntmeet meeting list-ended \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\"\n```\n\n### 4. 登出\n\n```bash\ntmeet auth logout\n```\n\n---\n\n## 全局标志\n\n所有命令均支持以下全局标志：\n\n| 标志 | 简写 | 默认值 | 说明 |\n|------|------|--------|------|\n| `--format` | — | `json` | 输出格式：`json`（紧凑格式）\\| `json-pretty`（缩进格式） |\n| `--compact` | — | `false` | 精简输出模式：仅保留关键字段，过滤冗余字段以降低响应体积，适用于查询/列表类命令 |\n| `--version` | `-V` | — | 查看版本号 |\n\n**示例：**\n\n```bash\n# 查看版本号\ntmeet -V\n\n# 以缩进格式输出响应\ntmeet meeting get --meeting-id \"6953553464429888300\" --format json-pretty\n\n# 以精简模式输出查询结果（仅保留关键字段）\ntmeet record list --meeting-id \"6953553464429888300\" --compact\n```\n\n---\n\n## 分页参数说明\n\n自 `v1.0.5` 起，所有支持分页的命令统一采用 **`--page-token` + `--page-size`** 方案。原先的 `--page` / `--pos` / `--size` 参数被标记为 **deprecated**，仍可使用但不再推荐，未来版本可能移除。\n\n> 说明：`record transcript-get` 的 `--pid` / `--limit` 是该命令用于段落定位的独立参数，**不属于**通用分页参数，未被弃用。\n\n**统一用法：**\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `--page-token` | string | 分页游标。**首次查询不传**；后续翻页请将上一次响应中的 `next_page_token` 传入 |\n| `--page-size` | int | 每页大小，不同命令默认值与上限不同，详见各命令说明 |\n\n**典型分页流程：**\n\n```bash\n# 1) 首次查询（不传 page-token）\ntmeet record list --meeting-id \"6953553464429888300\" --page-size 30\n\n# 2) 从响应中取出 next_page_token，用于下一页\ntmeet record list \\\n  --meeting-id \"6953553464429888300\" \\\n  --page-size 30 \\\n  --page-token \"<next_page_token>\"\n\n# 3) 重复直到 next_page_token 为空，即已到最后一页\n```\n\n**各命令 `--page-size` 默认值/最大值速查：**\n\n| 命令 | 默认值 | 最大值 | 旧参数（已弃用） |\n|------|:---:|:------:|------|\n| `meeting list` | 20  | 20 | — |\n| `meeting list-ended` | 30  | 30 | `--page` |\n| `meeting search` | 30  | 30 | — |\n| `meeting invitees-list` | 30  | 30 | `--pos` |\n| `record list` | 30  | 30 | `--page` |\n| `record address` | 30  | 30 | `--page` |\n| `record search` | 30  | 30 | — |\n| `report participants` | 100 | 100 | `--pos` / `--size` |\n| `report waiting-room-log` | 100 | 100 | `--page` |\n| `minute search` | 20  | 50 | — |\n| `minute get` | 10  | 30 | — |\n\n> `record transcript-get` / `record transcript-paragraphs` / `record transcript-search` 暂不支持基于 `--page-token` 的新分页方案。\n>\n> 兼容性说明：当未传入 `--page-token` 且同时传入了旧分页参数（如 `--page`、`--pos`）时，CLI 会按旧模式发起请求（`page_type=0`）；否则一律按新模式（`page_type=1`）发起请求。\n\n---\n\n## 命令总览\n\n```\ntmeet [--format json|json-pretty] [--compact] [-V]\n├── auth\n│   ├── login          # OAuth 授权登录\n│   ├── logout         # 登出并清除凭证\n│   └── status         # 查看当前登录状态\n├── meeting\n│   ├── create         # 创建会议（支持普通/周期性）\n│   ├── update         # 更新会议信息\n│   ├── cancel         # 取消会议\n│   ├── get            # 获取会议详情\n│   ├── list           # 获取进行中/即将开始的会议列表\n│   ├── list-ended     # 获取已结束的会议列表\n│   ├── search         # 按关键词/会议号/时间范围搜索会议\n│   ├── invitees-list    # 获取会议受邀者列表\n│   ├── invitees-add     # 添加会议受邀者\n│   ├── invitees-remove  # 移除会议受邀者\n│   └── invitees-replace # 替换会议受邀者列表\n├── contact\n│   ├── search         # 搜索企业通讯录成员\n│   ├── lookup-by-email # 通过邮箱反查用户信息\n│   └── lookup-by-phone # 通过手机号反查用户信息\n├── record\n│   ├── list           # 查询录制列表\n│   ├── address        # 获取录制文件下载地址\n│   ├── search         # 按关键词/会议号/会议ID/时间范围搜索录制\n│   ├── smart-minutes  # 获取智能纪要\n│   ├── transcript-get          # 获取转写详情\n│   ├── transcript-paragraphs   # 获取转写段落列表\n│   ├── transcript-search       # 搜索转写内容\n│   ├── permission-apply-prepare # 预览录制权限申请信息（申请前确认）\n│   └── permission-apply-commit  # 提交录制权限申请（用户确认后执行）\n├── report\n│   ├── participants         # 获取参会人列表\n│   ├── waiting-room-log     # 获取等候室成员列表\n│   ├── participants-export  # 导出参会成员明细（异步任务）\n│   └── job-result           # 获取异步任务结果\n├── control\n│   ├── call           # 呼叫成员入会（会中邀请呼叫）\n│   ├── kick           # 将成员踢出会议（会中踢人）\n│   └── waiting-room   # 等候室管理（移入会议/移回等候室/移出）\n├── minute\n│   ├── search         # 按关键词/时间搜索元宝纪要\n│   └── get            # 查询元宝纪要详情\n└── tshoot\n    ├── log               # 导出本地日志（支持按时间范围过滤，可选 --upload 上传至服务器）\n    └── feedback          # 上报问题排查反馈到服务器\n```\n\n---\n\n## 命令参考\n\n### auth — 授权管理\n\n#### `auth login`\n\n登录并完成 OAuth2 授权，将凭证加密保存到本地。\n\n```bash\ntmeet auth login [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--no-browser` | bool | — | `false` | 禁用自动打开浏览器。`false`（默认）会尝试自动打开系统默认浏览器跳转到授权 URL；`true` 则仅输出授权 URL，需用户手动在浏览器中打开 |\n\n执行后会输出授权 URL，CLI 自动轮询授权结果（超时 5 分钟），凭证加密保存到本地。\n\n---\n\n#### `auth logout`\n\n登出并清除本地认证凭证。\n\n```bash\ntmeet auth logout\n```\n\n> 无参数。\n\n---\n\n#### `auth status`\n\n查看当前登录状态，包括 OpenId、AccessToken / RefreshToken 的过期状态和剩余有效时间。\n\n```bash\ntmeet auth status\n```\n\n> 无参数。未登录时提示 `Not logged in`，已登录时展示凭证有效期信息。\n\n---\n\n### meeting — 会议管理\n\n#### `meeting create` — 创建会议\n\n```bash\ntmeet meeting create --subject <主题> --start <开始时间> --end <结束时间> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明                                                                   |\n|------|------|:----:|--------|----------------------------------------------------------------------|\n| `--subject` | string | ✅ | — | 会议主题                                                                 |\n| `--start` | string | ✅ | — | 会议开始时间，ISO 8601，如 `2026-03-12T14:00+08:00`                           |\n| `--end` | string | ✅ | — | 会议结束时间，ISO 8601，如 `2026-03-12T15:00+08:00`                           |\n| `--password` | string | — | — | 会议密码（4~6 位数字）                                                        |\n| `--timezone` | string | — | — | 时区，可参见 Oracle-TimeZone 标准，如 `Asia/Shanghai`                          |\n| `--meeting-type` | int | — | `0` | 会议类型：`0`-普通会议，`1`-周期性会议                                              |\n| `--join-type` | int | — | `0` | 成员入会限制：`1`-所有成员可入会，`2`-仅受邀成员可入会，`3`-仅企业内部成员可入会                       |\n| `--waiting-room` | bool | — | `false` | 是否开启等候室，`true`-开启，`false`-不开启                                        |\n| `--recurring-type` | int | — | `0` | 周期类型（`--meeting-type=1` 时生效）：`0`-每天，`1`-每周一至周五，`2`-每周，`3`-每两周，`4`-每月 |\n| `--until-type` | int | — | `0` | 周期结束类型（`--meeting-type=1` 时生效）：`0`-按日期结束重复，`1`-按次数结束重复               |\n| `--until-count` | int | — | `7` | 限定会议次数（`--meeting-type=1` 时生效）：每天/每个工作日/每周最大 500，每两周/每月最大 50         |\n| `--until-date` | string | — | — | 周期结束日期（`--meeting-type=1` 时生效），ISO 8601，如 `2026-03-12T15:00+08:00`   |\n| `--invitees` | strings | — | — | 邀请成员的 openid 列表，逗号分隔或重复传参（最多 100 人，例如 `--invitees open_id1,open_id2`）          |\n| `--water-mark-type` | int | — | `2` | 文字水印：`0`-单排，`1`-双排，`2`-关闭<br>● 个人账号：默认为2<br>● 企业/组织账号：<br>  ✧ 企业设置强制态-使用企业设置作为强制态，入参不生效<br>  ✧ 企业未设置强制态-使用企业设置作为默认值，入参覆盖默认值 |\n| `--audio-watermark` | bool | — | `false` | 音频水印：`true`-开启，`false`-关闭<br>● 个人账号：默认为false<br>● 企业/组织账号：<br>  ✧ 企业设置强制态-使用企业设置作为强制态，入参不生效<br>  ✧ 企业未设置强制态-使用企业设置作为默认值，入参覆盖默认值 |\n| `--auto-record-type` | string | — | `none` | 主持人入会后自动录制会议：`none`-关，`local`-本地，`cloud`-云录制<br>● 个人账号：默认none<br>● 企业/组织账号：<br>  ✧ 企业设置强制态-使用企业设置作为强制态，入参不生效<br>  ✧ 企业未设置强制态-使用企业设置作为默认值，入参覆盖默认值 |\n| `--auto-asr` | bool | — | `false` | 自动文字转写：`true`-开，`false`-关<br>● 个人账号：默认false<br>● 企业/组织账号：<br>  ✧ 企业设置强制态-使用企业设置作为强制态，入参不生效<br>  ✧ 企业未设置强制态-使用企业设置作为默认值，入参覆盖默认值 |\n\n**示例：**\n\n```bash\n# 创建普通会议\ntmeet meeting create \\\n  --subject \"项目评审\" \\\n  --start \"2026-04-10T14:00+08:00\" \\\n  --end \"2026-04-10T16:00+08:00\" \\\n  --password \"123456\" \\\n  --waiting-room\n\n# 创建每周重复会议（共 10 次）\ntmeet meeting create \\\n  --subject \"每周站会\" \\\n  --start \"2026-04-10T09:30+08:00\" \\\n  --end \"2026-04-10T10:00+08:00\" \\\n  --meeting-type 1 \\\n  --recurring-type 2 \\\n  --until-type 1 \\\n  --until-count 10\n\n# 创建会议并邀请成员\ntmeet meeting create \\\n  --subject \"需求评审\" \\\n  --start \"2026-04-10T14:00+08:00\" \\\n  --end \"2026-04-10T15:00+08:00\" \\\n  --invitees \"open_id1,open_id2,open_id3\"\n\n# 创建会议并显式关闭音频水印 / 自动文字转写\n# 注：bool 参数传 false 必须使用 = 形式，不能用空格\ntmeet meeting create \\\n  --subject \"无水印会议\" \\\n  --start \"2026-04-10T14:00+08:00\" \\\n  --end \"2026-04-10T15:00+08:00\" \\\n  --audio-watermark=false \\\n  --auto-asr=false\n```\n\n---\n\n#### `meeting get` — 查询会议详情\n\n`--meeting-id` 和 `--meeting-code` 二选一，`--meeting-id` 优先级更高。\n\n```bash\ntmeet meeting get --meeting-id <会议ID>\ntmeet meeting get --meeting-code <会议码>\n```\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|:----:|------|\n| `--meeting-id` | string | 二选一 | 会议 ID（优先级高于会议码） |\n| `--meeting-code` | string | 二选一 | 会议码 |\n\n**示例：**\n\n```bash\ntmeet meeting get --meeting-id \"6953553464429888300\"\ntmeet meeting get --meeting-code \"931945029\"\n```\n\n---\n\n#### `meeting update` — 更新会议\n\n仅传入需要修改的字段，未传入的字段保持不变。\n\n```bash\ntmeet meeting update --meeting-id <会议ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明                                                                   |\n|------|------|:----:|--------|----------------------------------------------------------------------|\n| `--meeting-id` | string | ✅ | — | 会议 ID                                                                |\n| `--subject` | string | — | — | 会议主题                                                                 |\n| `--start` | string | — | — | 会议开始时间，ISO 8601，如 `2026-03-12T14:00+08:00`                           |\n| `--end` | string | — | — | 会议结束时间，ISO 8601，如 `2026-03-12T14:00+08:00`                           |\n| `--password` | string | — | — | 会议密码（4~6 位数字）                                                        |\n| `--timezone` | string | — | — | 时区，如 `Asia/Shanghai`                                                 |\n| `--meeting-type` | int | — | `0` | 会议类型：`0`-普通会议，`1`-周期性会议                                              |\n| `--join-type` | int | — | `0` | 成员入会限制：`1`-所有成员可入会，`2`-仅受邀成员可入会，`3`-仅企业内部成员可入会                       |\n| `--waiting-room` | bool | — | `false` | 是否开启等候室                                                              |\n| `--recurring-type` | int | — | `0` | 周期类型（`--meeting-type=1` 时生效）：`0`-每天，`1`-每周一至周五，`2`-每周，`3`-每两周，`4`-每月 |\n| `--until-type` | int | — | `0` | 周期结束类型（`--meeting-type=1` 时生效）：`0`-按日期结束重复，`1`-按次数结束重复               |\n| `--until-count` | int | — | `7` | 限定会议次数（`--meeting-type=1` 时生效）：每天/每个工作日/每周最大 500，每两周/每月最大 50         |\n| `--until-date` | string | — | — | 周期结束日期（`--meeting-type=1` 时生效），ISO 8601，如 `2026-03-12T15:00+08:00`   |\n| `--sub-meeting-id` | string | — | — | 子会议 ID（`--meeting-type=1` 时生效）：仅修改该场子会议的时间；**不可与 `--recurring-type` / `--until-type` / `--until-count` / `--until-date` 同时使用**。不填则修改整个周期性会议 |\n| `--invitees` | strings | — | — | 待变更的邀请成员 openid 列表，逗号分隔或重复传参；与 `--invitees-type` 配合使用              |\n| `--invitees-type` | string | — | — | 邀请变更策略：`replace`-全量替换邀请列表，`add`-新增邀请用户，`remove`-删除邀请用户；当指定 `--invitees` 时必填 |\n\n**示例：**\n\n```bash\ntmeet meeting update \\\n  --meeting-id \"6953553464429888300\" \\\n  --subject \"新主题\" \\\n  --start \"2026-04-10T15:00+08:00\" \\\n  --end \"2026-04-10T16:00+08:00\"\n\n# 全量替换邀请列表\ntmeet meeting update \\\n  --meeting-id \"6953553464429888300\" \\\n  --invitees \"open_id1,open_id2,open_id3\" \\\n  --invitees-type replace\n\n# 新增邀请用户\ntmeet meeting update \\\n  --meeting-id \"6953553464429888300\" \\\n  --invitees \"open_id4,open_id5\" \\\n  --invitees-type add\n\n# 删除邀请用户\ntmeet meeting update \\\n  --meeting-id \"6953553464429888300\" \\\n  --invitees \"open_id1\" \\\n  --invitees-type remove\n\n# 仅修改周期性会议中某一场子会议的时间（不修改周期规则）\ntmeet meeting update \\\n  --meeting-id \"6953553464429888300\" \\\n  --meeting-type 1 \\\n  --sub-meeting-id \"100001\" \\\n  --start \"2026-04-17T10:00+08:00\" \\\n  --end \"2026-04-17T11:00+08:00\"\n\n# 显式关闭音频水印 / 自动文字转写\n# 注：bool 参数传 false 必须使用 = 形式，不能用空格\ntmeet meeting update \\\n  --meeting-id \"6953553464429888300\" \\\n  --audio-watermark=false \\\n  --auto-asr=false\n```\n\n---\n\n#### `meeting cancel` — 取消会议\n\n```bash\ntmeet meeting cancel --meeting-id <会议ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--sub-meeting-id` | string | — | — | 周期性会议子会议 ID，取消周期性会议的某个子会议时需要传入 |\n| `--meeting-type` | int | — | `0` | 会议类型：`0`-普通会议，`1`-周期性会议（取消整场周期性会议时传 `1`） |\n\n**示例：**\n\n```bash\n# 取消普通会议\ntmeet meeting cancel --meeting-id \"6953553464429888300\"\n\n# 取消周期性会议中的某个子会议\ntmeet meeting cancel \\\n  --meeting-id \"6953553464429888300\" \\\n  --sub-meeting-id \"100001\"\n\n# 取消整场周期性会议\ntmeet meeting cancel \\\n  --meeting-id \"6953553464429888300\" \\\n  --meeting-type 1\n```\n\n---\n\n#### `meeting list` — 查询会议列表\n\n查询进行中或即将开始的会议列表。\n\n```bash\ntmeet meeting list [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--start` | string | — | — | 分页查询起始时间值，ISO 8601，如 `2026-03-12T15:00+08:00` |\n| `--end` | string | — | — | 分页查询结束时间值，ISO 8601，如 `2026-03-12T15:00+08:00` |\n| `--show-all-sub` | int | — | `0` | 是否展示全部子会议：`0`-不展示，`1`-展示 |\n| `--page-token` | string | — | — | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `20` | 每页大小，默认 20，最大 20 |\n\n**示例：**\n\n```bash\ntmeet meeting list\ntmeet meeting list \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\" \\\n  --show-all-sub 1\n\n# 翻下一页\ntmeet meeting list --page-token \"<next_page_token>\" --page-size 20\n```\n\n---\n\n#### `meeting list-ended` — 查询已结束会议列表\n\n查询历史已结束的会议列表，支持按时间范围分页查询。\n\n```bash\ntmeet meeting list-ended [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--start` | string | — | — | 查询开始时间，ISO 8601，如 `2026-03-12T15:00+08:00` |\n| `--end` | string | — | — | 查询结束时间，ISO 8601，如 `2026-03-12T15:00+08:00` |\n| `--page-token` | string | — | — | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `30` | 每页大小，默认 30，最大 30 |\n| `--page` | int | — | — | ⚠️ **已弃用**：页码（从 1 开始），请改用 `--page-token` |\n\n**示例：**\n\n```bash\n# 查询本月已结束的会议\ntmeet meeting list-ended \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\"\n\n# 分页查询（使用 page-token）\ntmeet meeting list-ended \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\" \\\n  --page-token \"<next_page_token>\" --page-size 30\n```\n\n---\n\n#### `meeting search` — 搜索会议\n\n按关键词、会议号、时间范围等条件搜索会议。所有过滤参数均为可选，可任意组合。\n\n```bash\ntmeet meeting search [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--query` | string | — | — | 搜索关键词 |\n| `--query-field` | string | — | `all` | `--query` 的搜索字段：`subject`-会议主题；`creator`-创建者昵称/备注名；`note`-用户对会议的备注；`all`-搜索所有字段 |\n| `--meeting-code` | string | — | — | 按会议号过滤（精确匹配，仅数字，无短横线） |\n| `--start` | string | — | — | 搜索时间窗下限（ISO 8601，如 `2026-03-12T15:00+08:00`）。匹配条件：会议预约开始时间、实际开始时间或当前用户加入时间任一落在窗口内 |\n| `--end` | string | — | — | 搜索时间窗上限（ISO 8601，如 `2026-03-12T15:00+08:00`），语义同上 |\n| `--page-token` | string | — | — | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `30` | 每页大小，默认 30，最大 30 |\n\n**示例：**\n\n```bash\n# 按主题关键词搜索\ntmeet meeting search --query \"周例会\" --query-field subject\n\n# 按创建者昵称搜索\ntmeet meeting search --query \"张三\" --query-field creator\n\n# 按会议号精确搜索\ntmeet meeting search --meeting-code \"931945029\"\n\n# 按时间范围搜索\ntmeet meeting search \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\"\n\n# 翻下一页\ntmeet meeting search \\\n  --query \"项目评审\" \\\n  --page-token \"<next_page_token>\" --page-size 30\n```\n\n---\n\n#### `meeting invitees-list` — 查询受邀成员\n\n```bash\ntmeet meeting invitees-list --meeting-id <会议ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--page-token` | string | — | — | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `30` | 每页大小，默认 30，最大 30 |\n| `--pos` | int | — | — | ⚠️ **已弃用**：分页起始位置值，请改用 `--page-token` |\n\n**示例：**\n\n```bash\ntmeet meeting invitees-list --meeting-id \"6953553464429888300\"\n\n# 翻下一页\ntmeet meeting invitees-list \\\n  --meeting-id \"6953553464429888300\" \\\n  --page-token \"<next_page_token>\" --page-size 30\n```\n\n---\n\n#### `meeting invitees-add` — 添加受邀成员\n\n向已存在的会议中追加受邀成员。受邀成员通过用户 `open_id` 指定，可通过 `contact search` 命令查询获得。\n\n```bash\ntmeet meeting invitees-add --meeting-id <会议ID> --invitees <open_id列表>\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--invitees` | strings | ✅ | — | 待添加的受邀成员 `open_id` 列表，支持英文逗号分隔或重复传入该参数，最多 100 个 |\n\n**示例：**\n\n```bash\n# 通过英文逗号分隔传入多个 open_id\ntmeet meeting invitees-add \\\n  --meeting-id \"6953553464429888300\" \\\n  --invitees \"open_id1,open_id2\"\n\n# 重复传入 --invitees 参数\ntmeet meeting invitees-add \\\n  --meeting-id \"6953553464429888300\" \\\n  --invitees \"open_id1\" \\\n  --invitees \"open_id2\"\n```\n\n---\n\n#### `meeting invitees-remove` — 移除受邀成员\n\n从已存在的会议中移除指定的受邀成员。\n\n```bash\ntmeet meeting invitees-remove --meeting-id <会议ID> --invitees <open_id列表>\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--invitees` | strings | ✅ | — | 待移除的受邀成员 `open_id` 列表，支持英文逗号分隔或重复传入该参数，最多 100 个 |\n\n**示例：**\n\n```bash\ntmeet meeting invitees-remove \\\n  --meeting-id \"6953553464429888300\" \\\n  --invitees \"open_id1,open_id2\"\n```\n\n---\n\n#### `meeting invitees-replace` — 替换受邀成员列表\n\n使用新的成员列表整体替换会议当前的受邀成员列表（未在 `--invitees` 中的成员将被移除）。\n\n```bash\ntmeet meeting invitees-replace --meeting-id <会议ID> --invitees <open_id列表>\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--invitees` | strings | ✅ | — | 替换后的受邀成员 `open_id` 列表，支持英文逗号分隔或重复传入该参数，最多 100 个 |\n\n**示例：**\n\n```bash\ntmeet meeting invitees-replace \\\n  --meeting-id \"6953553464429888300\" \\\n  --invitees \"open_id1,open_id2,open_id3\"\n```\n\n---\n\n### record — 录制管理\n\n#### `record list` — 查询录制列表\n\n以下三组参数**任选其一**（均不传则报错）：\n- `--start` + `--end`（时间范围）\n- `--meeting-id`（会议 ID）\n- `--meeting-code`（会议号）\n\n```bash\ntmeet record list (--start <开始时间> --end <结束时间> | --meeting-id <ID> | --meeting-code <会议号>) [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--start` | string | 三选一 | — | 查询开始时间，ISO 8601，如 `2026-03-12T14:00+08:00` |\n| `--end` | string | 三选一 | — | 查询结束时间，ISO 8601，如 `2026-03-12T14:00+08:00`（与 `--start` 配合使用） |\n| `--meeting-id` | string | 三选一 | — | 会议 ID |\n| `--meeting-code` | string | 三选一 | — | 会议号 |\n| `--page-token` | string | — | — | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `30` | 每页大小，默认 30，最大 30 |\n| `--page` | int | — | — | ⚠️ **已弃用**：页码（从 1 开始），请改用 `--page-token` |\n\n**示例：**\n\n```bash\n# 按时间范围查询\ntmeet record list \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\" \\\n  --page-token \"<next_page_token>\" --page-size 30\n\n# 按会议 ID 查询\ntmeet record list --meeting-id \"6953553464429888300\"\n\n# 按会议号查询\ntmeet record list --meeting-code \"931945029\"\n```\n\n---\n\n#### `record address` — 获取录制下载地址\n\n```bash\ntmeet record address --meeting-record-id <录制ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-record-id` | string | ✅ | — | 会议录制 ID |\n| `--page-token` | string | — | — | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `30` | 每页大小，默认 30，最大 30 |\n| `--page` | int | — | — | ⚠️ **已弃用**：页码（从 1 开始），请改用 `--page-token` |\n\n**示例：**\n\n```bash\ntmeet record address --meeting-record-id \"record_abc123\"\n\n# 翻下一页\ntmeet record address \\\n  --meeting-record-id \"record_abc123\" \\\n  --page-token \"<next_page_token>\" --page-size 30\n```\n\n---\n\n#### `record search` — 搜索录制\n\n按关键词、会议号、会议 ID、时间范围、文件类型等条件搜索录制。所有过滤参数均为可选，可任意组合。\n\n```bash\ntmeet record search [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--query` | string | — | — | 搜索关键词 |\n| `--query-field` | string | — | `all` | `--query` 的搜索字段：`subject`-录制主题；`creator`-会议创建者昵称/备注名；`transcript_content`-文件中的原始转写内容；`smart_minutes`-文件中的智能纪要内容（摘要 + 待办）；`timeline`-文件中的时间轴内容；`all`-搜索所有字段 |\n| `--file-type` | string | — | `all` | 文件类型：`video`、`audio`、`transcript`、`upload`、`external`、`all` |\n| `--meeting-id` | string | — | — | 按会议 ID 过滤 |\n| `--meeting-code` | string | — | — | 按会议号过滤（精确匹配，仅数字，无短横线） |\n| `--start` | string | — | — | 查询开始时间（ISO 8601，如 `2026-03-12T14:00+08:00`） |\n| `--end` | string | — | — | 查询结束时间（ISO 8601，如 `2026-03-12T14:00+08:00`） |\n| `--page-token` | string | — | — | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `30` | 每页大小，默认 30，最大 30 |\n\n**示例：**\n\n```bash\n# 按转写内容关键词搜索\ntmeet record search --query \"季度目标\" --query-field transcript_content\n\n# 按智能纪要内容搜索\ntmeet record search --query \"待办\" --query-field smart_minutes\n\n# 按会议 ID 过滤\ntmeet record search --meeting-id \"6953553464429888300\"\n\n# 按时间范围 + 文件类型搜索\ntmeet record search \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\" \\\n  --file-type video\n\n# 翻下一页\ntmeet record search \\\n  --query \"项目评审\" \\\n  --page-token \"<next_page_token>\" --page-size 30\n```\n\n---\n\n#### `record smart-minutes` — 获取智能纪要\n\n```bash\ntmeet record smart-minutes --record-file-id <文件ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--record-file-id` | string | ✅ | — | 录制文件 ID |\n| `--lang` | string | — | `default` | 翻译语言选择：`default`-原文（不翻译），`zh`-简体中文，`en`-英文，`ja`-日语 |\n| `--pwd` | string | — | — | 录制文件访问密码 |\n\n**示例：**\n\n```bash\ntmeet record smart-minutes --record-file-id \"file_abc123\" --lang zh\n```\n\n---\n\n#### `record transcript-get` — 获取转写详情\n\n```bash\ntmeet record transcript-get --record-file-id <文件ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--record-file-id` | string | ✅ | — | 录制文件 ID |\n| `--meeting-id` | string | — | — | 会议 ID |\n| `--pid` | string | — | — | 查询的起始段落 ID |\n| `--limit` | string | — | — | 查询的段落数 |\n\n**示例：**\n\n```bash\ntmeet record transcript-get --record-file-id \"file_abc123\"\n\n# 指定起始段落与数量\ntmeet record transcript-get --record-file-id \"file_abc123\" --pid \"<paragraph_id>\" --limit \"30\"\n```\n\n---\n\n#### `record transcript-paragraphs` — 获取转写段落列表\n\n```bash\ntmeet record transcript-paragraphs --record-file-id <文件ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--record-file-id` | string | ✅ | — | 录制文件 ID |\n| `--meeting-id` | string | — | — | 会议 ID |\n\n**示例：**\n\n```bash\ntmeet record transcript-paragraphs --record-file-id \"file_abc123\"\n\n# 指定会议 ID\ntmeet record transcript-paragraphs \\\n  --record-file-id \"file_abc123\" \\\n  --meeting-id \"6953553464429888300\"\n```\n\n---\n\n#### `record transcript-search` — 搜索转写内容\n\n```bash\ntmeet record transcript-search --record-file-id <文件ID> --text <关键词> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--record-file-id` | string | ✅ | — | 录制文件 ID |\n| `--text` | string | ✅ | — | 搜索关键词 |\n| `--meeting-id` | string | — | — | 会议 ID |\n\n**示例：**\n\n```bash\ntmeet record transcript-search --record-file-id \"file_abc123\" --text \"季度目标\"\n```\n\n---\n\n#### `record permission-apply-prepare` — 预览录制权限申请\n\n申请录制权限前先调用本命令获取审批文案/会议主题/录制所有者等信息，**展示给用户二次确认后**再执行 `record permission-apply-commit` 真正提交申请。\n\n```bash\ntmeet record permission-apply-prepare --meeting-record-id <录制ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-record-id` | string | ✅ | — | 会议录制 ID |\n| `--meeting-id` | string | — | — | 会议 ID |\n\n**示例：**\n\n```bash\ntmeet record permission-apply-prepare --meeting-record-id \"record_abc123\"\n```\n\n响应 `data` 主要字段：\n\n| 字段 | 说明 |\n|------|------|\n| `preview.meeting_record_id` | 会议录制 ID |\n| `preview.approval_name` | 申请类型文案 |\n| `preview.subject` | 会议标题 |\n| `preview.file_owner` | 录制所有者名称 |\n| `preview.apply_note` | 权限申请备注信息 |\n| `preview.applicant` | 申请人名称 |\n| `expires_in` | 过期时间（秒） |\n\n---\n\n#### `record permission-apply-commit` — 提交录制权限申请\n\n**写操作**：在 `permission-apply-prepare` 获取预览信息并经用户确认后调用，正式发起权限申请审批流程。\n\n```bash\ntmeet record permission-apply-commit --meeting-record-id <录制ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-record-id` | string | ✅ | — | 会议录制 ID |\n| `--meeting-id` | string | — | — | 会议 ID |\n\n**示例：**\n\n```bash\ntmeet record permission-apply-commit --meeting-record-id \"record_abc123\"\n```\n\n响应 `data` 主要字段：\n\n| 字段 | 说明 |\n|------|------|\n| `unique_id` | 申请 ID |\n| `status` | 审批状态 |\n| `message` | 审批状态描述 |\n| `approval_url` | 审批链接 |\n| `share_text` | 申请说明描述 |\n\n---\n\n### contact — 通讯录\n\n#### `contact search` — 搜索企业通讯录成员\n\n按用户名搜索企业通讯录成员，支持通过职位或部门进一步过滤搜索结果。\n\n```bash\ntmeet contact search --username <用户名> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--username` | string | ✅ | — | 要搜索的用户名 |\n| `--job-title` | string | — | — | 当用户名搜索结果过多时，用于过滤的职位名称 |\n| `--department-name` | string | — | — | 当用户名搜索结果过多时，用于过滤的部门名称 |\n\n**示例：**\n\n```bash\n# 按用户名搜索\ntmeet contact search --username \"张三\"\n\n# 用户名 + 职位过滤\ntmeet contact search --username \"张三\" --job-title \"工程师\"\n\n# 用户名 + 部门过滤\ntmeet contact search --username \"张三\" --department-name \"研发部\"\n```\n\n---\n\n#### `contact lookup-by-email` — 通过邮箱反查用户信息\n\n通过邮箱地址反查用户详细信息，支持批量查询多个邮箱。\n\n```bash\ntmeet contact lookup-by-email --emails <邮箱地址列表>\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--emails` | []string | ✅ | — | 邮箱地址列表，多个邮箱用逗号分隔或重复使用该参数，最多50个<br>例如：--emails user1@example.com,user2@example.com 或 --emails user1@example.com --emails user2@example.com |\n\n**示例：**\n\n```bash\n# 查询单个邮箱\ntmeet contact lookup-by-email --emails \"user@example.com\"\n\n# 批量查询多个邮箱\ntmeet contact lookup-by-email --emails \"user1@example.com,user2@example.com,user3@example.com\"\n```\n\n---\n\n#### `contact lookup-by-phone` — 通过手机号反查用户信息\n\n通过手机号反查用户详细信息，支持批量查询多个手机号。\n\n```bash\ntmeet contact lookup-by-phone --phones <手机号列表>\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--phones` | []string | ✅ | — | 手机号列表，多个手机号用逗号分隔或重复使用该参数，最多50个<br>例如：--phones 13800138000,13900139000 或 --phones 13800138000 --phones 13900139000 |\n\n**示例：**\n\n```bash\n# 查询单个手机号\ntmeet contact lookup-by-phone --phones \"13800138000\"\n\n# 批量查询多个手机号\ntmeet contact lookup-by-phone --phones \"13800138000,13900139000,13700137000\"\n```\n\n---\n\n### report — 参会报告\n\n#### `report participants` — 查询参会人列表\n\n```bash\ntmeet report participants --meeting-id <会议ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值   | 说明                                         |\n|------|------|:----:|-------|--------------------------------------------|\n| `--meeting-id` | string | ✅ | —     | 会议 ID                                      |\n| `--sub-meeting-id` | string | — | —     | 周期性会议子会议 ID                                |\n| `--start` | string | — | —     | 查询起始时间，ISO 8601，如 `2026-03-12T14:00+08:00` |\n| `--end` | string | — | —     | 查询结束时间，ISO 8601，如 `2026-03-12T14:00+08:00` |\n| `--page-token` | string | — | —     | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传  |\n| `--page-size` | int | — | `100` | 每页大小，默认 100，最大 100                         |\n| `--pos` | int | — | —     | ⚠️ **已弃用**：分页起始位置值，请改用 `--page-token`      |\n| `--size` | int | — | —     | ⚠️ **已弃用**：每页条数，请改用 `--page-size`          |\n\n**示例：**\n\n```bash\ntmeet report participants --meeting-id \"6953553464429888300\" --page-size 50\ntmeet report participants \\\n  --meeting-id \"6953553464429888300\" \\\n  --start \"2026-04-10T10:00+08:00\" \\\n  --end \"2026-04-10T11:00+08:00\"\n\n# 翻下一页\ntmeet report participants \\\n  --meeting-id \"6953553464429888300\" \\\n  --page-token \"<next_page_token>\" --page-size 50\n```\n\n---\n\n#### `report waiting-room-log` — 查询等候室成员\n\n```bash\ntmeet report waiting-room-log --meeting-id <会议ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值   | 说明                                        |\n|------|------|:----:|-------|-------------------------------------------|\n| `--meeting-id` | string | ✅ | —     | 会议 ID                                     |\n| `--page-token` | string | — | —     | 分页游标，从上一次响应中返回的 `next_page_token` 获取，首页不传 |\n| `--page-size` | int | — | `100` | 每页大小，默认 100，最大 100                        |\n| `--page` | int | — | —     | ⚠️ **已弃用**：页码，请改用 `--page-token`          |\n\n**示例：**\n\n```bash\ntmeet report waiting-room-log --meeting-id \"6953553464429888300\" --page-size 50\n\n# 翻下一页\ntmeet report waiting-room-log \\\n  --meeting-id \"6953553464429888300\" \\\n  --page-token \"<next_page_token>\" --page-size 50\n```\n\n---\n\n#### `report participants-export` — 导出参会成员明细\n\n异步导出会议参会成员明细，本命令仅提交导出任务并返回 `job_id`，需配合 `report job-result` 轮询任务状态获取下载链接。\n\n```bash\ntmeet report participants-export --meeting-id <会议ID> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--sub-meeting-id` | string | — | — | 周期性会议子会议 ID |\n| `--start` | string | — | — | 查询起始时间，ISO 8601，如 `2026-03-12T14:00+08:00` |\n| `--end` | string | — | — | 查询结束时间，ISO 8601，如 `2026-03-12T14:00+08:00` |\n| `--file-type` | string | — | `xlsx` | 导出文件格式：`xlsx` 或 `json` |\n\n**响应关键字段：**\n\n| 字段 | 说明 |\n|------|------|\n| `job_id` | 异步任务 ID（用于轮询任务状态） |\n\n> 本命令仅返回 `job_id`，不会自动等待任务完成。获取 `job_id` 后，需每隔 5 秒调用 `report job-result` 轮询任务状态，直到 status 为 \"成功\" 时获取下载链接，或 status 非 \"处理中\" 时终止。\n\n**示例：**\n\n```bash\n# 导出会议参会成员明细（默认 xlsx 格式）\ntmeet report participants-export --meeting-id \"6953553464429888300\"\n\n# 导出为 json 格式\ntmeet report participants-export \\\n  --meeting-id \"6953553464429888300\" \\\n  --file-type \"json\"\n\n# 导出周期性会议某个子会议的参会成员\ntmeet report participants-export \\\n  --meeting-id \"6953553464429888300\" \\\n  --sub-meeting-id \"200000001\"\n\n# 按时间范围过滤\ntmeet report participants-export \\\n  --meeting-id \"6953553464429888300\" \\\n  --start \"2026-04-10T14:00+08:00\" \\\n  --end \"2026-04-10T15:00+08:00\"\n```\n\n---\n\n#### `report job-result` — 获取异步任务结果\n\n查询异步导出任务的执行状态与结果。调用 `participants-export` 获取 `job_id` 后，需每隔 5 秒调用本命令轮询，直到任务完成或失败。\n\n```bash\ntmeet report job-result --job-id <任务ID>\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--job-id` | string | ✅ | — | 任务 ID（从 `participants-export` 获取） |\n\n**响应关键字段：**\n\n| 字段 | 说明 |\n|------|------|\n| `status` | 任务状态：\"成功\"、\"失败\"、\"处理中\" |\n| `url` | 文件下载链接（状态为 \"成功\" 时返回，有效期 2 小时） |\n| `error_msg` | 错误信息（状态为 \"失败\" 时返回） |\n\n**示例：**\n\n```bash\n# 查询异步任务结果\ntmeet report job-result --job-id \"e1234567-f123-4d12-123a-12346192e332\"\n```\n\n**导出参会成员明细完整工作流：**\n\n```\n1. 提交导出任务，获取 job_id\n   tmeet report participants-export --meeting-id \"6953553464429888300\"\n\n2. 每隔 5 秒调用 job-result 轮询任务状态\n   tmeet report job-result --job-id <job_id>\n\n3. 根据返回的 status 判断：\n   - status = \"成功\"：返回文件下载链接 url（有效期 2 小时），流程结束\n   - status = \"处理中\"：等待 5 秒后再次调用 job-result 继续轮询\n   - status = \"失败\" 或其他值：终止并返回 error_msg\n```\n\n---\n\n### control — 会中控制\n\n会中控制相关命令，用于在会议进行中对参会成员执行呼叫、踢出等管理操作。受邀成员通过用户 `open_id` 指定，可通过 `contact search` 命令查询获得。\n\n#### `control call` — 呼叫成员入会\n\n会中邀请呼叫，向指定成员发起入会呼叫。\n\n```bash\ntmeet control call --meeting-id <会议ID> --users <open_id列表>\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--users` | strings | ✅ | — | 待呼叫的成员 `open_id` 列表，支持英文逗号分隔或重复传入该参数，最多 20 个 |\n\n**示例：**\n\n```bash\n# 通过英文逗号分隔传入多个 open_id\ntmeet control call \\\n  --meeting-id \"6953553464429888300\" \\\n  --users \"open_id1,open_id2\"\n\n# 重复传入 --users 参数\ntmeet control call \\\n  --meeting-id \"6953553464429888300\" \\\n  --users \"open_id1\" \\\n  --users \"open_id2\"\n```\n\n---\n\n#### `control waiting-room` — 等候室管理\n\n管理会议中等候室成员，支持三种操作类型：\n\n- **enter-meeting**：主持人将等候室成员移入会议\n- **back-to-waiting**：主持人将会中成员移回等候室\n- **expel**：主持人将等候室成员移出（踢出会议）\n\n```bash\ntmeet control waiting-room --meeting-id <会议ID> --operate-type <操作类型> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--operate-type` | string | ✅ | — | 操作类型：`enter-meeting`（主持人将等候室成员移入会议）、`back-to-waiting`（主持人将会中成员移入等候室）、`expel`（主持人将等候室成员移出） |\n| `--users` | strings | 三选一 | — | 待操作的普通成员 `open_id` 列表（不含 Sip/Pstn 设备），支持英文逗号分隔或重复传入该参数 |\n| `--sip-users` | strings | 三选一 | — | 待操作的 Sip 设备 `ms_open_id` 列表，支持英文逗号分隔或重复传入该参数 |\n| `--pstn-users` | strings | 三选一 | — | 待操作的 Pstn 设备 `ms_open_id` 列表，支持英文逗号分隔或重复传入该参数 |\n| `--allow-rejoin` | bool | ❌ | — | 移出后是否允许再次加入会议（仅 `--operate-type=expel` 时生效）； |\n\n> `--users` / `--sip-users` / `--pstn-users` **三者至少必填一种**，且**三者总数合计最多 20 个**。\n\n**示例：**\n\n```bash\n# 将等候室成员移入会议\ntmeet control waiting-room \\\n  --meeting-id \"6953553464429888300\" \\\n  --operate-type enter-meeting \\\n  --users \"open_id1,open_id2\"\n\n# 将会中成员移回等候室\ntmeet control waiting-room \\\n  --meeting-id \"6953553464429888300\" \\\n  --operate-type back-to-waiting \\\n  --users \"open_id1,open_id2\"\n\n# 将等候室成员移出，不允许再次加入\ntmeet control waiting-room \\\n  --meeting-id \"6953553464429888300\" \\\n  --operate-type expel \\\n  --users \"open_id1,open_id2\"\n\n# 将等候室成员移出，允许再次加入会议\ntmeet control waiting-room \\\n  --meeting-id \"6953553464429888300\" \\\n  --operate-type expel \\\n  --allow-rejoin \\\n  --users \"open_id1,open_id2\"\n\n# 将等候室成员移出，显式不允许再次加入会议\n# 注意：bool 类型显式设为 false 时必须使用等号语法 --allow-rejoin=false，不能写成 --allow-rejoin false\ntmeet control waiting-room \\\n  --meeting-id \"6953553464429888300\" \\\n  --operate-type expel \\\n  --allow-rejoin=false \\\n  --users \"open_id1,open_id2\"\n\n# 同时操作 sip 设备和 pstn 设备\ntmeet control waiting-room \\\n  --meeting-id \"6953553464429888300\" \\\n  --operate-type expel \\\n  --sip-users \"ms_open_id_sip1\" \\\n  --pstn-users \"ms_open_id_pstn1\"\n```\n\n---\n\n#### `control kick` — 踢出会议成员\n\n会中踢人，将指定成员从会议中踢出。\n\n```bash\ntmeet control kick --meeting-id <会议ID> [--users <open_id列表>] [--sip-users <ms_open_id列表>] [--pstn-users <ms_open_id列表>] [--allow-rejoin]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--meeting-id` | string | ✅ | — | 会议 ID |\n| `--users` | strings | 三选一 | — | 待踢出的普通成员 `open_id` 列表（不包含 Sip/Pstn 设备），支持英文逗号分隔或重复传入该参数 |\n| `--sip-users` | strings | 三选一 | — | 待踢出的 Sip 设备 `ms_open_id` 列表，支持英文逗号分隔或重复传入该参数 |\n| `--pstn-users` | strings | 三选一 | — | 待踢出的 Pstn 设备 `ms_open_id` 列表，支持英文逗号分隔或重复传入该参数 |\n| `--allow-rejoin` | bool | ❌ | `true` | 被踢出的成员是否允许重新加入会议；不传则默认 `true`（允许重新入会），传 `--allow-rejoin=false` 不允许重新入会 |\n\n> `--users` / `--sip-users` / `--pstn-users` **三者至少必填一种**，且**三者总数合计最多 20 个**。\n\n**示例：**\n\n```bash\n# 踢出普通成员\ntmeet control kick \\\n  --meeting-id \"6953553464429888300\" \\\n  --users \"open_id1,open_id2\"\n\n# 同时踢出普通成员、Sip 设备、Pstn 设备（三者合计不超过 20）\ntmeet control kick \\\n  --meeting-id \"6953553464429888300\" \\\n  --users \"open_id1\" \\\n  --sip-users \"ms_open_id_sip1\" \\\n  --pstn-users \"ms_open_id_pstn1\"\n\n# 不允许被踢成员重新入会\ntmeet control kick \\\n  --meeting-id \"6953553464429888300\" \\\n  --allow-rejoin=false \\\n  --users \"open_id1,open_id2\"\n```\n\n---\n\n### minute — 元宝纪要\n\n#### `minute search` — 搜索元宝纪要\n\n按关键词、时间范围搜索元宝纪要。所有过滤参数均为可选，可任意组合。\n\n```bash\ntmeet minute search [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--query` | string | ❌ | — | 搜索关键词，最多 50 字 |\n| `--start` | string | ❌ | — | 搜索时间下界（ISO 8601，如 `2026-03-12T14:00+08:00`） |\n| `--end` | string | ❌ | — | 搜索时间上界（ISO 8601，如 `2026-03-12T14:00+08:00`） |\n| `--page-token` | string | ❌ | — | 分页游标，首页不传；翻页时传入上一次响应的 `next_page_token` |\n| `--page-size` | int | ❌ | `20` | 每页大小，默认 20，最大 50 |\n\n**示例：**\n\n```bash\n# 按关键词搜索\ntmeet minute search --query \"季度目标\"\n\n# 按时间范围搜索\ntmeet minute search \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\"\n\n# 关键词 + 时间范围组合搜索\ntmeet minute search \\\n  --query \"项目评审\" \\\n  --start \"2026-04-01T00:00+08:00\" \\\n  --end \"2026-04-30T23:59+08:00\"\n\n# 翻下一页\ntmeet minute search \\\n  --query \"项目评审\" \\\n  --page-token \"<next_page_token>\" --page-size 20\n```\n\n---\n\n#### `minute get` — 查询元宝纪要详情\n\n通过纪要 ID 或会议 ID 查询元宝纪要详情。`--minute-id`、`--meeting-id` 二选一。\n\n```bash\ntmeet minute get (--minute-id <纪要ID> | --meeting-id <会议ID>) [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--minute-id` | string | 二选一 | — | 纪要唯一标识 |\n| `--meeting-id` | string | 二选一 | — | 会议 ID（周期级），需配合 `--sub-meeting-id` 定位实例 |\n| `--sub-meeting-id` | string | — | — | 子会议 ID（周期会议实例）；非周期会议不传 |\n| `--overview` | bool | — | `true` | 是否获取会议概览 |\n| `--summary-points` | bool | — | `true` | 是否获取要点 |\n| `--todos` | bool | — | `true` | 是否获取待办 |\n| `--short-summary` | bool | — | `false` | 是否获取滚动总结历史序列 |\n| `--page-token` | string | — | — | 分页游标，当一个 `meeting_id` 返回多份纪要时可用 |\n| `--page-size` | int | — | `10` | 每页大小，默认 10，最大 30 |\n\n**示例：**\n\n```bash\n# 按纪要 ID 查询\ntmeet minute get --minute-id \"minute_abc123\"\n\n# 按会议 ID 查询\ntmeet minute get --meeting-id \"6953553464429888300\"\n\n# 按会议 ID + 子会议 ID 查询（周期性会议）\ntmeet minute get \\\n  --meeting-id \"6953553464429888300\" \\\n  --sub-meeting-id \"100001\"\n\n# 仅获取概览和待办，不获取要点\ntmeet minute get \\\n  --meeting-id \"6953553464429888300\" \\\n  --summary-points=false\n\n# 翻下一页（当一个会议有多份纪要时）\ntmeet minute get \\\n  --meeting-id \"6953553464429888300\" \\\n  --page-token \"<next_page_token>\" --page-size 10\n```\n\n---\n\n### tshoot — 问题排查\n\n#### `tshoot log` — 导出本地日志\n\n将本地日志打包为 zip 文件，输出到 `~/tmeet_ts_{datetime}.zip`，可用于问题排查。支持按时间范围过滤，不传时间参数则导出全部日志。\n\n```bash\ntmeet tshoot log [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--start` | string | 与 `--end` 同时使用 | — | 日志查询开始时间，ISO 8601，如 `2026-03-12T14:00+08:00` |\n| `--end` | string | 与 `--start` 同时使用 | — | 日志查询结束时间，ISO 8601，如 `2026-03-12T15:00+08:00` |\n| `--upload` | bool | 否 | `false` | 上传日志到服务器，需要登录 |\n\n> `--start` 和 `--end` 必须同时传入或同时不传。\n\n**示例：**\n\n```bash\n# 导出全部日志\ntmeet tshoot log\n\n# 导出指定时间范围内的日志\ntmeet tshoot log \\\n  --start \"2026-04-10T00:00+08:00\" \\\n  --end \"2026-04-10T23:59+08:00\"\n\n# 导出日志并上传到服务器（需要登录）\ntmeet tshoot log --upload\n```\n\n输出示例：\n```\noutput log saved to: ~/tmeet_ts_20260410_153000.zip\n```\n\n---\n\n#### `tshoot feedback` — 上报问题排查反馈\n\n将 Agent 在使用 CLI 过程中遇到的问题或建议上报至服务器，便于后续优化工具能力。\n\n```bash\ntmeet tshoot feedback --category <分类> --intent <原始意图> [选项]\n```\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|:----:|--------|------|\n| `--category` | string | ✅ | — | 反馈分类，可选值：`tool_not_found`（想做某事但找不到匹配工具）、`tool_error`（调用工具但返回错误）、`tool_inadequate`（工具存在但能力/参数不足）、`unexpected_result`（调用成功但结果未达预期）、`suggestion`（一般性建议或改进想法） |\n| `--intent` | string | ✅ | — | Agent 的原始意图，最多 200 字符 |\n| `--actions-tried` | string | — | — | Agent 已尝试过的动作，最多 500 字符 |\n| `--result` | string | — | — | 已尝试动作的结果或阻塞点，最多 500 字符 |\n| `--tool-name` | string | — | — | 使用的工具/命令名 |\n| `--error-code` | string | — | — | 工具返回的错误码 |\n\n**示例：**\n\n```bash\n# 反馈：找不到匹配工具\ntmeet tshoot feedback \\\n  --category \"tool_not_found\" \\\n  --intent \"想批量导出某个时间段的所有会议纪要\" \\\n  --actions-tried \"查看了 record 和 meeting 子命令\" \\\n  --result \"未找到批量导出纪要的命令\"\n\n# 反馈：工具调用返回错误\ntmeet tshoot feedback \\\n  --category \"tool_error\" \\\n  --intent \"获取录制下载地址\" \\\n  --tool-name \"record address\" \\\n  --error-code \"200003\" \\\n  --result \"接口返回权限不足\"\n\n# 反馈：一般性建议\ntmeet tshoot feedback \\\n  --category \"suggestion\" \\\n  --intent \"希望支持按主题模糊搜索会议\"\n```\n\n> 该命令需要登录后才能使用。\n\n---\n\n## 安全与风险提示（使用前必读）\n\n---\n**腾讯会议 CLI 工具接入 OpenClaw 等AI Agent 并获得您的授权后，AI 将会获得你在腾讯会议的数据访问权限（包括但不限于您的详细用户信息、管理和查询会议、录制和纪要等文件查询导出），并以您的用户身份在授权范围内执行操作。尽管工具有安全防护，AI仍可能因模型幻觉、提示词注入、投毒攻击、执行偏差不可控等原因，导致数据泄露、越权操作等执行非预期操作的高风险后果，请您谨慎操作和使用，并遵循你所在企业的数据安全等内部管理要求，避免造成数据丢失、泄露等损失。若怀疑泄露或需停用，请立即执行登出命令 `tmeet auth logout`。**\n\n**请您充分理解并接受上述风险后再使用本工具，安装使用CLI后即视为您自愿承担相关责任。**\n\n\n\n## 配置说明\n\n配置文件默认存储在 `~/.tmeet/` 目录下，支持通过环境变量覆盖：\n\n| 环境变量 | 说明 | 默认值 |\n|----------|------|--------|\n| `TMEET_CLI_CONFIG_DIR` | 配置文件目录 | `~/.tmeet/` |\n| `TMEET_CLI_DATA_DIR` | 加密数据目录 | 平台相关默认路径 |\n\n> **注意**：所有时间参数均使用 **ISO 8601** 格式，例如 `2026-04-10T14:00+08:00`。响应中的时间戳字段会自动转换为 ISO 8601 格式展示。\n\n## 贡献指南\n\n欢迎提交 Issue 和 Pull Request，请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n## 安全\n\n如发现安全漏洞，请参阅 [SECURITY.md](SECURITY.md) 了解如何私下报告。\n\n## 许可证\n\n本项目基于 [MIT License](LICENSE) 开源。",
  "bytes": 39612,
  "sha": "b0f217cb48fc67bfd44332c18be04ea4fe6ee1593e6195e9358913b14cfb0024",
  "repo_slug": "tencentcloud/tencentmeeting-cli",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_tencentcloud_tencentmeeting_cli_tmeet_sk_562379ca/readme"
}