news 2026/9/29 7:33:27

wecom-cli高级参数速查:--dry-run、--json、--set与自动分页--page-count用法清单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wecom-cli高级参数速查:--dry-run、--json、--set与自动分页--page-count用法清单

wecom-cli高级参数速查:--dry-run、--json、--set与自动分页--page-count用法清单

【免费下载链接】wecom-cli企业微信开放平台命令行工具 — 让人类和 AI Agent 都能在终端中操作企业微信项目地址: https://gitcode.com/gh_mirrors/we/wecom-cli

wecom-cli是企业微信开放平台命令行工具,让人类和 AI Agent 都能在终端中操作企业微信的消息、邮件、文档、待办、日程等业务。这篇速查清单聚焦 4 个最实用的高级参数:--dry-run(干跑预览)、--json(完整请求体)、--set(深层参数覆盖)与--page-count(自动分页),帮你少踩坑、写得快。

📋 30 秒速览:4 个高级参数一览表

参数一句话作用典型场景
--dry-run只校验并打印将发送的请求,不实际调用发重要操作前先预览
--json '<JSON>'直接给定完整请求体 JSON 字符串批量参数、复杂嵌套结构
--set path=value深层路径覆盖,可重复,优先级最高只改--json里的个别字段
--page-count <n>游标式自动分页,最多拉取 n 页列表类接口全量拉取

💡 三个"给请求体"的方式(命名参数 /--json/--set)可以自由组合,优先级从高到低是:--set> 命名参数 >--json。

🧪 --dry-run 干跑:先发预演,再真执行

--dry-run会在本地完成参数校验,并打印即将发送的完整请求,但不会发起任何 API 调用,stdout 会输出=== Dry Run ===预演信息。

适用场景:

  • 发送消息、创建文档、修改日程等"写操作"前,确认请求体拼装无误
  • 调试--json/--set组合出的最终 payload
  • 验证--output-dir等路径参数是否合法(dry-run 与实际执行走同一道门禁校验,错误时机一致,详见 006-dry-run-output-dir-gate/desc.md)
# 预览:不会真正调用接口 wecom-cli message send --json '{"chat_id":"xxx","text":"周报"}' --dry-run

小技巧:也可以在--json里传{"dry_run": true}触发同样的干跑模式,效果与 flag 一致(见 018-json-extras-dry-run/desc.md)。

📦 --json:一行给完整请求体

--json直接接收完整请求体 JSON 字符串,适合参数多、嵌套深的接口,比一串命名参数更紧凑:

# 无参方法 wecom-cli message aibot sessions list # --json 给定请求体 wecom-cli doc search --json '{"keywords":["周报"],"limit":10}'

它的两个"容错设计"非常省心:

  1. JSON 自动修复:尾部多逗号、未加引号的 key 等格式错误,会由内置修复器自动修正后正常解析(行为见 003-json-repair/desc.md),不用为引号问题来回排查
  2. 控制字段抽取:JSON 体里的dry_run、page_count等控制字段会被自动提取为对应 flag 生效,不会误发给服务端(如{"page_count": 2}直接触发分页,见 016-json-extras-pagination/desc.md)

🎯 --set:深层路径覆盖,优先级最高

--set path=value可以像"精准手术刀"一样覆盖请求体中任意深度的字段,可重复使用:

# 覆盖深层字段(可重复) wecom-cli doc search --json '{"keywords":["周报"],"limit":10}' \ --set limit=20 --set extra.flag=true

要点:

  • 优先级最高:--set的赋值会覆盖--json与命名参数中的同路径字段
  • 值支持 JSON 片段,非法片段同样会走自动修复
  • 路径不存在时可以按需创建对象;若目标节点是标量无法展开,会报出清晰的--set a.b.c 参数标识 + 原因错误提示(实现见 assemble.rs)

典型用法:把一份标准--json模板固化下来,每次只--set改掉日期、ID 这类变化字段,脚本更稳定。

📄 --page-count:游标式自动分页

列表类接口默认只返回一页数据。加上--page-count <n>后,CLI 会依据响应的has_more+next_cursor自动翻页,最多拉取 n 页,输出为NDJSON(每行一页,方便jq逐行处理):

# 最多拉 3 页,分页间隔 1 毫秒 wecom-cli message aibot sessions list --page-count 3 --page-delay 1

配套参数与行为:

  • --page-delay <ms>:分页请求间隔毫秒数,默认 100ms,批量拉取时可适当调大避免触发限流
  • 提前终止:即使--page-count 5,服务端只有 2 页也会在has_more: false时停下,只输出 2 行(见 002-page-count-exceeds/desc.md)
  • 全量拉取示例:mock 3 页数据的完整交互见 001-page-all/desc.md
  • 想控制落盘目录,可配合--output把 NDJSON 多行结果直接写入文件

✅ 组合最佳实践

  1. 新写脚本先--dry-run:确认 payload 无误后再去掉 flag 执行
  2. 模板 + 覆盖:--json存标准模板,--set只改变化字段
  3. 分页结果直接进管道:NDJSON 每行一页,可用head -n 1/jq逐页消费
  4. 看退出码:0成功、1运行时错误、2用法错误;错误以结构化 JSON 输出到 stdout,日志走 stderr,不污染数据管道

📚 更多参数去哪查

完整的命令模型、环境变量、配置文件与退出码说明,请查阅官方参考文档 docs/cli-reference.md;请求体装配与--set的优先级逻辑实现位于 crates/wecom/src/service/command/ 目录(核心文件 assemble.rs)。

掌握--dry-run、--json、--set、--page-count这四个参数,基本能覆盖 wecom-cli 日常使用中 90% 的高级场景。

【免费下载链接】wecom-cli企业微信开放平台命令行工具 — 让人类和 AI Agent 都能在终端中操作企业微信项目地址: https://gitcode.com/gh_mirrors/we/wecom-cli

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 7:32:11

WinForm RichTextBox 工业级文本编辑器实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 7:30:49

STM32学习与实战:战略上不贪也不放,走好每一步

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 7:30:47

BepInEx 安装上手:把插件框架装进你的 Unity 游戏

BepInEx 安装上手&#xff1a;把插件框架装进你的 Unity 游戏 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx 是一个面向 Unity 和 .NET 游戏的插件加载框架&#xff0c;装…

作者头像 李华
网站建设 2026/9/29 7:29:50

Zephyr应用:10-Thread

摘要&#xff1a;本文是 Zephyr RTOS 多线程编程的入门实战课。你将理解线程&#xff08;Thread&#xff09;与裸机顺序执行的区别&#xff0c;掌握 K_THREAD_DEFINE() 创建静态线程、k_sleep() / k_msleep() 主动让出 CPU、线程优先级&#xff08;数值越小优先级越高&#xff…

作者头像 李华
网站建设 2026/9/29 7:29:37

AI工程从零搭建:RAG、Prompt与Agent工作流实战

很多人问我&#xff0c;“AI工程到底怎么入门&#xff1f;”我自己也是从一个个零散脚本起步&#xff0c;踩了不少坑&#xff0c;才慢慢摸出一套能复用的工程化路径。今天这篇就围绕“ai-engineering-from-scratch”这个项目主题&#xff0c;聊聊从零搭一个AI工程的全部关键环节…

作者头像 李华