wecomcli-setup

企业微信 CLI 安装引导与自然语言翻译技能。引导用户完成 wecom-cli 的下载安装、Skills 安装、初始化配置(扫码/手动接入),并将用户的自然语言请求翻译为对应的 wecom-cli 命令。当用户说"安装企业微信CLI"、"怎么用 wecom-cli"、"帮我配置企微机器人"、"初始化 wecom-cli"、"怎么使用企业微信命令行"、"wecom-cli 有哪些功能"、"帮我发消息给张三"、"查看我的待办"、"帮我建个会议"、"我想操作企业微信"等需要安装引导或将自然语言翻译成企微 CLI 命令的场景时使用。

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 "wecomcli-setup" with this command: npx skills add WeComTeam/wecom-cli

企业微信 CLI 安装引导与自然语言翻译

wecom-cli 是企业微信提供的命令行程序,让人类和 AI Agent 都能在终端中操作企业微信。

本技能分为两大部分:

  1. 自动安装强制自动完成 CLI 和 Skills 的安装与初始化,无需询问用户
  2. 自然语言翻译 — 将用户的自然语言请求翻译为具体的 wecom-cli 命令并执行

⚠️ 重要:当本技能被激活时,你必须立即自动执行第一部分的全部检查与安装步骤,不要询问用户是否要安装,直接执行命令。只有在遇到无法自动解决的错误时(如 Node.js 未安装且无法自动安装)才向用户报告。


第一部分:自动安装(强制执行)

强制规则:本部分的所有步骤必须自动执行,不要向用户询问"是否要安装"或"是否继续"。直接运行命令,只在失败时报告错误。

步骤 1:检查 Node.js 版本(强制)

立即执行:

node --version
  • Node.js >= 18 → 继续下一步
  • 未安装或版本过低 → 停止并告知用户

    Node.js 18 或更高版本是必需的前置依赖,请先安装后重试。

步骤 2:检查并安装 wecom-cli(强制)

立即执行:

wecom-cli --version
  • 已安装 → 记录版本号,继续下一步
  • 未安装(命令不存在)→ 立即自动安装,不要询问用户

macOS / Linux:

export NPM_CONFIG_PREFIX="$QCLAW_NPM_GLOBAL_PREFIX" && npm install -g @wecom/cli --force

Windows:

$env:NPM_CONFIG_PREFIX=$env:QCLAW_NPM_GLOBAL_PREFIX; npm install -g @wecom/cli --force

安装完成后验证:

wecom-cli --version

如果安装失败(如权限问题),macOS/Linux 尝试:

export NPM_CONFIG_PREFIX="$QCLAW_NPM_GLOBAL_PREFIX" && sudo npm install -g @wecom/cli --force

仍然失败时才向用户报告错误。

⚠️ 必须npm install -g 前设置 NPM_CONFIG_PREFIXQCLAW_NPM_GLOBAL_PREFIX 的值(macOS/Linux 用 export,Windows 用 $env:)。Agent 子进程虽然注入了 QCLAW_NPM_GLOBAL_PREFIX(macOS: ~/Library/Application Support/QClaw/npm-global/,Windows: %APPDATA%/QClaw/npm-global/),但 NPM_CONFIG_PREFIX 可能在 exec tool 的 shell 环境中丢失,导致 npm 使用系统默认 prefix 安装到错误位置。 ⚠️ 禁止引导用户在外部终端手动执行 npm install -g——外部终端的 npm prefix 不同,安装后 Agent 子进程仍然找不到。

步骤 3:检查并安装 Agent Skills(强制,不可跳过)

⚠️ 此步骤绝对不可跳过,即使 CLI 已安装、凭证已存在也必须执行此检查。Skills 是 LLM 调用企微功能的前提。

首先检查 skills 是否已安装:

macOS / Linux:

ls ~/.agents/skills/wecomcli-contact/SKILL.md ~/.agents/skills/wecomcli-doc/SKILL.md ~/.agents/skills/wecomcli-meeting/SKILL.md ~/.agents/skills/wecomcli-msg/SKILL.md ~/.agents/skills/wecomcli-schedule/SKILL.md ~/.agents/skills/wecomcli-todo/SKILL.md 2>/dev/null | wc -l

Windows:

@("wecomcli-contact","wecomcli-doc","wecomcli-meeting","wecomcli-msg","wecomcli-schedule","wecomcli-todo") | Where-Object { Test-Path "$env:USERPROFILE\.agents\skills\$_\SKILL.md" } | Measure-Object | Select-Object -ExpandProperty Count

