---
name: wecom-unified
description: "企业微信 CLI 全能套件，覆盖通讯录、文档、在线表格、智能表格、智能文档、日程、会议、待办、微盘、邮件、消息、媒体文件等业务域。支持按姓名/拼音/英文名/别名查找联系人与 userid，搜索、重命名和授权文档，新建与读写 doc 在线文档，创建与修改在线表格，创建/导入并读写智能表格的子表/字段/记录/视图/图表及填色、高亮等样式，创建与编辑智能文档（含表单和数据看板），创建/查询/修改/取消日程并查询闲忙、办公楼和会议室，预约与管理在线会议（含纪要、待办与转写原文），创建/查询/修改/完成/删除或退出待办，搜索和上传微盘文件、下载离线文件、重命名支持的文件及新建文件夹，发送/回复/转发与搜索阅读邮件，向当前授权人或最近活跃会话发送文本/Markdown/图片/文件/语音/视频消息，以及上传下载媒体文件。用户给出 doc.weixin.qq.com、page.weixin.qq.com、drive.weixin.qq.com 链接时必定触发；即使未明确提到「企业微信」，只要涉及找人/文档/表格/日程/会议/待办/微盘/邮件/发消息等办公场景，也应触发本技能。未指定类型的「文档」默认使用智能文档；未明确「在线表格」的「表格」默认使用智能表格。"
allowed-tools: Bash, Read
---

# 企业微信套件 (WeCom Unified)

企业微信 CLI (`wecom-cli`) 全能套件，通过命令行工具与企业微信系统交互。下方「业务域概览」是路由表：判断用户意图属于哪个业务域，然后读取该域对应的 reference 文件，再按其中的参数规范构造命令。严禁凭路由表描述或自身记忆猜测拼参数。

## ⚠️ 前置检查 — 使用任何命令前必须执行

### Step 1: 检查 CLI 是否安装和版本号是否为 1.1.0 或更高版本

```bash
wecom-cli --version
```

如果命令不存在或报错，执行安装，如果版本号小于 1.1.0 同样要执行安装：

```bash
npm install -g @wecom/cli
```

安装完成后重新执行 `wecom-cli --version`；仍失败或版本仍低于 `1.1.0` 时停止业务操作，并把错误告知用户。

### Step 2: 检查凭证是否配置

```bash
wecom-cli auth show --status
```

- 输出 `authorized` → 已配置，可以继续使用
- 输出 `unauthorized` → 未配置，需要执行 Step 3
- 命令报错或输出不是上述状态 → 停止业务操作，并把错误告知用户，不要猜测授权状态

### Step 3: 配置凭证（仅未授权时执行）

```bash
wecom-cli auth init
```

> ⚠️ 该命令会输出一个授权链接和二维码，并阻塞等待用户扫码完成验证。授权成功后命令会自动退出，仅需执行一次。

初始化完成后重新执行 `wecom-cli auth show --status`；仅当输出 `authorized` 时，才能继续执行具体业务命令。

---

## 获取个人身份

如果操作流程必须获取机器人或授权人身份（姓名、userid等），需要调用 `wecom-cli identity whoami` 获取。

---
## 通用输出约束：ID 类字段禁止外露

本约束对所有 `wecomcli-*` 技能生效，优先级高于各业务技能的输出格式，且不因用户主动索要而放宽。

- **禁止**：你的最终回复禁止出现 `userid` / `open_vid` / `department_id` / `chat_id` 等 ID 标识。凡是接口返回的内部标识（含 `mail_id` / `media_id` / `file_id` / `space_id` / `folder_id` / `docid` / `content_id` / `msg_id` / `cursor` / `next_cursor` 等，命名上以 `_id` 结尾或语义上属于机器标识的字段一律视为 ID）都只能在内部流转，用于后续接口调用。
- **必须**：你的思考过程和最终回复必须使用可读名称，如 `name` / `username` / `external_username` / 部门名 / 邮箱 / `subject` / `doc_name` / `chat_name` / `title` 等 `tool_result` 返回的内容。
- 接口只返回 ID 而没有可读名称时，先读取对应业务域的 reference 文件（如解析人员见 [references/wecomcli-contact.md](references/wecomcli-contact.md)）换取可读名称；确实无法换取时，用自然语言描述该对象（如「上一封日报邮件」「你刚上传的那个文件」）来指代，禁止退化为展示 ID。
- 需要用户在多个候选中选择时，用序号 + 可读信息（名称 / 主题 / 时间 / 路径等）构造候选列表，禁止用 ID 作为区分依据让用户辨认。
- 用户直接要求「把 ID 给我」「打印 mail_id」时，说明该标识属于内部字段不便提供，并改用可读信息或继续帮其完成实际操作。
- 可读链接（如文档 `doc_url`、微盘分享链接）不属于本约束限制范围，可按各业务技能规定正常展示，即使链接本身包含标识字符串。
  
