@wecom/wecom-openclaw-plugin 2026.7.2 → 2026.8.17-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +33 -4
  2. package/dist/index.js +14 -21
  3. package/dist/src/cli/argv.d.ts +36 -0
  4. package/dist/src/cli/argv.js +155 -0
  5. package/dist/src/cli/const.d.ts +94 -0
  6. package/dist/src/cli/const.js +107 -0
  7. package/dist/src/cli/credentials.d.ts +54 -0
  8. package/dist/src/cli/credentials.js +342 -0
  9. package/dist/src/cli/index.d.ts +5 -0
  10. package/dist/src/cli/index.js +5 -0
  11. package/dist/src/cli/legacy-tool-warning.d.ts +12 -0
  12. package/dist/src/cli/legacy-tool-warning.js +20 -0
  13. package/dist/src/cli/locate.d.ts +32 -0
  14. package/dist/src/cli/locate.js +196 -0
  15. package/dist/src/cli/process-launcher.d.ts +1 -0
  16. package/dist/src/cli/process-launcher.js +1 -0
  17. package/dist/src/cli/process-output.d.ts +14 -0
  18. package/dist/src/cli/process-output.js +43 -0
  19. package/dist/src/cli/tool.d.ts +46 -0
  20. package/dist/src/cli/tool.js +363 -0
  21. package/dist/src/const.d.ts +0 -8
  22. package/dist/src/const.js +0 -14
  23. package/dist/src/monitor.js +1 -12
  24. package/dist/src/state-manager.d.ts +0 -19
  25. package/dist/src/state-manager.js +1 -34
  26. package/dist/src/utils.d.ts +27 -0
  27. package/openclaw.plugin.json +1 -1
  28. package/package.json +3 -3
  29. package/skills/wecom-send-media/SKILL.md +2 -0
  30. package/skills/wecom-send-template-card/SKILL.md +1 -1
  31. package/skills/wecomcli-calendar/SKILL.md +302 -0
  32. package/skills/wecomcli-calendar/references/calendar-agenda.md +228 -0
  33. package/skills/wecomcli-calendar/references/calendar-cancel.md +110 -0
  34. package/skills/wecomcli-calendar/references/calendar-create.md +240 -0
  35. package/skills/wecomcli-calendar/references/calendar-freebusy.md +209 -0
  36. package/skills/wecomcli-calendar/references/calendar-meeting-room.md +172 -0
  37. package/skills/wecomcli-calendar/references/calendar-search.md +208 -0
  38. package/skills/wecomcli-calendar/references/calendar-update.md +274 -0
  39. package/skills/wecomcli-contact/SKILL.md +59 -0
  40. package/skills/wecomcli-disk/SKILL.md +401 -0
  41. package/skills/wecomcli-doc/SKILL.md +140 -0
  42. package/skills/wecomcli-doc/references/doc-contents-append.md +22 -0
  43. package/skills/wecomcli-doc/references/doc-contents-overwrite.md +29 -0
  44. package/skills/wecomcli-doc/references/doc-create.md +161 -0
  45. package/skills/wecomcli-doc/scripts/build_docx.py +1375 -0
  46. package/skills/wecomcli-doc-manage/SKILL.md +135 -0
  47. package/skills/wecomcli-doc-manage/references/doc-members-update.md +26 -0
  48. package/skills/wecomcli-doc-manage/references/doc-names-update.md +22 -0
  49. package/skills/wecomcli-doc-manage/references/doc-rules-update.md +24 -0
  50. package/skills/wecomcli-email/SKILL.md +216 -0
  51. package/skills/wecomcli-email/references/forward-mail.md +131 -0
  52. package/skills/wecomcli-email/references/get-mail.md +168 -0
  53. package/skills/wecomcli-email/references/reply-mail.md +140 -0
  54. package/skills/wecomcli-email/references/search-mail.md +113 -0
  55. package/skills/wecomcli-email/references/security.md +53 -0
  56. package/skills/wecomcli-email/references/send-mail.md +186 -0
  57. package/skills/wecomcli-email/references/send-schedule.md +83 -0
  58. package/skills/wecomcli-media/SKILL.md +100 -0
  59. package/skills/wecomcli-meeting/SKILL.md +374 -0
  60. package/skills/wecomcli-meeting/references/meeting-cancel.md +115 -0
  61. package/skills/wecomcli-meeting/references/meeting-create.md +169 -0
  62. package/skills/wecomcli-meeting/references/meeting-list.md +228 -0
  63. package/skills/wecomcli-meeting/references/meeting-original-get.md +100 -0
  64. package/skills/wecomcli-meeting/references/meeting-search.md +175 -0
  65. package/skills/wecomcli-meeting/references/meeting-update.md +219 -0
  66. package/skills/wecomcli-message/SKILL.md +213 -0
  67. package/skills/wecomcli-preflight/SKILL.md +147 -0
  68. package/skills/wecomcli-sheet/SKILL.md +177 -0
  69. package/skills/wecomcli-sheet/references/sheet-contents-update.md +49 -0
  70. package/skills/wecomcli-sheet/references/sheet-ranges-get.md +47 -0
  71. package/skills/wecomcli-sheet/references/sheet-rows-append.md +47 -0
  72. package/skills/wecomcli-sheet/references/sheet-subsheets-add.md +28 -0
  73. package/skills/wecomcli-sheet/references/sheet-subsheets-delete.md +22 -0
  74. package/skills/wecomcli-smartpage/SKILL.md +172 -0
  75. package/skills/wecomcli-smartpage/references/data-driven-pages.md +50 -0
  76. package/skills/wecomcli-smartpage/references/formula/arraylist.md +369 -0
  77. package/skills/wecomcli-smartpage/references/formula/datetime.md +283 -0
  78. package/skills/wecomcli-smartpage/references/formula/logic.md +247 -0
  79. package/skills/wecomcli-smartpage/references/formula/math.md +362 -0
  80. package/skills/wecomcli-smartpage/references/formula/operators.md +246 -0
  81. package/skills/wecomcli-smartpage/references/formula/pageblock.md +76 -0
  82. package/skills/wecomcli-smartpage/references/formula/templates.md +410 -0
  83. package/skills/wecomcli-smartpage/references/formula/text.md +377 -0
  84. package/skills/wecomcli-smartpage/references/formula/user.md +22 -0
  85. package/skills/wecomcli-smartpage/references/formula-reference.md +192 -0
  86. package/skills/wecomcli-smartpage/references/mdx-syntax.md +739 -0
  87. package/skills/wecomcli-smartpage/references/smartpage-edit.md +519 -0
  88. package/skills/wecomcli-smartsheet/SKILL.md +153 -0
  89. package/skills/wecomcli-smartsheet/assets/templates/README.md +53 -0
  90. package/skills/wecomcli-smartsheet/assets/templates/ai_efficiency.md +709 -0
  91. package/skills/wecomcli-smartsheet/assets/templates/connect_to_app.md +380 -0
  92. package/skills/wecomcli-smartsheet/assets/templates/financial_accounting.md +369 -0
  93. package/skills/wecomcli-smartsheet/assets/templates/hr_and_administration.md +475 -0
  94. package/skills/wecomcli-smartsheet/assets/templates/ledger_records.md +156 -0
  95. package/skills/wecomcli-smartsheet/assets/templates/manufacturing.md +395 -0
  96. package/skills/wecomcli-smartsheet/assets/templates/marketing.md +186 -0
  97. package/skills/wecomcli-smartsheet/assets/templates/office_essentials.md +299 -0
  98. package/skills/wecomcli-smartsheet/assets/templates/personal_efficiency.md +70 -0
  99. package/skills/wecomcli-smartsheet/assets/templates/procurement_logistics.md +325 -0
  100. package/skills/wecomcli-smartsheet/assets/templates/project_management.md +564 -0
  101. package/skills/wecomcli-smartsheet/assets/templates/rd_process_customer.md +222 -0
  102. package/skills/wecomcli-smartsheet/assets/templates/rd_process_ops.md +105 -0
  103. package/skills/wecomcli-smartsheet/assets/templates/rd_process_project.md +109 -0
  104. package/skills/wecomcli-smartsheet/assets/templates/rd_process_research.md +92 -0
  105. package/skills/wecomcli-smartsheet/assets/templates/sales_and_operations.md +446 -0
  106. package/skills/wecomcli-smartsheet/assets/templates/store_management.md +431 -0
  107. package/skills/wecomcli-smartsheet/assets/templates/team_tasks.md +274 -0
  108. package/skills/wecomcli-smartsheet/assets/templates/wechat_customer.md +384 -0
  109. package/skills/wecomcli-smartsheet/assets/templates/work_report.md +100 -0
  110. package/skills/wecomcli-smartsheet/references/common.md +145 -0
  111. package/skills/wecomcli-smartsheet/references/smart-sheet-chart-types.md +95 -0
  112. package/skills/wecomcli-smartsheet/references/smart-sheet-edit.md +611 -0
  113. package/skills/wecomcli-smartsheet/references/smart-sheet-field-types.md +438 -0
  114. package/skills/wecomcli-smartsheet/references/smart-sheet-formula.md +845 -0
  115. package/skills/wecomcli-smartsheet/references/smart-sheet-read.md +411 -0
  116. package/skills/wecomcli-smartsheet/references/smart-sheet-record-values.md +203 -0
  117. package/skills/wecomcli-smartsheet/references/smart-sheet-view-types.md +356 -0
  118. package/skills/{wecom-smartsheet/references/webhook-examples.md → wecomcli-smartsheet/references/smart-sheet-webhook-examples.md} +23 -32
  119. package/skills/wecomcli-smartsheet/references/smart-sheet-webhook.md +169 -0
  120. package/skills/wecomcli-todo/SKILL.md +75 -0
  121. package/skills/wecomcli-todo/references/todo-create.md +139 -0
  122. package/skills/wecomcli-todo/references/todo-delete.md +65 -0
  123. package/skills/wecomcli-todo/references/todo-finish.md +74 -0
  124. package/skills/wecomcli-todo/references/todo-get.md +68 -0
  125. package/skills/wecomcli-todo/references/todo-list.md +135 -0
  126. package/skills/wecomcli-todo/references/todo-update.md +114 -0
  127. package/dist/src/mcp/index.d.ts +0 -6
  128. package/dist/src/mcp/index.js +0 -10
  129. package/dist/src/mcp/interceptors/biz-error.d.ts +0 -11
  130. package/dist/src/mcp/interceptors/biz-error.js +0 -69
  131. package/dist/src/mcp/interceptors/doc-auth-error.d.ts +0 -10
  132. package/dist/src/mcp/interceptors/doc-auth-error.js +0 -171
  133. package/dist/src/mcp/interceptors/index.d.ts +0 -35
  134. package/dist/src/mcp/interceptors/index.js +0 -70
  135. package/dist/src/mcp/interceptors/msg-media.d.ts +0 -11
  136. package/dist/src/mcp/interceptors/msg-media.js +0 -133
  137. package/dist/src/mcp/interceptors/smartpage-create.d.ts +0 -30
  138. package/dist/src/mcp/interceptors/smartpage-create.js +0 -132
  139. package/dist/src/mcp/interceptors/smartpage-export.d.ts +0 -17
  140. package/dist/src/mcp/interceptors/smartpage-export.js +0 -87
  141. package/dist/src/mcp/interceptors/smartsheet-upload.d.ts +0 -22
  142. package/dist/src/mcp/interceptors/smartsheet-upload.js +0 -263
  143. package/dist/src/mcp/interceptors/types.d.ts +0 -64
  144. package/dist/src/mcp/interceptors/types.js +0 -7
  145. package/dist/src/mcp/schema.d.ts +0 -11
  146. package/dist/src/mcp/schema.js +0 -99
  147. package/dist/src/mcp/tool.d.ts +0 -63
  148. package/dist/src/mcp/tool.js +0 -224
  149. package/dist/src/mcp/transport.d.ts +0 -94
  150. package/dist/src/mcp/transport.js +0 -549
  151. package/skills/wecom-contact/SKILL.md +0 -162
  152. package/skills/wecom-doc/SKILL.md +0 -127
  153. package/skills/wecom-meeting/SKILL.md +0 -441
  154. package/skills/wecom-meeting/references/example-full.md +0 -30
  155. package/skills/wecom-meeting/references/example-reminder.md +0 -46
  156. package/skills/wecom-meeting/references/example-security.md +0 -22
  157. package/skills/wecom-meeting/references/response-get-meeting-info.md +0 -148
  158. package/skills/wecom-msg/SKILL.md +0 -157
  159. package/skills/wecom-msg/references/api-get-messages.md +0 -93
  160. package/skills/wecom-msg/references/api-get-msg-chat-list.md +0 -58
  161. package/skills/wecom-msg/references/api-get-msg-media.md +0 -44
  162. package/skills/wecom-msg/references/api-send-message.md +0 -39
  163. package/skills/wecom-preflight/SKILL.md +0 -141
  164. package/skills/wecom-schedule/SKILL.md +0 -161
  165. package/skills/wecom-schedule/references/api-check-availability.md +0 -56
  166. package/skills/wecom-schedule/references/api-create-schedule.md +0 -38
  167. package/skills/wecom-schedule/references/api-get-schedule-detail.md +0 -81
  168. package/skills/wecom-schedule/references/api-update-schedule.md +0 -32
  169. package/skills/wecom-schedule/references/ref-reminders.md +0 -24
  170. package/skills/wecom-sheet/SKILL.md +0 -131
  171. package/skills/wecom-sheet/references/sheet-add-sub.md +0 -54
  172. package/skills/wecom-sheet/references/sheet-append-data.md +0 -64
  173. package/skills/wecom-sheet/references/sheet-delete-sub.md +0 -38
  174. package/skills/wecom-sheet/references/sheet-update-range-data.md +0 -95
  175. package/skills/wecom-smartpage/SKILL.md +0 -119
  176. package/skills/wecom-smartpage/references/smartpage-create.md +0 -130
  177. package/skills/wecom-smartpage/references/smartpage-export.md +0 -168
  178. package/skills/wecom-smartsheet/SKILL.md +0 -241
  179. package/skills/wecom-smartsheet/references/smartsheet-cell-value-formats.md +0 -163
  180. package/skills/wecom-smartsheet/references/smartsheet-field-types.md +0 -44
  181. package/skills/wecom-smartsheet/references/smartsheet-get-records.md +0 -187
  182. package/skills/wecom-smartsheet/references/webhook-fallback.md +0 -183
  183. package/skills/wecom-todo/SKILL.md +0 -392
  184. package/skills/wecom-todo/examples/workflows.md +0 -163