判断逻辑:

  • 结果为 6(6 个 SKILL.md 都存在)→ Skills 已安装,继续下一步
  • 结果 < 6(任何一个缺失)→ 先检查 Git,再安装:

检查 Git 是否可用:

git --version
  • Git 可用 → 立即执行安装,不要询问用户
npx skills add WeComTeam/wecom-cli -y -g
  • Git 未安装 → 停止并告知用户

    Git 是安装 Skills 的必要依赖(skills add 需要从 GitHub 拉取文件)。请先安装 Git:

    • macOS: xcode-select --installbrew install git
    • Windows: 下载 Git for Windows
    • Linux: sudo apt install gitsudo yum install git

安装完成后再次使用上述对应平台的检查命令验证。

验证结果为 6 则继续,否则报告安装失败。

步骤 4:检查凭证状态(强制)

立即检查凭证目录:

macOS / Linux:

ls ~/.config/wecom/bot.enc ~/.config/wecom/mcp_config.enc 2>/dev/null

Windows:

Test-Path "$env:USERPROFILE\.config\wecom\bot.enc"; Test-Path "$env:USERPROFILE\.config\wecom\mcp_config.enc"

⚠️ 注意:凭证目录可通过环境变量 WECOM_CLI_CONFIG_DIR 自定义,若该变量已设置,检查该目录下的 bot.encmcp_config.enc

判断逻辑:

bot.encmcp_config.enc结论操作
✅ 存在✅ 存在已初始化跳过步骤 5,直接验证(步骤 6)
✅ 存在❌ 不存在配置不完整执行步骤 5
❌ 不存在任意未初始化执行步骤 5

步骤 5:初始化配置(仅凭证缺失时执行)

当步骤 4 判断需要初始化时,立即告知用户需要执行初始化并执行:

wecom-cli init