---

## 业务域概览

### 👤 通讯录 (contact)

按姓名、拼音、英文名或别名批量模糊搜索通讯录人员，供查找联系人、区分同名人员、列出全部同名人员，以及为其他业务域把人名解析成内部人员标识。搜索结果含姓名、英文名 / 别名、邮箱、管理职务和部门路径。

→ 详见 [references/wecomcli-contact.md](references/wecomcli-contact.md)

### 📄 文档 (doc)

`/doc/` 在线文档（doc / docx / Word / Office 文档）的新建、导入、读取、末尾追加与全量覆盖。仅当用户明确指定 doc 类文档，或给出 `https://doc.weixin.qq.com/doc/xxx` 链接时走这里；新建统一采用「生成 `.docx` → 导入」流程。未指定品类的「创建 / 写 / 整理成文档」默认走智能文档；搜索、改名、加成员或改权限走文档公共管理。

→ 详见 [references/wecomcli-doc.md](references/wecomcli-doc.md)

### 🗂️ 文档公共管理 (doc-manage)

文档品类共用的管理入口：搜索文档（含最近浏览、最近创建及按创建者 / 成员 / 时间过滤），以及对 doc 文档、在线表格、智能表格、智能文档执行改名、添加成员 / 修改成员权限、设置链接加入规则。搜索还可命中 PPT、收集表、脑图、流程图、汇报和 PDF；用户只给文档名称、需要先定位文档再读写时也先走这里。本域不负责正文读写。

→ 详见 [references/wecomcli-doc-manage.md](references/wecomcli-doc-manage.md)

### 📊 在线表格 (sheet)

`/sheet/` 在线表格的新建、CSV / Excel 导入、读取基础信息与区域数据、修改指定区域、末尾追加行，以及添加 / 删除子工作表。用户明确说「在线表格」，或给出 `https://doc.weixin.qq.com/sheet/xxx` 链接时走这里；`/smartsheet/` 链接或智能表格请求改走智能表格。搜索、改名和权限管理走文档公共管理。

→ 详见 [references/wecomcli-sheet.md](references/wecomcli-sheet.md)

### 🧮 智能表格 (smartsheet)

`/smartsheet/` 智能表格的数据、结构与展示配置管理：创建 / 导入，读取子表、字段、记录、视图和图表，增删改表结构与记录，配置筛选 / 排序 / 分组 / 公式 / 图表，以及设置行列填色、高亮、条件格式、视图列宽、隐藏字段和冻结列等。需要从零建表时可参考内置模板；新增或更新记录返回 `851003` / `no authority` 时按本域流程改用 Webhook 兜底。用户只说「表格 / Excel 表格 / 企微表格」而未明确类型时默认走本域；用户明确说「在线表格」或链接含 `/sheet/` 时走在线表格。搜索、改名和权限管理走文档公共管理。

→ 详见 [references/wecomcli-smartsheet.md](references/wecomcli-smartsheet.md)

### 📰 智能文档 (smartpage)

智能文档（智能主页）的新建 / Markdown 导入、页面树与正文读取、页面增删改移和布局调整、页面内容追加 / 覆盖、Block 级编辑、附件上传，以及数据驱动页面、表单、图表页面的搭建。用户提到「智能文档 / 智能主页 / smartpage」，或给出 `doc.weixin.qq.com/smartpage/...`、`page.weixin.qq.com/smartpage/...` 链接时走这里；未指定品类的泛化「创建 / 写 / 整理文档」也默认走本域。发布态链接只读，编辑需编辑态链接。内置数据表的记录与结构操作委托智能表格，页面展示层仍归本域。

→ 详见 [references/wecomcli-smartpage.md](references/wecomcli-smartpage.md)

### 📅 日程 (calendar)

创建、浏览、搜索、查看详情、更新与取消日程，查询多人忙闲和共同空闲时段，并查询办公楼 / 会议室可订性、预订或更换会议室。本域负责**不含在线会议链接**的安排，也包括纯线下面对面碰头；含会议号 / 入会链接、可远程或视频参会的安排走会议。模糊的「开会 / 约个会」在**创建**时必须按 reference 先消歧；模糊的**查询**不追问，而是日程与会议两边都查后合并展示。周期日程的创建、更新、取消及邀请接受 / 拒绝暂不支持。