@@ -1,54 +0,0 @@
1
- # sheet_add_sub API
2
-
3
- 向**在线表格**添加一个新的子工作表,返回新增子表信息(含 `sheet_id`)。
4
-
5
- ## 调用
6
-
7
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc sheet_add_sub '<JSON 参数>'`
8
-
9
- ## 参数说明
10
-
11
- | 参数 | 类型 | 必填 | 说明 |
12
- |---|---|---|---|
13
- | docid | string | 是 | 在线表格 ID |
14
- | sheet | object | 是 | 子表信息 |
15
- | sheet.title | string | 是 | 工作表名称 |
16
- | sheet.row_count | int | 否 | 表格总行数 |
17
- | sheet.column_count | int | 否 | 表格总列数 |
18
- | index | int | 否 | 插入位置:`0` 表示插入到最后,`1` 表示插入到第一个位置 |
19
-
20
- ## 返回字段
21
-
22
- | 字段 | 类型 | 说明 |
23
- |---|---|---|
24
- | `sheet` | object | 新增的子表信息;含 `sheet_id`(唯一标识)/ `title` / `row_count` / `column_count` / `data_range`(新建时为空) |
25
-
26
- ## 请求示例
27
-
28
- ```json
29
- {
30
- "docid": "DOCID",
31
- "sheet": {
32
- "title": "新子表",
33
- "row_count": 100,
34
- "column_count": 26
35
- },
36
- "index": 0
37
- }
38
- ```
39
-
40
- ## 响应示例
41
-
42
- ```json
43
- {
44
- "errcode": 0,
45
- "errmsg": "ok",
46
- "sheet": {
47
- "sheet_id": "SHEET_ID",
48
- "title": "新子表",
49
- "row_count": 100,
50
- "column_count": 26,
51
- "data_range": ""
52
- }
53
- }
54
- ```
@@ -1,64 +0,0 @@
1
- # sheet_append_data API
2
-
3
- 向**在线表格**的指定子工作表末尾自动追加一行数据,无需指定行号——数据将写到最末一行之后。适合逐行写入。
4
-
5
- ## 调用
6
-
7
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc sheet_append_data '<JSON 参数>'`
8
-
9
- ## 参数说明
10
-
11
- | 参数 | 类型 | 必填 | 说明 |
12
- |---|---|---|---|
13
- | docid | string | 是 | 在线表格 ID |
14
- | sheet_id | string | 是 | 工作表 ID,通过 `sheet_get_info` 获取 |
15
- | row | object | 是 | 追加的一行数据 |
16
- | row.values | array | 是 | 单元格数组,按列顺序排列 |
17
-
18
- `row.values[]` 对象结构:
19
-
20
- | 子字段 | 类型 | 说明 |
21
- |---|---|---|
22
- | `cell_value` | object | 单元格值,形如 `{"text": "<文本>"}` / `{"link": {"url": "<URL>", "text": "<显示文本>"}}` / `{"formula": "=SUM(A1,A2)"}` |
23
- | `cell_format` | object | 单元格样式;传空对象 `{}` 表示默认样式 |
24
-
25
- ## 返回字段
26
-
27
- | 字段 | 类型 | 说明 |
28
- |---|---|---|
29
- | `row` | object | 写入的行数据,结构与入参 `row` 一致 |
30
-
31
- ## 请求示例
32
-
33
- ```json
34
- {
35
- "docid": "DOCID",
36
- "sheet_id": "SHEET_ID",
37
- "row": {
38
- "values": [
39
- { "cell_value": { "text": "新任务" }, "cell_format": {} },
40
- { "cell_value": { "text": "李四" }, "cell_format": {} }
41
- ]
42
- }
43
- }
44
- ```
45
-
46
- ## 响应示例
47
-
48
- ```json
49
- {
50
- "errcode": 0,
51
- "errmsg": "ok",
52
- "row": {
53
- "values": [
54
- { "cell_value": { "text": "新任务" } },
55
- { "cell_value": { "text": "李四" } }
56
- ]
57
- }
58
- }
59
- ```
60
-
61
- ## 使用规则
62
-
63
- - **逐行写入场景**:本接口会自动定位到子表最末一行之后追加;批量写不同区域请用 `sheet_update_range_data`。
64
- - **读 → 写 链路**:写入前先用 `get_doc_content` 识别出目标子表的**标题**与**具体数据**,再用 `sheet_get_info` 拿到 `sheets[]`,按**子表标题匹配 `title`** 确定 `sheet_id`,并参考其 `column_count` 核对每行单元格数量与列对齐。
@@ -1,38 +0,0 @@
1
- # sheet_delete_sub API
2
-
3
- 根据 `docid` 与 `sheet_id` 删除**在线表格**的指定子工作表,**操作不可逆**。
4
-
5
- ## 调用
6
-
7
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc sheet_delete_sub '<JSON 参数>'`
8
-
9
- ## 参数说明
10
-
11
- | 参数 | 类型 | 必填 | 说明 |
12
- |---|---|---|---|
13
- | docid | string | 是 | 在线表格 ID |
14
- | sheet_id | string | 是 | 要删除的工作表 ID,通过 `sheet_get_info` 获取 |
15
-
16
- ## 请求示例
17
-
18
- ```json
19
- {
20
- "docid": "DOCID",
21
- "sheet_id": "SHEET_ID"
22
- }
23
- ```
24
-
25
- ## 响应示例
26
-
27
- 删除成功返回空对象(仅含公共字段):
28
-
29
- ```json
30
- {
31
- "errcode": 0,
32
- "errmsg": "ok"
33
- }
34
- ```
35
-
36
- ## 注意事项
37
-
38
- - **操作不可逆**,删除前请通过 `sheet_get_info` 确认目标 `sheet_id`。
@@ -1,95 +0,0 @@
1
- # sheet_update_range_data API
2
-
3
- 修改**在线表格**指定区域的内容与格式,通过 `grid_data` 指定写入的起始位置与各单元格数据。适合批量写入某个区域。
4
-
5
- ## 调用
6
-
7
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc sheet_update_range_data '<JSON 参数>'`
8
-
9
- ## 参数说明
10
-
11
- | 参数 | 类型 | 必填 | 说明 |
12
- |---|---|---|---|
13
- | docid | string | 是 | 在线表格 ID |
14
- | sheet_id | string | 是 | 工作表 ID,通过 `sheet_get_info` 获取 |
15
- | grid_data | object | 是 | 写入区域的数据 |
16
- | grid_data.start_row | int | 是 | 起始行号,从 0 起 |
17
- | grid_data.start_column | int | 是 | 起始列号,从 0 起 |
18
- | grid_data.rows | array | 是 | 各行数据 |
19
-
20
- `grid_data.rows[].values[]` 对象结构:
21
-
22
- | 子字段 | 类型 | 说明 |
23
- |---|---|---|
24
- | `cell_value` | object | 单元格值,根据内容类型选择对应字段(见下表)|
25
- | `cell_format` | object | 单元格样式;传空对象 `{}` 表示默认样式 |
26
-
27
- `cell_value` 的字段必须按内容类型选择:
28
-
29
- | 内容类型 | 必须使用的字段 | 示例 |
30
- |---|---|---|
31
- | 普通文本/数字 | `text` | `{"text": "张三"}`、`{"text": "100"}` |
32
- | 超链接 | `link` | `{"link": {"url": "https://...", "text": "显示文本"}}` |
33
- | 公式(以 `=` 开头) | `formula` | `{"formula": "=SUM(A1:A2)"}` |
34
-
35
- > 公式必须用 `formula` 字段,禁止写成 `{"text": "=SUM(A1:A2)"}`
36
-
37
- ## 返回字段
38
-
39
- | 字段 | 类型 | 说明 |
40
- |---|---|---|
41
- | `grid_data` | object | 写入的数据,结构与入参 `grid_data` 一致 |
42
-
43
- ## 请求示例
44
-
45
- ```json
46
- {
47
- "docid": "DOCID",
48
- "sheet_id": "SHEET_ID",
49
- "grid_data": {
50
- "start_row": 0,
51
- "start_column": 0,
52
- "rows": [
53
- {
54
- "values": [
55
- { "cell_value": { "text": "完成需求文档" }, "cell_format": {} },
56
- { "cell_value": { "text": "张三" }, "cell_format": {} }
57
- ]
58
- },
59
- {
60
- "values": [
61
- { "cell_value": { "text": "合计" }, "cell_format": {} },
62
- { "cell_value": { "formula": "=SUM(B1:B1)" }, "cell_format": {} }
63
- ]
64
- }
65
- ]
66
- }
67
- }
68
- ```
69
-
70
- ## 响应示例
71
-
72
- ```json
73
- {
74
- "errcode": 0,
75
- "errmsg": "ok",
76
- "grid_data": {
77
- "start_row": 0,
78
- "start_column": 0,
79
- "rows": [
80
- {
81
- "values": [
82
- { "cell_value": { "text": "完成需求文档" } },
83
- { "cell_value": { "text": "张三" } }
84
- ]
85
- }
86
- ]
87
- }
88
- }
89
- ```
90
-
91
- ## 使用规则
92
-
93
- - 批量写不同区域用本接口;逐行追加到子表末尾请用 `sheet_append_data`。
94
- - **公式一律用 `formula` 字段**:任何以 `=` 开头的内容(如 `=SUM(...)`、`=A1+B1`、`=IF(...)`)都必须写成 `{"formula": "=..."}`,不可写成 `{"text": "=..."}`,否则只会被当作文本显示而不计算。
95
- - **读 → 写 链路**:写入前先用 `get_doc_content` 识别出目标子表的**标题**与**具体数据**,再用 `sheet_get_info` 拿到 `sheets[]`,按**子表标题匹配 `title`** 确定 `sheet_id`,并参考其 `row_count` / `column_count` 核对 `grid_data` 的写入区域是否越界。
@@ -1,119 +0,0 @@
1
- ---
2
- name: wecom-smartpage
3
- description: 企业微信智能文档(原名智能主页,smartpage)管理技能。提供智能文档的创建(将本地 Markdown 文件发布为智能文档)与内容导出(异步导出为 Markdown)能力。适用场景:(1) 将一个或多个本地 Markdown 文件创建为智能文档 (2) 异步导出智能文档内容为 Markdown。支持通过 docid 或文档 URL 定位文档。当用户明确提到「智能文档」「智能主页」,或链接形如 `https://doc.weixin.qq.com/smartpage/xxx` 时触发该技能。注意:普通文档(`/doc/*`)请用 `wecom-doc`;在线表格(`/sheet/*`)请用 `wecom-sheet`;智能表格(`/smartsheet/*`)请用 `wecom-smartsheet`。
4
- ---
5
-
6
- # 企业微信智能文档管理
7
-
8
- > `wecom_mcp` 是一个 MCP tool,所有操作通过调用该 tool 完成。
9
-
10
- > ⚠️ **前置条件**:首次调用 `wecom_mcp` 前,必须按 `wecom-preflight` 技能执行前置条件检查,确保工具已加入白名单。
11
-
12
- 资源型技能,负责**智能文档**(原名智能主页,`/smartpage/*`)的创建与内容导出。
13
-
14
- > ⚠️ **重要触发规则**:只有当用户明确提到「**智能文档**」或「**智能主页**」时,才使用本技能。其他所有涉及「文档」的场景(如"创建文档"、"写个文档"、"帮我建个文档"等),一律使用 `wecom-doc` 技能。
15
-
16
- ## 调用方式
17
-
18
- 通过 `wecom_mcp` tool 调用,品类名为 `doc`:
19
-
20
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc <tool_name> '<json_params>'` 调用指定技能
21
-
22
- ## 返回格式说明
23
-
24
- 所有接口返回 JSON 对象,包含以下公共字段:
25
-
26
- | 字段 | 类型 | 说明 |
27
- |------|------|------|
28
- | `errcode` | integer | 返回码,`0` 表示成功,非 `0` 表示失败 |
29
- | `errmsg` | string | 错误信息,成功时为 `"ok"` |
30
-
31
- 当 `errcode` 不为 `0` 时,说明接口调用失败,可重试 1 次;若仍失败,将 `errcode` 和 `errmsg` 展示给用户。
32
-
33
- ### 特殊错误码
34
-
35
- | errcode | errmsg | 含义 | 处理方式 |
36
- |---------|--------|------|----------|
37
- | `851002` | `incompatible doc type` | 文档品类与所调用的接口不匹配 | 确认目标 URL 为 `/smartpage/*`;若不是,请跳转到对应品类的 skill |
38
-
39
- ## 接口详述
40
-
41
- ### smartpage_create — 创建智能文档
42
-
43
- 创建智能文档(原名智能主页),支持传入标题和多个子页面。每个子页面可指定标题、内容类型和本地文件路径。创建成功返回 `docid` 和 `url`。
44
-
45
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_create '{"title": "项目概览", "pages": [{"page_title": "需求文档", "content_type": 1, "page_filepath": "/path/to/requirements.md"}]}'`
46
-
47
- **参数**
48
-
49
- | 参数 | 类型 | 必填 | 默认值 | 说明 |
50
- |---|---|---|---|---|
51
- | `title` | string | 否 | — | 智能文档标题 |
52
- | `pages` | array | 是 | — | 子页面列表 |
53
- | `pages[].page_title` | string | 否 | — | 子页面标题 |
54
- | `pages[].content_type` | int | 否 | 1 | 内容类型:1-Markdown,0-Text(纯文本) |
55
- | `pages[].page_filepath` | string | 否 | — | 子页面内容对应的本地文件路径 |
56
-
57
- **注意事项**
58
-
59
- - `content_type` **必须与文件实际内容匹配**:`.md` 文件或包含 Markdown 语法的内容必须传 `1`(Markdown),仅纯文本才传 `0`。绝大多数场景应传 `1`。
60
- - `docid` 仅在创建时返回,需妥善保存。
61
- - 每个子页面的 Markdown 文件大小不得超过 **10MB**,超过会导致创建失败;如文件过大,需先拆分为多个子页面再创建。
62
- - 智能文档还支持背景块(`<card>`)、分栏(`<grid>`)等扩展语法,详见 [references/smartpage-create.md](references/smartpage-create.md)。
63
-
64
- 参见 [API 详情](references/smartpage-create.md)。
65
-
66
- ### smartpage_export_task — 提交导出任务
67
-
68
- 发起智能文档内容导出任务(异步)。传入 `docid`(或 `url`)和 `content_type`,返回 `task_id`。这是异步导出的第一步,需配合 `smartpage_get_export_result` 轮询获取导出结果。
69
-
70
- - 通过 docid:使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_export_task '{"docid": "DOCID", "content_type": 1}'`
71
- - 或通过 URL:使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_export_task '{"url": "https://doc.weixin.qq.com/smartpage/xxx", "content_type": 1}'`
72
-
73
- **参数**
74
-
75
- | 参数 | 类型 | 必填 | 默认值 | 说明 |
76
- |---|---|---|---|---|
77
- | `docid` | string | 与 `url` 二选一 | — | 智能文档的 docid |
78
- | `url` | string | 与 `docid` 二选一 | — | 智能文档的访问链接 |
79
- | `content_type` | int | 是 | — | 导出内容格式,目前仅支持 `1`(Markdown) |
80
-
81
- 参见 [API 详情](references/smartpage-export.md)。
82
-
83
- ### smartpage_get_export_result — 查询导出结果
84
-
85
- 查询智能文档导出任务进度。传入 `task_id` 进行轮询,当 `task_done` 为 `true` 时返回 `content_filepath`(导出内容的本地文件路径)。
86
-
87
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_get_export_result '{"task_id": "TASK_ID"}'`
88
-
89
- **参数**
90
-
91
- | 参数 | 类型 | 必填 | 默认值 | 说明 |
92
- |---|---|---|---|---|
93
- | `task_id` | string | 是 | — | 由 `smartpage_export_task` 返回的任务 ID |
94
-
95
- **使用规则**
96
-
97
- - 第一步获取 `task_id` 后,携带其调用第二步;若 `task_done` 为 `false` 则继续轮询,直到 `task_done` 为 `true`。
98
- - 当 `task_done` 为 `true` 时,使用 Read 工具读取 `content_filepath` 指向的本地文件即可获取导出的 Markdown 内容。
99
-
100
- 参见 [API 详情](references/smartpage-export.md)。
101
-
102
- ## 典型工作流
103
-
104
- ### 创建智能文档
105
-
106
- 1. 准备本地 Markdown 文件(每个子页面对应一个 `.md` 文件,单个文件 ≤10MB)
107
- 2. **创建智能文档** → 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_create '{"title": "标题", "pages": [{"page_title": "子页面", "content_type": 1, "page_filepath": "/path/to/file.md"}]}'`,保存返回的 `docid`
108
-
109
- ### 导出智能文档内容(异步两步)
110
-
111
- 1. **发起导出任务** → 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_export_task '{"docid": "DOCID", "content_type": 1}'`,获取 `task_id`
112
- 2. **轮询导出结果** → 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_get_export_result '{"task_id": "TASK_ID"}'`,若 `task_done` 为 `false` 则继续轮询,直到 `task_done` 为 `true`
113
- 3. **读取本地文件** → 使用 Read 工具读取 `content_filepath` 指向的本地文件,获取 Markdown 内容
114
-
115
- ## 跨技能依赖
116
-
117
- | 依赖技能 | 典型协作场景 | 数据流向 |
118
- |---|---|---|
119
- | `wecom-msg` | 用户要求把智能文档链接发给某人/某群 | 本 skill 创建后返回 `url` → `wecom-msg` 发送链接 |
@@ -1,130 +0,0 @@
1
- # smartpage_create API
2
-
3
- 创建智能文档(原智能主页)。支持传入多个子页面,每个子页面可指定标题、内容类型和本地文件路径。创建成功后返回文档访问链接和 docid。
4
-
5
- ## 调用
6
-
7
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_create '<JSON 参数>'`
8
-
9
- ## 技能定义
10
-
11
- ```json
12
- {
13
- "name": "smartpage_create",
14
- "description": "创建智能文档(原智能主页)。支持传入标题和多个子页面配置,每个子页面可指定标题、内容类型(Text/Markdown)和本地文件路径。创建成功后返回 docid 和 url(docid 仅在创建时返回,需妥善保存)。",
15
- "inputSchema": {
16
- "properties": {
17
- "title": {
18
- "description": "智能文档标题",
19
- "title": "Title",
20
- "type": "string"
21
- },
22
- "pages": {
23
- "description": "子页面列表",
24
- "title": "Pages",
25
- "type": "array",
26
- "items": {
27
- "type": "object",
28
- "properties": {
29
- "page_title": {
30
- "description": "子页面标题",
31
- "title": "Page Title",
32
- "type": "string"
33
- },
34
- "content_type": {
35
- "description": "内容类型。1: Markdown(包含Markdown语法的内容),0: Text(纯文本,不含任何Markdown语法)",
36
- "enum": [0, 1],
37
- "default": 1,
38
- "title": "Content Type",
39
- "type": "integer"
40
- },
41
- "page_filepath": {
42
- "description": "子页面内容对应的本地文件路径",
43
- "title": "Page Filepath",
44
- "type": "string"
45
- }
46
- }
47
- }
48
- }
49
- },
50
- "required": ["pages"],
51
- "title": "smartpage_createArguments",
52
- "type": "object"
53
- }
54
- }
55
- ```
56
-
57
- ## 参数说明
58
-
59
- | 参数 | 类型 | 必填 | 说明 |
60
- |---|---|---|---|
61
- | title | string | 否 | 智能文档标题 |
62
- | pages | array | 是 | 子页面列表 |
63
- | pages[].page_title | string | 否 | 子页面标题 |
64
- | pages[].content_type | integer | 否 | 内容类型:1-Markdown,0-Text(纯文本)。**默认应传 1**,仅纯文本内容才传 0 |
65
- | pages[].page_filepath | string | 否 | 子页面内容对应的本地文件路径,需确保文件存在且可读 |
66
-
67
- ## ContentType 枚举
68
-
69
- | 值 | 含义 | 适用场景 |
70
- |---|---|---|
71
- | 1 | Markdown | 文件内容包含 Markdown 语法(标题、列表、链接、代码块等) |
72
- | 0 | Text(纯文本) | 文件内容为纯文本,不含任何 Markdown 语法 |
73
-
74
- 除了标准的 markdown 格式以外,智能文档还支持扩展语法以提升表示的丰富性,包括:
75
- 1. 背景块
76
- ```markdown
77
- <card color="green">
78
- ## 在扩展标签里面可以任意嵌套 markdown 语法
79
- - 背景块常用于展示重要信息
80
- - 颜色的使用根据需要表达的语义进行选择,卡片背景由 `color` 指定;支持 `green`, `blue`, `red`, `yellow`, `gray`, `purple`, `orange`, `cyan`, `indigo`,也支持 `dark_green`, `dark_blue`, `dark_red`, `dark_yellow`, `dark_gray`, `dark_purple`, `dark_orange`, `dark_cyan`, `dark_indigo` 等深色系。
81
- </card>
82
- ```
83
- 背景颜色推荐使用浅色背景,以完成区隔/高亮并且保持低饱和度确保正文内容的良好显示。
84
- 2. 分栏
85
- 使用分栏可以并列显示内容,常用于展示对比或者并列信息
86
- ```markdown
87
- <grid>
88
- <area width-ratio="0.5">占据50%的空间</area>
89
- <area width-ratio="0.5">占据50%的空间</area>
90
- </grid>
91
- ```
92
- width-ratio:子容器宽度占比,范围 0.1~1.0,所有的子容器宽度占比之和为 1
93
-
94
- ## 请求示例
95
-
96
- ```json
97
- {
98
- "title": "项目概览",
99
- "pages": [
100
- {
101
- "page_title": "需求文档",
102
- "content_type": 1,
103
- "page_filepath": "/path/to/requirements.md"
104
- },
105
- {
106
- "page_title": "设计说明",
107
- "content_type": 1,
108
- "page_filepath": "/path/to/design.md"
109
- }
110
- ]
111
- }
112
- ```
113
-
114
- ## 响应示例
115
-
116
- ```json
117
- {
118
- "errcode": 0,
119
- "errmsg": "ok",
120
- "docid": "DOCID",
121
- "url": "https://doc.weixin.qq.com/smartpage/a1_xxxxxx"
122
- }
123
- ```
124
-
125
- ## 注意事项
126
-
127
- - `docid` 仅在创建时返回,后续无法再获取,务必保存
128
- - `page_filepath` 指向本地文件,需确保文件存在且可读
129
- - **`content_type` 必须与文件实际内容格式匹配**:`.md` 文件或包含 Markdown 语法的内容必须传 `1`,不要传 `0`
130
- - 每个子页面的 Markdown 文件大小不得超过 **10MB**,超过会导致创建失败;如果文件过大,需先拆分为多个子页面
@@ -1,168 +0,0 @@
1
- # smartpage_export_task / smartpage_get_export_result API
2
-
3
- 导出智能文档(原智能主页)内容。采用异步两步操作:先通过 `smartpage_export_task` 提交导出任务获取 `task_id`,再通过 `smartpage_get_export_result` 轮询任务状态,直到任务完成后返回导出内容的本地文件路径。
4
-
5
- ---
6
-
7
- ## 第一步:smartpage_export_task — 提交导出任务
8
-
9
- 发起智能文档内容导出任务(异步)。传入 `docid` 或 `url` 和 `content_type`,返回 `task_id`。
10
-
11
- ### 调用
12
-
13
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_export_task '<JSON 参数>'`
14
-
15
- ### 技能定义
16
-
17
- ```json
18
- {
19
- "name": "smartpage_export_task",
20
- "description": "发起智能文档(原智能主页)内容导出任务(异步)。传入 docid(或 url)和 content_type,返回 task_id。需配合 smartpage_get_export_result 轮询查询导出进度,直到任务完成后获取导出文件路径。",
21
- "inputSchema": {
22
- "properties": {
23
- "docid": {
24
- "description": "智能文档的 docid,与 url 二选一传入",
25
- "title": "Doc ID",
26
- "type": "string"
27
- },
28
- "url": {
29
- "description": "智能文档的访问链接,与 docid 二选一传入",
30
- "title": "URL",
31
- "type": "string"
32
- },
33
- "content_type": {
34
- "description": "导出内容格式。目前仅支持 1(Markdown 格式)",
35
- "enum": [1],
36
- "title": "Content Type",
37
- "type": "integer"
38
- }
39
- },
40
- "oneOf": [
41
- { "required": ["docid", "content_type"] },
42
- { "required": ["url", "content_type"] }
43
- ],
44
- "title": "smartpage_export_taskArguments",
45
- "type": "object"
46
- }
47
- }
48
- ```
49
-
50
- ### 参数说明
51
-
52
- | 参数 | 类型 | 必填 | 说明 |
53
- |---|---|---|---|
54
- | docid | string | 与 url 二选一 | 智能文档的 docid |
55
- | url | string | 与 docid 二选一 | 智能文档的访问链接 |
56
- | content_type | integer | 是 | 导出内容格式,目前仅支持 `1`(Markdown 格式) |
57
-
58
- ### 请求示例
59
-
60
- ```json
61
- // 通过 docid
62
- {
63
- "docid": "DOCID",
64
- "content_type": 1
65
- }
66
-
67
- // 通过 url
68
- {
69
- "url": "https://doc.weixin.qq.com/smartpage/a1_xxxxxx",
70
- "content_type": 1
71
- }
72
- ```
73
-
74
- ### 响应示例
75
-
76
- ```json
77
- {
78
- "errcode": 0,
79
- "errmsg": "ok",
80
- "task_id": "TASK_ID"
81
- }
82
- ```
83
-
84
- ---
85
-
86
- ## 第二步:smartpage_get_export_result — 查询导出结果
87
-
88
- 查询智能文档导出任务进度。传入 `task_id` 进行轮询,当 `task_done` 为 `true` 时返回导出内容的本地文件路径。
89
-
90
- ### 调用
91
-
92
- 使用 `wecom_mcp` tool 调用 `wecom_mcp call doc smartpage_get_export_result '<JSON 参数>'`
93
-
94
- ### 技能定义
95
-
96
- ```json
97
- {
98
- "name": "smartpage_get_export_result",
99
- "description": "查询智能文档(原智能主页)导出任务进度。传入 task_id 轮询,当 task_done 为 true 时返回导出内容的本地文件路径 content_filepath,可通过读取该文件获取 Markdown 内容。",
100
- "inputSchema": {
101
- "properties": {
102
- "task_id": {
103
- "description": "导出任务 ID,由 smartpage_export_task 返回",
104
- "title": "Task ID",
105
- "type": "string"
106
- }
107
- },
108
- "required": ["task_id"],
109
- "title": "smartpage_get_export_resultArguments",
110
- "type": "object"
111
- }
112
- }
113
- ```
114
-
115
- ### 参数说明
116
-
117
- | 参数 | 类型 | 必填 | 说明 |
118
- |---|---|---|---|
119
- | task_id | string | 是 | 导出任务 ID,由 `smartpage_export_task` 返回 |
120
-
121
- ### 请求示例
122
-
123
- ```json
124
- {
125
- "task_id": "TASK_ID"
126
- }
127
- ```
128
-
129
- ### 响应示例
130
-
131
- 任务未完成:
132
-
133
- ```json
134
- {
135
- "errcode": 0,
136
- "errmsg": "ok",
137
- "task_done": false
138
- }
139
- ```
140
-
141
- 任务完成:
142
-
143
- ```json
144
- {
145
- "errcode": 0,
146
- "errmsg": "ok",
147
- "task_done": true,
148
- "content_filepath": "/path/to/exported-content.md"
149
- }
150
- ```
151
-
152
- ---
153
-
154
- ## 异步轮询机制
155
-
156
- 1. **调用 smartpage_export_task**:传入 `docid`(或 `url`)和 `content_type: 1`,获取 `task_id`
157
- 2. **首次轮询**:传入 `task_id` 调用 `smartpage_get_export_result`
158
- 3. **检查响应**:若 `task_done` 为 `false`,继续轮询
159
- 4. **获取内容**:当 `task_done` 为 `true` 时,读取 `content_filepath` 指向的本地文件获取导出内容
160
-
161
- ## 注意事项
162
-
163
- - `smartpage_export_task` 是异步操作的第一步,调用后仅返回 `task_id`
164
- - `content_type` 目前仅支持 `1`(Markdown 格式)
165
- - `docid` 和 `url` 二选一传入即可,无需同时传入
166
- - `content_filepath` 仅在 `task_done` 为 `true` 时返回
167
- - `content_filepath` 是本地文件路径,使用 Read 工具读取文件内容即可
168
- - 如果轮询多次仍未完成,建议适当增加轮询间隔