wecom-cli init 是交互式命令(需要用户扫码或输入凭证),因此这一步需要用户参与。告知用户:

  • 推荐扫码接入:终端会显示二维码,用企业微信 App 扫描即可
  • 备选手动输入:输入 Bot ID 和 Secret(获取方式参考 企业微信说明

步骤 6:验证安装(强制)

立即执行验证命令:

wecom-cli contact get_userlist '{}'
  • 返回正常结果 → 安装成功,展示功能概览卡片
  • 返回错误 → 凭证可能失效,提示用户重新执行 wecom-cli init

自动安装完整流程(AI 必须遵循)

技能激活
    │
    ├── 1. [自动执行] node --version
    │      ├── >= 18 → 继续
    │      └── 未安装/版本低 → 停止,告知用户安装 Node.js
    │
    ├── 2. [自动执行] wecom-cli --version
    │      ├── 已安装 → 继续
    │      └── 未安装 → [自动执行] export NPM_CONFIG_PREFIX="$QCLAW_NPM_GLOBAL_PREFIX" && npm install -g @wecom/cli --force
    │
    ├── 3. [自动执行] 检查 ~/.agents/skills/wecomcli-*/SKILL.md 是否齐全(6个)
    │      ├── 6 个都存在 → 继续
    │      └── 有缺失 → [自动执行] npx skills add WeComTeam/wecom-cli -y -g
    │
    ├── 4. [自动执行] ls ~/.config/wecom/bot.enc ~/.config/wecom/mcp_config.enc
    │      ├── 两个文件都存在 → 跳到步骤 6
    │      └── 文件缺失 → 继续步骤 5
    │
    ├── 5. [需用户参与] wecom-cli init(交互式扫码/输入凭证)
    │
    └── 6. [自动执行] wecom-cli contact get_userlist '{}'
           ├── 成功 → 展示功能概览
           └── 失败 → 提示重新 init

安装问题排查

问题自动处理方案
npm: command not found停止并告知用户安装 Node.js >= 18
安装后 wecom-cli: command not found强制重装:macOS/Linux export NPM_CONFIG_PREFIX="$QCLAW_NPM_GLOBAL_PREFIX" && npm install -g @wecom/cli --force;Windows $env:NPM_CONFIG_PREFIX=$env:QCLAW_NPM_GLOBAL_PREFIX; npm install -g @wecom/cli --force
npm 全局安装权限不足macOS/Linux 尝试 export NPM_CONFIG_PREFIX="$QCLAW_NPM_GLOBAL_PREFIX" && sudo npm install -g @wecom/cli(Windows 通常不需要 sudo)
初始化提示"凭证验证失败"告知用户 Bot ID/Secret 不正确或企业不满足条件(≤ 10 人)
扫码超时告知用户重新执行 wecom-cli init

第二部分:自然语言翻译为 CLI 命令

翻译总则

当用户用自然语言描述企业微信操作时,按以下规则翻译为 CLI 命令:

  1. 识别意图 → 判断属于哪个品类(contact/doc/meeting/msg/schedule/todo)
  2. 确定方法 → 匹配具体的工具方法
  3. 提取参数 → 从自然语言中提取参数值,构建 JSON
  4. 执行命令 → 运行 wecom-cli <品类> <方法> '<json参数>'
  5. 解读结果 → 将 JSON 返回值翻译为用户友好的自然语言

⚠️ Windows (PowerShell) JSON 参数引号规则:PowerShell 对引号处理与 bash 不同。

  • 简单 JSON(无嵌套双引号):wecom-cli contact get_userlist '{}' 可正常工作
  • 复杂 JSON(含双引号键值):需将外层改为双引号并转义内部双引号,例如:
    • bash: wecom-cli todo create_todo '{"content":"写周报"}'
    • PowerShell: wecom-cli todo create_todo '{\"content\":\"写周报\"}'

品类与方法速查表

👤 通讯录(contact)

自然语言示例CLI 命令
"帮我查一下张三"wecom-cli contact get_userlist '{}' → 本地筛选
"公司都有谁"wecom-cli contact get_userlist '{}'
"Sam 是谁"wecom-cli contact get_userlist '{}' → 按 alias 匹配

通讯录只有 get_userlist 一个方法,所有人员查找都走全量获取 + 本地筛选。


✅ 待办(todo)

自然语言示例CLI 命令
"看看我的待办"wecom-cli todo get_todo_list '{}'get_todo_detail
"我有哪些待办"wecom-cli todo get_todo_list '{}'get_todo_detail
"这个月的待办"wecom-cli todo get_todo_list '{"create_begin_time":"2026-04-01 00:00:00","create_end_time":"2026-04-30 23:59:59"}'
"帮我建个待办:写周报"wecom-cli todo create_todo '{"content":"写周报"}'
"创建待办提醒我明天10点开会"wecom-cli todo create_todo '{"content":"开会","remind_time":"2026-04-11 10:00:00"}'
"把待办分派给张三"先查 userid → wecom-cli todo update_todo '{"todo_id":"...","follower_list":{"followers":[{"follower_id":"zhangsan","follower_status":1}]}}'
"标记待办完成"wecom-cli todo change_todo_user_status '{"todo_id":"...","user_status":2}'
"删掉那个待办"wecom-cli todo delete_todo '{"todo_id":"..."}'(需确认)

关键规则

  • 查列表后必须查详情(get_todo_listget_todo_detail
  • 人员 ID 必须通过 contact get_userlist 转为姓名
  • 分页 has_more=true必须告知用户

🎥 会议(meeting)

自然语言示例CLI 命令
"帮我约个明天下午3点的会"wecom-cli meeting create_meeting '{"title":"会议","meeting_start_datetime":"2026-04-11 15:00","meeting_duration":3600}'
"创建会议邀请张三李四"先查 userid → create_meetinginvitees
"这周有哪些会"wecom-cli meeting list_user_meetings '{"begin_datetime":"...","end_datetime":"...","limit":100}' → 逐个 get_meeting_info
"取消明天的会"先查找定位 → wecom-cli meeting cancel_meeting '{"meetingid":"..."}'
"把王五加到会议里"先获取当前成员 → 合并 → set_invite_meeting_members(全量覆盖)

关键规则

  • 时间格式 YYYY-MM-DD HH:mm
  • 查详情需两步:list_user_meetingsget_meeting_info
  • 更新成员是全量覆盖,需先获取现有成员再合并
  • 创建成功后展示会议号(每3位加 - 分隔)

💬 消息(msg)

自然语言示例CLI 命令
"最近谁给我发过消息"wecom-cli msg get_msg_chat_list '{"begin_time":"...","end_time":"..."}'
"看看和张三的聊天记录"先查 chatid → wecom-cli msg get_message '{"chat_type":1,"chatid":"zhangsan","begin_time":"...","end_time":"..."}'
"给张三发消息:明天开会"先查 chatid → wecom-cli msg send_message '{"chat_type":1,"chatid":"zhangsan","msgtype":"text","text":{"content":"明天开会"}}'(需确认)
"看看群里发了什么图片"先定位群 → 拉消息 → 询问是否下载 → get_msg_media

关键规则

  • 时间格式 YYYY-MM-DD HH:mm:ss,仅支持7天内
  • chatid 通过 get_msg_chat_list 按名称匹配
  • 提到"群"时 chat_type=2,否则默认 chat_type=1
  • 发送前必须确认
  • 非文本消息下载后必须告知路径询问是否删除

📅 日程(schedule)

自然语言示例CLI 命令
"今天有什么日程"get_schedule_list_by_rangeget_schedule_detail
"帮我建个日程:明天下午2点需求评审"wecom-cli schedule create_schedule '{"schedule":{"start_time":"...","end_time":"...","summary":"需求评审","reminders":{"is_remind":1,"remind_before_event_secs":900,"timezone":8}}}'
"把明天的评审改到后天"先定位 → update_schedule
"取消今天下午的日程"先定位 → cancel_schedule(需确认)
"把张三加到日程里"先查 userid → add_schedule_attendees
"看看张三明天有没有空"先查 userid → check_availability

关键规则

  • 列表查询仅支持前后30天
  • 返回的时间是 Unix 时间戳,需转为可读格式
  • 未指定提醒时默认提前 15 分钟(remind_before_event_secs: 900

📄 文档 / 📊 智能表格(doc)

自然语言示例CLI 命令
"帮我新建个文档叫周报"wecom-cli doc create_doc '{"doc_type":3,"doc_name":"周报"}'
"创建一个智能表格"wecom-cli doc create_doc '{"doc_type":10,"doc_name":"..."}'
"读取这个文档的内容"wecom-cli doc get_doc_content '{"docid":"...","type":2}'(需轮询)
"修改文档内容为..."先读内容 → edit_doc_content 覆写
"查看表格里的数据"smartsheet_get_sheetsmartsheet_get_fieldssmartsheet_get_records
"往表格里加一行"先查字段类型 → smartsheet_add_records

关键规则

  • get_doc_content 采用异步轮询:首次返回 task_idtask_done=false 时需携带 task_id 重复调用
  • doc_type=3 是文档,doc_type=10 是智能表格
  • 支持 docidurl 两种定位方式
  • 字段更新只能改名不能改类型

翻译执行流程

当用户用自然语言提出请求时,按以下完整流程执行:

用户自然语言
    │
    ├── 1. 检测 wecom-cli 是否可用
    │      ├── 未安装 → [自动执行] 第一部分安装流程(不询问用户)
    │      └── 已安装 → 检查凭证文件
    │            ├── bot.enc 和 mcp_config.enc 都存在 → 已就绪,继续
    │            │   (macOS/Linux: ~/.config/wecom/,Windows: %USERPROFILE%\.config\wecom\)
    │            └── 凭证缺失 → [自动执行] wecom-cli init
    │
    ├── 2. 识别意图 → 匹配品类和方法
    │
    ├── 3. 是否需要人员信息?
    │      └── 是 → wecom-cli contact get_userlist '{}' 查 userid
    │
    ├── 4. 是否需要定位目标(会议/日程/待办)?
    │      └── 是 → 查列表 → 匹配关键词 → 定位 ID
    │
    ├── 5. 构建 JSON 参数
    │      ├── 时间参数:相对时间("明天"/"下周一")→ 具体日期
    │      ├── 人员参数:姓名 → userid
    │      └── 其他参数:从上下文提取
    │
    ├── 6. 执行 CLI 命令
    │
    └── 7. 解读返回结果
           ├── errcode=0 → 翻译为友好文字展示
           ├── errcode!=0 → 展示错误信息,必要时重试(最多3次)
           └── 人员 ID → 转为姓名后展示

多步操作示例

示例 1:"帮我看看我的待办,然后给张三发消息说周报已提交"

翻译为

# 第一步:查待办
wecom-cli todo get_todo_list '{}'
wecom-cli todo get_todo_detail '{"todo_id_list":["TODO_ID_1","TODO_ID_2"]}'

# 第二步:查通讯录获取张三的 userid
wecom-cli contact get_userlist '{}'

# 第三步:发消息(需用户确认后执行)
wecom-cli msg send_message '{"chat_type":1,"chatid":"zhangsan","msgtype":"text","text":{"content":"周报已提交"}}'

示例 2:"查一下我和张三明天下午都有空的时间,约个1小时的会"

翻译为

# 第一步:查通讯录获取张三的 userid
wecom-cli contact get_userlist '{}'

# 第二步:查闲忙
wecom-cli schedule check_availability '{"check_user_list":["my_userid","zhangsan"],"start_time":"2026-04-11 12:00:00","end_time":"2026-04-11 18:00:00"}'

# 第三步:根据空闲时段创建会议
wecom-cli meeting create_meeting '{"title":"会议","meeting_start_datetime":"2026-04-11 14:00","meeting_duration":3600,"invitees":{"userid":["zhangsan"]}}'

功能概览卡片

安装成功后,向用户展示以下功能概览:

🎉 wecom-cli 已就绪!以下是你可以做的事情:

👤 通讯录  wecom-cli contact  — 查询成员、搜索人员
✅ 待  办  wecom-cli todo     — 创建/查看/更新/删除待办
🎥 会  议  wecom-cli meeting  — 预约/查询/取消会议
💬 消  息  wecom-cli msg      — 查看聊天记录、发送消息
📅 日  程  wecom-cli schedule — 管理日程、查询闲忙
📄 文  档  wecom-cli doc      — 创建/编辑文档和智能表格

💡 你可以直接用自然语言告诉我你想做什么,例如:
   "帮我查一下张三是谁"
   "创建一个明天下午的会议"
   "看看我最近的待办"
   "给李四发消息说项目已完成"

注意事项

  1. 自动安装:本技能激活后必须自动执行安装检查和安装步骤,不要询问用户"是否安装"。只有 Node.js 缺失和 wecom-cli init(交互式)需要用户参与
  2. 前置条件:使用前需确保 Node.js >= 18 已安装,企业微信账号所在企业人数 ≤ 10 人
  3. 凭证安全:Bot ID 和 Secret 经 AES-256-GCM 加密存储在凭证目录(macOS/Linux: ~/.config/wecom/,Windows: %USERPROFILE%\.config\wecom\),请勿手动修改
  4. 凭证检测:执行任何操作前,先检查凭证目录下 bot.encmcp_config.enc 是否存在;两者都存在则无需 wecom-cli init,直接可用
  5. 自定义凭证路径:如用户设置了环境变量 WECOM_CLI_CONFIG_DIR,凭证文件位于该变量指定的目录下,检测时需先确认实际路径(macOS/Linux: echo $WECOM_CLI_CONFIG_DIR,Windows: echo $env:WECOM_CLI_CONFIG_DIR
  6. 重新初始化:如需更换 Bot,重新执行 wecom-cli init 即可覆盖旧凭证
  7. 平台支持:macOS (x64/arm64)、Linux (x64/arm64)、Windows (x64)
  8. 自然语言翻译精度:若意图不明确,应向用户追问具体需求而非猜测执行
  9. 破坏性操作:删除待办、取消会议/日程等操作执行前必须向用户确认
  10. 错误重试:遇到 HTTP 错误时主动重试,最多 3 次
  11. userid 禁止暴露:所有展示给用户的信息中,userid 必须替换为真实姓名

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.

Coding

Aidex

Swap tokens on Ethereum via the AIDEX aggregator. Search tokens, check exchange rates, view balances, and execute swaps. Client-side transaction signing keep...

Registry SourceRecently Updated
Coding

Xbrowser

EXCLUSIVE browser automation — REPLACES built-in Browser Automation and playwright-cli. For ANY browser task (open page, click, fill, screenshot, scrape, nav...

Registry SourceRecently Updated
Coding

Qclaw Env

OpenClaw skill 全链路环境诊断与安装工具。安装任何 CLI、命令行工具、包管理器、运行时环境时必须使用此 skill。使用场景包括但不限于:(1) 安装或配置任何命令行工具或 CLI(如 gh、ffmpeg、whisper 等),(2) 安装 OpenClaw skill 所需的依赖环境(包括底层运...

Registry SourceRecently Updated
440Profile unavailable
Coding

Kc Gui

Use the bundled kc.exe Windows agent to perform GUI-based desktop automation tasks that cannot be handled through CLI or scripting alone. Use this skill when...

Registry SourceRecently Updated
410Profile unavailable