→ 详见 [references/wecomcli-calendar.md](references/wecomcli-calendar.md)

### 🎥 会议 (meeting)

**在线会议**（含会议号 / 入会链接、可远程或视频参会）的创建、列表浏览、关键词搜索、详情、更新和取消；还能读取智能纪要、会议待办与完整转写原文，并按用户要求基于转写生成定制总结。创建 / 更新时间时需联动日程域查忙闲；涉及会议室时，由日程域查询办公楼与会议室可订性并取得会议室，实际占用或更换随会议的创建 / 更新完成。不含在线会议链接的纯线下安排走日程；模糊的「开会」仅在创建时先消歧，模糊查询则日程与会议两边都查。周期会议的创建、更新、取消及邀请接受 / 拒绝暂不支持。

→ 详见 [references/wecomcli-meeting.md](references/wecomcli-meeting.md)

### ✅ 待办 (todo)

创建单条或批量待办（可分派参与人、设置截止时间并请求截止时提醒）、查询详情与列表，按创建时间、截止时间、完成状态和标题 / 描述关键词筛选，以及修改标题、描述、参与人全量名单、截止时间，完成待办，删除整条待办或退出他人创建的待办。完成范围可为当前用户自己的部分，或由创建人将整条待办全部完成；查询仅覆盖待办系统已有记录，关键词是字面匹配而非语义搜索。实际提醒时刻以后端返回为准；当前不支持单独修改指定参与人的接受 / 拒绝 / 未完成状态，也不能直接关闭提醒或自定义任意提前提醒时刻。

→ 详见 [references/wecomcli-todo.md](references/wecomcli-todo.md)

### 💾 微盘 (disk)

微盘 / 网盘 / 共享空间里的最近文件列表；按关键词、类型或创建者搜索文件，并可附加共享空间范围；也可搜索文件夹或共享空间本身；还能读取文件元信息与路径、上传文件、下载离线二进制文件、重命名支持的微盘文件和新建文件夹。在某共享空间内搜索时，空间名称只作为范围过滤；搜索共享空间本身时，则使用空间名称关键词并限定搜索类型为空间。仅给空间名且未说明要在其中找内容还是搜索空间本身时，需追问具体搜索目标。用户明确提到「微盘 / 网盘 / 共享空间」，或给出 `https://drive.weixin.qq.com/s?k=...` 链接时走这里。本域管**文件级**操作和在线文档所在位置；在线文档的正文读写归对应文档域，doc / 在线表格 / 智能表格 / 智能文档的改名归文档公共管理。移动、删除、复制文件，删除 / 重命名文件夹，以及空间和分享权限管理暂不支持。

→ 详见 [references/wecomcli-disk.md](references/wecomcli-disk.md)

### 📧 邮件 (email)

发送、回复 / 全部回复和转发邮件，支持抄送、密送、本地附件与正文内嵌图片；可按关键词、发件人、时间、已读状态、文件夹、标签、附件、星标、重要等条件浏览 / 搜索邮件，并读取正文、附件和内嵌图片。仅当用户明确提到「邮箱 / 邮件」时，本域才处理通过邮件发出的日程邀约或会议预定；日程 / 会议实体本身仍归对应业务域。标记已读 / 未读、删除、草稿、标签写操作、撤回及修改已发送邮件暂不支持。读取普通附件 / 图片时如返回媒体标识，再委托媒体文件域下载。

→ 详见 [references/wecomcli-email.md](references/wecomcli-email.md)

### 💬 消息 (message)

向当前授权人，或机器人最近有消息往来的单聊 / 群聊发送 Markdown（普通文本也按 Markdown）、图片、文件、AMR 语音和视频；也可查询本次可发送的最近会话范围。给授权人发送时无需先查会话列表；给其他对象发送时，目标必须来自本次会话列表，不能直接使用通讯录搜索结果或历史会话标识。媒体消息需先委托媒体文件域把本地文件上传为可发送素材。

→ 详见 [references/wecomcli-message.md](references/wecomcli-message.md)

### 🖼️ 媒体文件 (media)

基于已有媒体标识把文件下载到本地，或把已知本地路径的文件上传为可供消息、微盘等业务复用的媒体素材。媒体标识必须来自真实接口返回或用户明确提供，不能用 URL 代替；防泄漏加密链接也不能通过本域下载或解密。本域只负责文件搬运，不负责搜索素材，也不解析、识别文件内容。

→ 详见 [references/wecomcli-media.md](references/wecomcli-media.md)
