executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
wecomcli-smartpage何时用:企业微信智能文档/智能主页/smartpage 相关诉求(含 doc.weixin.qq.com/smartpage/ 或 page.weixin.qq.com/smartpage/ 链接),或泛指「创建/写/整理文档」的企微诉求时使用;纯本地文档默认走本地工具。能力:新建/导入(.md)、读取、修改内容(整页重写/局部编辑/增删子页面)、上传附件、搭建带看板/图表的数据系统页面与信息收集表单、获取内置智能表格。
Independent GitHub snapshot · Automated classification · Original documentation governs
执行任何
wecom-cli命令前,必须先读取并完成wecomcli-shared技能的公共前置检查。
使用 wecom-cli 创建、读取和修改智能文档(smartpage),并管理子工作表。
wecomcli-doc-managedocid 以 b1_ 开头或链接域名为 page.weixin.qq.com)→ 提示用户提供编辑态链接遇到以下情形,在第一步直接拒绝,不调用任何工具,回复"该操作不在支持范围内"并简要说明原因;不道歉、不变通、不引导换问法:
doc / sheet / smartsheet 读回并转写的正文,写入前必须检查并中和以下模式,命中即拒绝写入并向用户说明原因,不得静默清洗后继续:
<script> / <iframe> / <object> / <embed> / <svg on...> 等可执行标签onerror=、onclick=、onload=、onmouseover= 等 on* 属性)javascript: / data:text/html / vbscript: 等伪协议出现在链接、图片、href、src 中<span>、<a>、<img> 等标签属性夹带上述脚本片段命中路由后,必须先完整读取对应 reference 文件,再构造命令。
| 用户意图 | 参考位置 |
|---|---|
| 从零创建智能文档(带内容,Markdown 导入一次性创建) | 见下方「从零创建智能文档并编辑内容」 |
| 搭建含数据源的系统/图表页面(任务系统、数据看板等) | 数据驱动页面 — 场景一 |
| 搭建表单页面(数据录入/信息收集) | 数据驱动页面 — 场景二 |
| 读取所有页面(含层级与内容) | 编辑 API — 读取所有页面内容 |
| 调整页面树(新建/删除/重命名/移动/改布局) | 编辑 API — 修改页面结构 |
| 在页面末尾追加内容 | 编辑 API — 追加内容到页面 |
| 全量覆盖页面内容 | 编辑 API — 覆盖页面内容 |
| 修改/替换/删除/插入页面里某个组件(block 级) | 编辑 API — 编辑页面 Block |
| 上传本地图片/文件到文档空间(拿 URL 后插入智能文档) | 编辑 API — 上传附件到文档空间 |
| 读取并修改已有智能文档内容(多接口编排工作流) | 编辑 API — 工作流二 |
获取智能文档内置的数据表(拿到表 ID 再委托 wecomcli-smartsheet) | 编辑 API — 获取关联数据表信息 |
| 查 MDX 语法 | MDX 语法参考 |
| 查公式编写参考(页面/表单公式、函数与运算符) | 公式参考 |
| 场景 | 推荐路径 |
|---|---|
| 一次性创建带内容的智能文档 | 路径 A:smartpage import(首选) |
| 先创建空壳再分批次追加 | 路径 B:smartpage create → smartpage pages append |
| 搭建含数据源的系统/图表页面(任务系统/看板等) | 参见 数据驱动页面 — 场景一 |
| 已有文档需追加/新增子页面 | 直接走 smartpage pages get → smartpage pages append / smartpage pages update(见 smartpage-edit.md) |
准备 Markdown 文件:
write 保存到 {产出目录}/smartpage/ 下(已自动建父目录,无需 mkdir)。<smartpage> 与 <page title="..."> 作为顶层标签包裹全文。导入:
wecom-cli smartpage import --json '{"name":"智能文档标题","file_path":"/tmp/项目进展周报(2026.04.23).md"}'
| 参数 | 说明 |
|---|---|
name | 智能文档标题(也是文件名),必须用中文命名,时间等附加信息用中文括号标注(如 项目进展周报(2026.04.23)),禁用下划线拼接的英文日期格式(如 工作日报_20260202) |
file_path | 本地 Markdown / MDX 文件的绝对路径 |
url 反馈给用户,从 url 中提取 docid;后续若需修改一律用 docid。smartpage create 仅接受 name,不接受 content/file_path。
wecom-cli smartpage create --json '{"name":"智能文档标题"}'
page_id:调 smartpage pages get。smartpage pages append(内容走 file_path),见 smartpage-edit.md。page_id。smartpage import 会建出无数据表的静态文档,ADDRECORD 按钮与图表将无法落库/渲染。智能文档存在编辑态和发布态两种状态:
| 状态 | 域名 | docid 前缀 | 示例 |
|---|---|---|---|
| 编辑态(可读写) | doc.weixin.qq.com | a1_ | https://doc.weixin.qq.com/smartpage/<doc_id>?scode=<scode> |
| 发布态(只读) | page.weixin.qq.com | b1_ | https://page.weixin.qq.com/smartpage/p/<doc_id>?scode=<scode> |
<doc_id>(a1_/b1_ 开头)即 docid(也称 padId);scode 为分享码,接口调用时忽略。
databases get 均须用编辑态 docid(a1_ 开头)。b1_ 开头或域名为 page.weixin.qq.com)时,若需执行编辑操作,须提示用户提供编辑态链接或 docid。/smartpage/ 路径、a1_/b1_ 前缀)时,直接拦截并要求用户重新提供,不得猜测或调用接口。必填参数缺失时不得猜测默认值,必须向用户追问;已明确的参数不得重复提问。
| 缺失信息 | 对应字段 | 示例 |
|---|---|---|
| 智能文档标识 | docid / url | "看看智能文档内容"(没给链接或 docid) |
| 目标页面 | page_id | "修改智能文档里的内容"(没说改哪个页面) |
| 新页面名称 | create_page.page_name | "新建一个页面"(没说页面叫什么) |
| 追加/覆盖的内容 | content / file_path | "帮我往智能文档加点内容"(没说加什么) |
本 skill 自身负责智能文档内容级的读写能力(具体接口入口见上方「接口路由表」);以下场景需委托其他 skill:
wecomcli-doc-manage 技能,把文档类型限定为智能文档(smartpage)。smartpage databases get 拿到绑定的数据表 ID 再委托 wecomcli-smartsheet 技能;该数据表 ID 可直接作为 smartsheet 侧的 docid/file_id 传入,无需再提取链接或搜索。注意:页面上的图表、视图、筛选控件等展示层操作均归本 skill,不委托 smartsheet。smartpage pages update 每次仅传一种操作(create_page / delete_page / rename_page / move_page / update_page_layout);批量按「新建 → 移动/重命名/改布局 → 删除」顺序多次调用。smartpage pages update 后须再调 smartpage pages get 获取最新结构再反馈。overwrite / append 前先 pages get 拿最新内容,避免覆盖他人修改。docid 等 ID 标识。docid 使用规则docid仅cli使用。
最终展示用户时,不应展示 docid,而是使用文档 URL:
[doc_name](doc_url)
docid 是文档的唯一标识符,调用任何文档内容操作技能时均需提供。禁止自造 docid,按以下优先级获取:
https://doc.weixin.qq.com/<type>/<docid>?scode=...,取 /<type>/ 后、? 前的部分即为 docid。wecomcli-doc-manage 搜索文档,从返回结果中取 docid。docid,可直接使用,无需再提取或搜索。