wecomteam/wecom-cli

wecomcli-shared

wecom-cli 业务技能的公共前置检查、获取机器人及授权真人身份,以及通用输出约束。任何 wecomcli- 技能准备执行 wecom-cli 命令前,都必须同时读取本技能,检查 CLI 是否安装、版本是否不低于 1.1.0,以及企业微信凭证是否已授权;仅在缺失、版本过低或未授权时执行安装或初始化。本技能还定义所有技能通用的 ID 类字段禁止外露约束。本技能不处理具体业务请求。

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

wecom-cli 公共前置检查

本技能提供所有 wecomcli-* 业务技能共用的 CLI 安装、版本与授权检查,以及通用输出约束。每次准备执行任意 `wecom-cli` 命令前,先完成本技能;检查通过后,再回到对应业务技能执行。

本技能不能代替具体业务技能。处理联系人、文档、表格、日程、会议、待办、邮件、微盘、消息或媒体请求时,必须同时读取对应业务技能。

Step 1:检查 CLI 安装与版本

bash
wecom-cli --version
  • 命令成功,且输出中的版本号不低于 1.1.0 → 继续 Step 2。
  • 命令不存在、执行报错或版本号低于 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 --noninteractive

该命令会展示授权链接和二维码,并等待用户使用企业微信扫码。授权成功后命令自动退出,仅需初始化一次。

初始化完成后重新执行:

bash
wecom-cli auth show --status

仅当输出 authorized 时,才能继续执行具体业务命令。

通用输出约束: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 / titletool_result 返回的内容。
  • 接口只返回 ID 而没有可读名称时,先调用对应技能(如 wecomcli-contact 解析人员)换取可读名称;确实无法换取时,用自然语言描述该对象(如「上一封日报邮件」「你刚上传的那个文件」)来指代,禁止退化为展示 ID。
  • 需要用户在多个候选中选择时,用序号 + 可读信息(名称 / 主题 / 时间 / 路径等)构造候选列表,禁止用 ID 作为区分依据让用户辨认。
  • 用户直接要求「把 ID 给我」「打印 mail_id」时,说明该标识属于内部字段不便提供,并改用可读信息或继续帮其完成实际操作。
  • 可读链接(如文档 doc_url、微盘分享链接)不属于本约束限制范围,可按各业务技能规定正常展示,即使链接本身包含标识字符串。

执行规则

  • 已安装、版本达标且已授权时,不重复安装或初始化。
  • 安装、升级、初始化或复查失败时,不执行后续业务命令。
  • 本技能不定义任何联系人、文档、表格、日程、会议、待办、邮件、微盘、消息或媒体接口参数;具体命令必须回到对应业务技能读取。
  • 执行任何业务命令并组织回复时,同时遵守上方「通用输出约束:ID 类字段禁止外露」。

获取个人身份

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

from this repository

More skills

All skills
wecomteam
Community

wecomcli-calendar

企业微信日程管理。当用户需要预约日程、预订会议室、查看/更新/取消日程或查忙闲时触发。本技能负责『日程』——即不含在线会议链接的安排(也涵盖纯线下面对面碰头);若用户要的是『在线会议』(含会议号/入会链接、可远程或视频参会),改用 wecomcli-meeting 技能。用户仅说'开会/约个会/某会'等、未明确要创建的是日程还是在线会议时,必须先读取本技能并按其中的消歧流程向用户追问确认后再处理,不可臆断直接创建。

installs
7
GitHub stars
3 tys.
Updated
25 sie
wecomteam
Community

wecomcli-contact

使用 wecom-cli 按姓名、拼音、英文名或别名搜索企业微信通讯录中的人员,并查询匹配人员的 userid、部门和职务。适用于查找联系人、区分同名人员、获取用户 userid,以及列出全部同名人员。

installs
7
GitHub stars
3 tys.
Updated
25 sie
wecomteam
Community

wecomcli-disk

企业微信微盘(Disk / 网盘)文件操作技能。承接"微盘 / 网盘"里的文件列出、搜索、读取元信息、上传、下载、重命名、新建文件夹操作。用户明确提到"微盘"/"网盘"/"共享空间"时必须先读取本技能获取完整指引,不得凭记忆处理。用户说"上传到微盘"、"帮我在微盘里搜一下 xxx"、"微盘那个 PPT 在哪"、"下载微盘那个文件"、"把微盘那个文件重命名成 xxx"、或直接给出 https://drive.weixin.qq.com/s?k=... 形式的微盘文件链接时使用本技能。与 wecomcli-doc / wecomcli-sheet / wecomcli-smartsheet / wecomcli-smartpage 的区别:本技能处理微盘里所有文件(含在线文档)的搜索/列表/基础信息/位置/路径/重命名等文件级操作;在线文档(doc/sheet/smartsheet/smartpage 类型)的内容读写走对应文档技能,不由本技能接管。当用户问「这个文档在微盘哪里」或问某文件在微盘的位置时,由本技能用 get 返回空间名/文件夹名/路径等元信息。

installs
7
GitHub stars
3 tys.
Updated
25 sie
wecomteam
Community

wecomcli-doc

企微 doc 内容操作技能,包含新建在线文档、导入、读取、追加、覆盖写入等功能。仅当用户明确指定 'doc'、'docx'、'word'、'在线文档'、'office文档',或提供 https://doc.weixin.qq.com/doc/xxx 链接时触发。本技能不处理未指明类型的“文档”请求;凡是“创建文档 / 写文档 / 整理成文档 / 输出到文档”等泛化表达,默认都必须路由到 wecomcli-smartpage(智能文档),本技能不得抢占。若请求包含字段、记录、筛选、排序、统计、分组等结构化数据语义,严禁用 doc + markdown 静态表格变通替代,应考虑使用智能文档或者智能表格。公共管理操作请使用 wecomcli-doc-manage;在线表格操作请使用 wecomcli-sheet;智能表格操作请使用 wecomcli-smartsheet。

installs
7
GitHub stars
3 tys.
Updated
25 sie