@wagemule/daemon 0.1.2 → 0.1.4

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 (341) hide show
  1. package/README.md +9 -1
  2. package/dist/main.cjs +246 -42
  3. package/dist/main.cjs.map +3 -3
  4. package/dist/skills/larksuite/lark-approval/SKILL.md +56 -0
  5. package/dist/skills/larksuite/lark-attendance/SKILL.md +57 -0
  6. package/dist/skills/larksuite/lark-base/SKILL.md +349 -0
  7. package/dist/skills/larksuite/lark-base/references/dashboard-block-data-config.md +350 -0
  8. package/dist/skills/larksuite/lark-base/references/examples.md +140 -0
  9. package/dist/skills/larksuite/lark-base/references/formula-field-guide.md +735 -0
  10. package/dist/skills/larksuite/lark-base/references/lark-base-advperm-disable.md +83 -0
  11. package/dist/skills/larksuite/lark-base/references/lark-base-advperm-enable.md +80 -0
  12. package/dist/skills/larksuite/lark-base/references/lark-base-base-copy.md +74 -0
  13. package/dist/skills/larksuite/lark-base/references/lark-base-base-create.md +68 -0
  14. package/dist/skills/larksuite/lark-base/references/lark-base-base-get.md +39 -0
  15. package/dist/skills/larksuite/lark-base/references/lark-base-cell-value.md +151 -0
  16. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-arrange.md +83 -0
  17. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-create.md +108 -0
  18. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
  19. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-get.md +57 -0
  20. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-list.md +53 -0
  21. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-update.md +84 -0
  22. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-create.md +73 -0
  23. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-delete.md +44 -0
  24. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-get.md +59 -0
  25. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-list.md +52 -0
  26. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-update.md +69 -0
  27. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard.md +240 -0
  28. package/dist/skills/larksuite/lark-base/references/lark-base-data-analysis-sop.md +88 -0
  29. package/dist/skills/larksuite/lark-base/references/lark-base-data-query.md +451 -0
  30. package/dist/skills/larksuite/lark-base/references/lark-base-field-create.md +104 -0
  31. package/dist/skills/larksuite/lark-base/references/lark-base-field-delete.md +51 -0
  32. package/dist/skills/larksuite/lark-base/references/lark-base-field-get.md +42 -0
  33. package/dist/skills/larksuite/lark-base/references/lark-base-field-list.md +44 -0
  34. package/dist/skills/larksuite/lark-base/references/lark-base-field-search-options.md +48 -0
  35. package/dist/skills/larksuite/lark-base/references/lark-base-field-update.md +166 -0
  36. package/dist/skills/larksuite/lark-base/references/lark-base-field.md +23 -0
  37. package/dist/skills/larksuite/lark-base/references/lark-base-form-create.md +87 -0
  38. package/dist/skills/larksuite/lark-base/references/lark-base-form-delete.md +64 -0
  39. package/dist/skills/larksuite/lark-base/references/lark-base-form-get.md +68 -0
  40. package/dist/skills/larksuite/lark-base/references/lark-base-form-list.md +73 -0
  41. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-create.md +118 -0
  42. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-delete.md +68 -0
  43. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-list.md +84 -0
  44. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-update.md +92 -0
  45. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions.md +23 -0
  46. package/dist/skills/larksuite/lark-base/references/lark-base-form-update.md +82 -0
  47. package/dist/skills/larksuite/lark-base/references/lark-base-form.md +24 -0
  48. package/dist/skills/larksuite/lark-base/references/lark-base-history.md +16 -0
  49. package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-create.md +58 -0
  50. package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-update.md +53 -0
  51. package/dist/skills/larksuite/lark-base/references/lark-base-record-delete.md +62 -0
  52. package/dist/skills/larksuite/lark-base/references/lark-base-record-history-list.md +86 -0
  53. package/dist/skills/larksuite/lark-base/references/lark-base-record-share-link-create.md +72 -0
  54. package/dist/skills/larksuite/lark-base/references/lark-base-record-upload-attachment.md +50 -0
  55. package/dist/skills/larksuite/lark-base/references/lark-base-record-upsert.md +64 -0
  56. package/dist/skills/larksuite/lark-base/references/lark-base-record.md +29 -0
  57. package/dist/skills/larksuite/lark-base/references/lark-base-role-create.md +89 -0
  58. package/dist/skills/larksuite/lark-base/references/lark-base-role-delete.md +83 -0
  59. package/dist/skills/larksuite/lark-base/references/lark-base-role-get.md +87 -0
  60. package/dist/skills/larksuite/lark-base/references/lark-base-role-list.md +81 -0
  61. package/dist/skills/larksuite/lark-base/references/lark-base-role-update.md +94 -0
  62. package/dist/skills/larksuite/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
  63. package/dist/skills/larksuite/lark-base/references/lark-base-table-create.md +62 -0
  64. package/dist/skills/larksuite/lark-base/references/lark-base-table-delete.md +51 -0
  65. package/dist/skills/larksuite/lark-base/references/lark-base-table-get.md +46 -0
  66. package/dist/skills/larksuite/lark-base/references/lark-base-table-list.md +43 -0
  67. package/dist/skills/larksuite/lark-base/references/lark-base-table-update.md +49 -0
  68. package/dist/skills/larksuite/lark-base/references/lark-base-table.md +20 -0
  69. package/dist/skills/larksuite/lark-base/references/lark-base-view-create.md +50 -0
  70. package/dist/skills/larksuite/lark-base/references/lark-base-view-delete.md +48 -0
  71. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-card.md +38 -0
  72. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-filter.md +38 -0
  73. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-group.md +38 -0
  74. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-sort.md +38 -0
  75. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-timebar.md +38 -0
  76. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
  77. package/dist/skills/larksuite/lark-base/references/lark-base-view-get.md +38 -0
  78. package/dist/skills/larksuite/lark-base/references/lark-base-view-list.md +44 -0
  79. package/dist/skills/larksuite/lark-base/references/lark-base-view-rename.md +44 -0
  80. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-card.md +55 -0
  81. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-filter.md +181 -0
  82. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-group.md +65 -0
  83. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-sort.md +63 -0
  84. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-timebar.md +51 -0
  85. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
  86. package/dist/skills/larksuite/lark-base/references/lark-base-view.md +44 -0
  87. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-create.md +180 -0
  88. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-disable.md +94 -0
  89. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-enable.md +94 -0
  90. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-get.md +147 -0
  91. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-guide.md +718 -0
  92. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-list.md +124 -0
  93. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-schema.md +935 -0
  94. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-update.md +167 -0
  95. package/dist/skills/larksuite/lark-base/references/lark-base-workflow.md +23 -0
  96. package/dist/skills/larksuite/lark-base/references/lark-base-workspace.md +18 -0
  97. package/dist/skills/larksuite/lark-base/references/lookup-field-guide.md +510 -0
  98. package/dist/skills/larksuite/lark-base/references/role-config.md +539 -0
  99. package/dist/skills/larksuite/lark-calendar/SKILL.md +154 -0
  100. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-agenda.md +78 -0
  101. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-create.md +109 -0
  102. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  103. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-room-find.md +113 -0
  104. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  105. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
  106. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  107. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-update.md +105 -0
  108. package/dist/skills/larksuite/lark-contact/SKILL.md +45 -0
  109. package/dist/skills/larksuite/lark-contact/references/lark-contact-get-user.md +19 -0
  110. package/dist/skills/larksuite/lark-contact/references/lark-contact-search-user.md +124 -0
  111. package/dist/skills/larksuite/lark-doc/SKILL.md +69 -0
  112. package/dist/skills/larksuite/lark-doc/references/lark-doc-create.md +89 -0
  113. package/dist/skills/larksuite/lark-doc/references/lark-doc-fetch.md +141 -0
  114. package/dist/skills/larksuite/lark-doc/references/lark-doc-md.md +71 -0
  115. package/dist/skills/larksuite/lark-doc/references/lark-doc-media-download.md +50 -0
  116. package/dist/skills/larksuite/lark-doc/references/lark-doc-media-insert.md +114 -0
  117. package/dist/skills/larksuite/lark-doc/references/lark-doc-media-preview.md +41 -0
  118. package/dist/skills/larksuite/lark-doc/references/lark-doc-search.md +217 -0
  119. package/dist/skills/larksuite/lark-doc/references/lark-doc-update.md +252 -0
  120. package/dist/skills/larksuite/lark-doc/references/lark-doc-whiteboard.md +100 -0
  121. package/dist/skills/larksuite/lark-doc/references/lark-doc-xml.md +169 -0
  122. package/dist/skills/larksuite/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
  123. package/dist/skills/larksuite/lark-doc/references/style/lark-doc-style.md +106 -0
  124. package/dist/skills/larksuite/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
  125. package/dist/skills/larksuite/lark-drive/SKILL.md +343 -0
  126. package/dist/skills/larksuite/lark-drive/references/lark-drive-add-comment.md +169 -0
  127. package/dist/skills/larksuite/lark-drive/references/lark-drive-apply-permission.md +77 -0
  128. package/dist/skills/larksuite/lark-drive/references/lark-drive-create-folder.md +73 -0
  129. package/dist/skills/larksuite/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  130. package/dist/skills/larksuite/lark-drive/references/lark-drive-delete.md +79 -0
  131. package/dist/skills/larksuite/lark-drive/references/lark-drive-download.md +31 -0
  132. package/dist/skills/larksuite/lark-drive/references/lark-drive-export-download.md +50 -0
  133. package/dist/skills/larksuite/lark-drive/references/lark-drive-export.md +119 -0
  134. package/dist/skills/larksuite/lark-drive/references/lark-drive-import.md +154 -0
  135. package/dist/skills/larksuite/lark-drive/references/lark-drive-move.md +120 -0
  136. package/dist/skills/larksuite/lark-drive/references/lark-drive-pull.md +137 -0
  137. package/dist/skills/larksuite/lark-drive/references/lark-drive-push.md +162 -0
  138. package/dist/skills/larksuite/lark-drive/references/lark-drive-reactions.md +113 -0
  139. package/dist/skills/larksuite/lark-drive/references/lark-drive-search.md +239 -0
  140. package/dist/skills/larksuite/lark-drive/references/lark-drive-status.md +137 -0
  141. package/dist/skills/larksuite/lark-drive/references/lark-drive-task-result.md +302 -0
  142. package/dist/skills/larksuite/lark-drive/references/lark-drive-upload.md +101 -0
  143. package/dist/skills/larksuite/lark-event/SKILL.md +145 -0
  144. package/dist/skills/larksuite/lark-event/references/lark-event-im.md +86 -0
  145. package/dist/skills/larksuite/lark-im/SKILL.md +162 -0
  146. package/dist/skills/larksuite/lark-im/references/lark-im-chat-create.md +162 -0
  147. package/dist/skills/larksuite/lark-im/references/lark-im-chat-identity.md +55 -0
  148. package/dist/skills/larksuite/lark-im/references/lark-im-chat-list.md +113 -0
  149. package/dist/skills/larksuite/lark-im/references/lark-im-chat-messages-list.md +142 -0
  150. package/dist/skills/larksuite/lark-im/references/lark-im-chat-search.md +136 -0
  151. package/dist/skills/larksuite/lark-im/references/lark-im-chat-update.md +84 -0
  152. package/dist/skills/larksuite/lark-im/references/lark-im-flag-cancel.md +67 -0
  153. package/dist/skills/larksuite/lark-im/references/lark-im-flag-create.md +67 -0
  154. package/dist/skills/larksuite/lark-im/references/lark-im-flag-list.md +100 -0
  155. package/dist/skills/larksuite/lark-im/references/lark-im-messages-mget.md +95 -0
  156. package/dist/skills/larksuite/lark-im/references/lark-im-messages-reply.md +222 -0
  157. package/dist/skills/larksuite/lark-im/references/lark-im-messages-resources-download.md +94 -0
  158. package/dist/skills/larksuite/lark-im/references/lark-im-messages-search.md +217 -0
  159. package/dist/skills/larksuite/lark-im/references/lark-im-messages-send.md +223 -0
  160. package/dist/skills/larksuite/lark-im/references/lark-im-reactions.md +297 -0
  161. package/dist/skills/larksuite/lark-im/references/lark-im-threads-messages-list.md +111 -0
  162. package/dist/skills/larksuite/lark-mail/SKILL.md +648 -0
  163. package/dist/skills/larksuite/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  164. package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-create.md +123 -0
  165. package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-edit.md +400 -0
  166. package/dist/skills/larksuite/lark-mail/references/lark-mail-forward.md +232 -0
  167. package/dist/skills/larksuite/lark-mail/references/lark-mail-message.md +230 -0
  168. package/dist/skills/larksuite/lark-mail/references/lark-mail-messages.md +108 -0
  169. package/dist/skills/larksuite/lark-mail/references/lark-mail-reply-all.md +206 -0
  170. package/dist/skills/larksuite/lark-mail/references/lark-mail-reply.md +242 -0
  171. package/dist/skills/larksuite/lark-mail/references/lark-mail-send-receipt.md +120 -0
  172. package/dist/skills/larksuite/lark-mail/references/lark-mail-send.md +216 -0
  173. package/dist/skills/larksuite/lark-mail/references/lark-mail-share-to-chat.md +87 -0
  174. package/dist/skills/larksuite/lark-mail/references/lark-mail-signature.md +98 -0
  175. package/dist/skills/larksuite/lark-mail/references/lark-mail-template-create.md +129 -0
  176. package/dist/skills/larksuite/lark-mail/references/lark-mail-template-update.md +150 -0
  177. package/dist/skills/larksuite/lark-mail/references/lark-mail-thread.md +111 -0
  178. package/dist/skills/larksuite/lark-mail/references/lark-mail-triage.md +122 -0
  179. package/dist/skills/larksuite/lark-mail/references/lark-mail-watch.md +94 -0
  180. package/dist/skills/larksuite/lark-markdown/SKILL.md +46 -0
  181. package/dist/skills/larksuite/lark-markdown/references/lark-markdown-create.md +86 -0
  182. package/dist/skills/larksuite/lark-markdown/references/lark-markdown-fetch.md +79 -0
  183. package/dist/skills/larksuite/lark-markdown/references/lark-markdown-overwrite.md +85 -0
  184. package/dist/skills/larksuite/lark-minutes/SKILL.md +139 -0
  185. package/dist/skills/larksuite/lark-minutes/references/lark-minutes-download.md +137 -0
  186. package/dist/skills/larksuite/lark-minutes/references/lark-minutes-search.md +206 -0
  187. package/dist/skills/larksuite/lark-minutes/references/lark-minutes-upload.md +104 -0
  188. package/dist/skills/larksuite/lark-okr/SKILL.md +133 -0
  189. package/dist/skills/larksuite/lark-okr/references/lark-okr-contentblock.md +359 -0
  190. package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-detail.md +84 -0
  191. package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-list.md +90 -0
  192. package/dist/skills/larksuite/lark-okr/references/lark-okr-entities.md +329 -0
  193. package/dist/skills/larksuite/lark-okr/references/lark-okr-image-upload.md +116 -0
  194. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-create.md +81 -0
  195. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-delete.md +47 -0
  196. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-get.md +62 -0
  197. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-list.md +80 -0
  198. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-update.md +81 -0
  199. package/dist/skills/larksuite/lark-openapi-explorer/SKILL.md +153 -0
  200. package/dist/skills/larksuite/lark-shared/SKILL.md +138 -0
  201. package/dist/skills/larksuite/lark-sheets/SKILL.md +345 -0
  202. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-data.md +197 -0
  203. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-images.md +59 -0
  204. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
  205. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-dropdown.md +133 -0
  206. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-filter-views.md +193 -0
  207. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-float-images.md +125 -0
  208. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-formula.md +88 -0
  209. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
  210. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
  211. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-spreadsheet-management.md +134 -0
  212. package/dist/skills/larksuite/lark-skill-maker/SKILL.md +85 -0
  213. package/dist/skills/larksuite/lark-slides/SKILL.md +525 -0
  214. package/dist/skills/larksuite/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
  215. package/dist/skills/larksuite/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
  216. package/dist/skills/larksuite/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
  217. package/dist/skills/larksuite/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
  218. package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training.xml +912 -0
  219. package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
  220. package/dist/skills/larksuite/lark-slides/assets/templates/hr--onboarding.xml +933 -0
  221. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
  222. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
  223. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
  224. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
  225. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_plan.xml +1469 -0
  226. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
  227. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--product_whitepaper.xml +1455 -0
  228. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
  229. package/dist/skills/larksuite/lark-slides/assets/templates/misc--book_sharing.xml +1338 -0
  230. package/dist/skills/larksuite/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
  231. package/dist/skills/larksuite/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
  232. package/dist/skills/larksuite/lark-slides/assets/templates/office--dark_general.xml +3763 -0
  233. package/dist/skills/larksuite/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
  234. package/dist/skills/larksuite/lark-slides/assets/templates/office--light_general.xml +3378 -0
  235. package/dist/skills/larksuite/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
  236. package/dist/skills/larksuite/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
  237. package/dist/skills/larksuite/lark-slides/assets/templates/office--work_report.xml +1099 -0
  238. package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary.xml +4420 -0
  239. package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
  240. package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
  241. package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
  242. package/dist/skills/larksuite/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
  243. package/dist/skills/larksuite/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
  244. package/dist/skills/larksuite/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
  245. package/dist/skills/larksuite/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
  246. package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
  247. package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
  248. package/dist/skills/larksuite/lark-slides/assets/templates/personal--self_intro.xml +696 -0
  249. package/dist/skills/larksuite/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
  250. package/dist/skills/larksuite/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
  251. package/dist/skills/larksuite/lark-slides/assets/templates/product--market_analysis.xml +898 -0
  252. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
  253. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_intro.xml +2838 -0
  254. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion.xml +687 -0
  255. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion_2.xml +687 -0
  256. package/dist/skills/larksuite/lark-slides/references/examples.md +261 -0
  257. package/dist/skills/larksuite/lark-slides/references/lark-slides-create.md +137 -0
  258. package/dist/skills/larksuite/lark-slides/references/lark-slides-edit-workflows.md +142 -0
  259. package/dist/skills/larksuite/lark-slides/references/lark-slides-media-upload.md +128 -0
  260. package/dist/skills/larksuite/lark-slides/references/lark-slides-replace-slide.md +239 -0
  261. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-create.md +221 -0
  262. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
  263. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  264. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +186 -0
  265. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
  266. package/dist/skills/larksuite/lark-slides/references/slide-templates.md +201 -0
  267. package/dist/skills/larksuite/lark-slides/references/slides_demo.xml +226 -0
  268. package/dist/skills/larksuite/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
  269. package/dist/skills/larksuite/lark-slides/references/template-catalog.md +464 -0
  270. package/dist/skills/larksuite/lark-slides/references/template-index.json +1853 -0
  271. package/dist/skills/larksuite/lark-slides/references/xml-format-guide.md +369 -0
  272. package/dist/skills/larksuite/lark-slides/references/xml-schema-quick-ref.md +215 -0
  273. package/dist/skills/larksuite/lark-slides/scripts/layout_lint.py +349 -0
  274. package/dist/skills/larksuite/lark-slides/scripts/layout_lint_test.py +159 -0
  275. package/dist/skills/larksuite/lark-slides/scripts/template_tool.py +970 -0
  276. package/dist/skills/larksuite/lark-slides/scripts/template_tool_test.py +177 -0
  277. package/dist/skills/larksuite/lark-task/SKILL.md +165 -0
  278. package/dist/skills/larksuite/lark-task/references/lark-task-assign.md +38 -0
  279. package/dist/skills/larksuite/lark-task/references/lark-task-comment.md +28 -0
  280. package/dist/skills/larksuite/lark-task/references/lark-task-complete.md +27 -0
  281. package/dist/skills/larksuite/lark-task/references/lark-task-create.md +57 -0
  282. package/dist/skills/larksuite/lark-task/references/lark-task-followers.md +35 -0
  283. package/dist/skills/larksuite/lark-task/references/lark-task-get-my-tasks.md +55 -0
  284. package/dist/skills/larksuite/lark-task/references/lark-task-get-related-tasks.md +53 -0
  285. package/dist/skills/larksuite/lark-task/references/lark-task-reminder.md +36 -0
  286. package/dist/skills/larksuite/lark-task/references/lark-task-reopen.md +27 -0
  287. package/dist/skills/larksuite/lark-task/references/lark-task-search.md +41 -0
  288. package/dist/skills/larksuite/lark-task/references/lark-task-set-ancestor.md +32 -0
  289. package/dist/skills/larksuite/lark-task/references/lark-task-subscribe-event.md +86 -0
  290. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-create.md +35 -0
  291. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-members.md +36 -0
  292. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-search.md +38 -0
  293. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  294. package/dist/skills/larksuite/lark-task/references/lark-task-update.md +37 -0
  295. package/dist/skills/larksuite/lark-task/references/lark-task-upload-attachment.md +59 -0
  296. package/dist/skills/larksuite/lark-vc/SKILL.md +168 -0
  297. package/dist/skills/larksuite/lark-vc/references/lark-vc-notes.md +126 -0
  298. package/dist/skills/larksuite/lark-vc/references/lark-vc-recording.md +153 -0
  299. package/dist/skills/larksuite/lark-vc/references/lark-vc-search.md +176 -0
  300. package/dist/skills/larksuite/lark-vc-agent/SKILL.md +121 -0
  301. package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
  302. package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
  303. package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
  304. package/dist/skills/larksuite/lark-whiteboard/SKILL.md +144 -0
  305. package/dist/skills/larksuite/lark-whiteboard/references/connectors.md +102 -0
  306. package/dist/skills/larksuite/lark-whiteboard/references/content.md +40 -0
  307. package/dist/skills/larksuite/lark-whiteboard/references/image.md +80 -0
  308. package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
  309. package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
  310. package/dist/skills/larksuite/lark-whiteboard/references/layout.md +374 -0
  311. package/dist/skills/larksuite/lark-whiteboard/references/schema.md +357 -0
  312. package/dist/skills/larksuite/lark-whiteboard/references/style.md +318 -0
  313. package/dist/skills/larksuite/lark-whiteboard/references/typography.md +73 -0
  314. package/dist/skills/larksuite/lark-whiteboard/routes/dsl.md +107 -0
  315. package/dist/skills/larksuite/lark-whiteboard/routes/mermaid.md +27 -0
  316. package/dist/skills/larksuite/lark-whiteboard/routes/svg.md +54 -0
  317. package/dist/skills/larksuite/lark-whiteboard/scenes/architecture.md +433 -0
  318. package/dist/skills/larksuite/lark-whiteboard/scenes/bar-chart.md +187 -0
  319. package/dist/skills/larksuite/lark-whiteboard/scenes/comparison.md +135 -0
  320. package/dist/skills/larksuite/lark-whiteboard/scenes/fishbone.md +238 -0
  321. package/dist/skills/larksuite/lark-whiteboard/scenes/flowchart.md +185 -0
  322. package/dist/skills/larksuite/lark-whiteboard/scenes/flywheel.md +195 -0
  323. package/dist/skills/larksuite/lark-whiteboard/scenes/funnel.md +101 -0
  324. package/dist/skills/larksuite/lark-whiteboard/scenes/line-chart.md +214 -0
  325. package/dist/skills/larksuite/lark-whiteboard/scenes/mermaid.md +130 -0
  326. package/dist/skills/larksuite/lark-whiteboard/scenes/milestone.md +139 -0
  327. package/dist/skills/larksuite/lark-whiteboard/scenes/organization.md +173 -0
  328. package/dist/skills/larksuite/lark-whiteboard/scenes/photo-showcase.md +126 -0
  329. package/dist/skills/larksuite/lark-whiteboard/scenes/pyramid.md +99 -0
  330. package/dist/skills/larksuite/lark-whiteboard/scenes/swimlane.md +371 -0
  331. package/dist/skills/larksuite/lark-whiteboard/scenes/treemap.md +216 -0
  332. package/dist/skills/larksuite/lark-wiki/SKILL.md +111 -0
  333. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  334. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-move.md +183 -0
  335. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  336. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-create.md +127 -0
  337. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-list.md +88 -0
  338. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-space-list.md +68 -0
  339. package/dist/skills/larksuite/lark-workflow-meeting-summary/SKILL.md +104 -0
  340. package/dist/skills/larksuite/lark-workflow-standup-report/SKILL.md +120 -0
  341. package/package.json +2 -1
@@ -0,0 +1,114 @@
1
+
2
+ # docs +media-insert(文档末尾插入图片/文件)
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 把"创建空 block → 上传文件 → 设置 token"三步合并成一个命令,在**文档末尾**插入本地图片或文件。
7
+
8
+ ## 来源选择(Agent 必读)
9
+
10
+ > **最高优先级:用户明确指定了来源,就严格按用户的来。** 下面的启发式只在用户没表态时生效。
11
+ >
12
+ > - 用户说"把这张截图插进去"、"用剪切板里的图"、"我刚复制的" → 无条件走 `--from-clipboard`。
13
+ > - 用户说"用 `~/Downloads/foo.png`"、"插本地这个文件"、给了具体路径 → 无条件走 `--file`。
14
+ > - 用户两者都没说清 → 按下表的启发式推断。
15
+ >
16
+ > 即使推断看起来更"优"(比如用户说了路径但你觉得走剪切板更省事),也**不要自作主张**换来源。要换,先问。
17
+
18
+ 按下列顺序判断,**不要反向做**:
19
+
20
+ | 用户的图片来源 | 命令 | 禁止做法 |
21
+ |----------------|------|----------|
22
+ | 图片已经在剪切板里(截图快捷键、从飞书/浏览器复制、从设计稿复制) | `--from-clipboard` | ❌ 不要先把剪切板存到本地文件再用 `--file`。多一步文件 I/O,还得清理临时文件。 |
23
+ | 图片是磁盘上的真实文件 | `--file <path>` | — |
24
+ | 图片是 URL | 先下载到本地 → `--file`;或用 `drive` 相关命令 | — |
25
+
26
+ `--from-clipboard` 走进程内存直传,不产生临时文件;macOS / Windows 内置支持,Linux 需要 `xclip` 或 `wl-paste` 或 `xsel` 任一。
27
+
28
+ ### 剪切板为空时的 fallback
29
+
30
+ `--from-clipboard` 失败(剪切板里不是图片 / 没有图片 / Linux 上三个工具都没装)时,命令会返回 `clipboard contains no image data`(或类似的平台错误)。**这不是错误退出理由,而是 fallback 信号。**
31
+
32
+ **Agent 的标准处置顺序**(每一步失败再进下一步,不要并行):
33
+
34
+ 1. 先用 `--from-clipboard` 试一次。
35
+ 2. 如果返回"no image data"类错误,**向用户明确说明剪切板里没有可识别的图片**,请用户提供本地文件路径或重新复制一张图。
36
+ 3. 拿到本地路径后,用 `--file <path>` 重试**同一条插入命令**(其他参数如 `--doc` / `--align` / `--caption` 保持不变)。
37
+
38
+ **禁止做法**:
39
+ - ❌ 不要悄悄把空剪切板当"成功但没插入"处理。必须提示用户。
40
+ - ❌ 不要在剪切板失败后自行瞎猜某个本地文件路径(比如最近修改的 png)。必须让用户给路径。
41
+ - ❌ 不要用"先让用户保存剪切板到磁盘再 `--file`"的建议绕过 `--from-clipboard`,当且仅当剪切板确实没图片时才退回本地路径。
42
+
43
+ ## 命令
44
+
45
+ ```bash
46
+ # 🟢 推荐:从剪切板直接插入(无需先存盘)
47
+ lark-cli docs +media-insert --doc doxcnXXX --from-clipboard
48
+
49
+ # 从本地文件插入
50
+ # 除了上传本地文件,还可以在 `docs +update` 时直接通过网络 URL 插入图片,无需先下载到本地:
51
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_insert_after \
52
+ --block-id "目标 block_id" \
53
+ --content '<img href="https://example.com/photo.png"/>'
54
+
55
+ # 插入图片(默认)
56
+ lark-cli docs +media-insert --doc doxcnXXX --file ./image.png
57
+
58
+ # doc 支持直接传 docx URL(自动提取 document_id)
59
+ lark-cli docs +media-insert --doc "https://xxx.feishu.cn/docx/doxcnXXX" --from-clipboard
60
+
61
+ # 如果上一步是 create-doc,优先传返回值里的 doc_id
62
+ # 不要把 /wiki/... 形式的 doc_url 直接传给 docs +media-insert
63
+ lark-cli docs +media-insert --doc doxcnReturnedByCreateDoc --file ./image.png
64
+
65
+ # 插入文件(非图片)
66
+ lark-cli docs +media-insert --doc doxcnXXX --file ./spec.pdf --type file
67
+
68
+ # 图片对齐与描述(caption)
69
+ lark-cli docs +media-insert --doc doxcnXXX --from-clipboard --align center --caption "架构图"
70
+
71
+ # Insert image with explicit display width (height auto-computed from aspect ratio)
72
+ lark-cli docs +media-insert --doc doxcnXXX --file ./banner.png --width 800 --align center
73
+
74
+ # Insert image with explicit width and height
75
+ lark-cli docs +media-insert --doc doxcnXXX --from-clipboard --width 800 --height 447 --caption "architecture diagram"
76
+ ```
77
+
78
+ ## 参数
79
+
80
+ | 参数 | 必填 | 说明 |
81
+ |------|------|------|
82
+ | `--doc <id>` | 是 | 文档 ID 或 docx URL(仅支持 `/docx/<document_id>` 形式自动提取;**不支持 `/wiki/...` URL 自动提取**) |
83
+ | `--from-clipboard` | 二选一 | 从系统剪切板读取图片(与 `--file` 互斥)。macOS/Windows 内置支持,Linux 需要 `xclip` / `wl-paste` / `xsel` 之一。 |
84
+ | `--file <path>` | 二选一 | 本地文件路径(文件大于 20MB 时自动切换分片上传) |
85
+ | `--type <type>` | 否 | `image`(默认)或 `file`。`--from-clipboard` 目前只产出 image。 |
86
+ | `--align <align>` | 否 | 仅图片:`left` / `center`(默认)/ `right` |
87
+ | `--caption <text>` | 否 | 仅图片:图片描述 |
88
+ | `--width <px>` | 否 | Image display width in pixels (only for `--type=image`). If `--height` is omitted, it is auto-computed from the source image aspect ratio. Supported auto-detection formats: PNG, JPEG, GIF; other formats (WebP, BMP, etc.) require both `--width` and `--height`. |
89
+ | `--height <px>` | 否 | Image display height in pixels (only for `--type=image`). If `--width` is omitted, it is auto-computed from the source image aspect ratio. Supported auto-detection formats: PNG, JPEG, GIF; other formats (WebP, BMP, etc.) require both `--width` and `--height`. |
90
+
91
+ > [!IMPORTANT]
92
+ > 如果上一步是 [`lark-doc-create`](lark-doc-create.md),并且它在知识库/知识空间场景下返回的是 `/wiki/...` 形式的 `doc_url`,后续调用 `docs +media-insert` 时应优先传 `doc_id`,不要直接传这个 `doc_url`。
93
+
94
+ ## 平台注意(仅 `--from-clipboard`)
95
+
96
+ | 平台 | 依赖 | 典型错误 |
97
+ |------|------|---------|
98
+ | macOS | osascript(内置) | 剪切板为空 / 不是图片 → "clipboard contains no image data" |
99
+ | Windows | PowerShell + System.Windows.Forms(内置) | 同上 |
100
+ | Linux | `xclip` 或 `wl-paste` 或 `xsel` 任一 | 都没安装 → 报错会提示用发行版包管理器安装 |
101
+
102
+ 命令不支持读取 TIFF 等非 PNG/JPEG/GIF/WebP/BMP 的冷门格式;遇到这类剪切板会返回 "contains no image data",此时才考虑先用系统工具转成文件再 `--file`。
103
+
104
+ ## 输出
105
+
106
+ 命令成功后会输出 JSON,包含:`document_id`、`block_id`、`file_token`、`file_name`(剪切板路径下为 `clipboard.png`)、`type`。
107
+
108
+ > [!CAUTION]
109
+ > 这是**写入操作**(会修改文档内容)—— 执行前必须确认用户意图。
110
+
111
+ ## 参考
112
+
113
+ - [lark-doc-fetch](lark-doc-fetch.md) — 获取文档内容(可用于确认插入后的结果、以及提取媒体 token)
114
+ - [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
@@ -0,0 +1,41 @@
1
+
2
+ # docs +media-preview(预览文档素材)
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 优先用于查看、预览文档中的图片或文件素材(`file_token`)。命令会把素材保存到本地路径,便于后续打开查看内容。
7
+
8
+ ## 选择规则
9
+
10
+ - 用户说“看一下素材 / 图片 / 附件”“预览一下”时,优先使用 `docs +media-preview`
11
+ - 用户明确说“下载”时,使用 [`docs +media-download`](lark-doc-media-download.md)
12
+ - 如果目标明确是画板 / whiteboard / 画板缩略图,不要使用 `+media-preview`,改用 `docs +media-download --type whiteboard`
13
+
14
+ ## 命令
15
+
16
+ ```bash
17
+ # 预览图片/文件素材
18
+ lark-cli docs +media-preview --token "Z1Fjxxxxxxxx" --output ./asset
19
+
20
+ # 指定输出文件名(带扩展名则不会自动补全)
21
+ lark-cli docs +media-preview --token "Z1Fjxxxxxxxx" --output ./asset.png
22
+ ```
23
+
24
+ ## 参数
25
+
26
+ | 参数 | 必填 | 说明 |
27
+ |------|------|------|
28
+ | `--token <token>` | 是 | 素材 token,即 `file_token` |
29
+ | `--output <path>` | 是 | 本地保存路径;不带扩展名会自动补全 |
30
+
31
+ ## token 从哪里来
32
+
33
+ - 若你是从文档内容里提取:`lark-doc-fetch` 返回的 Markdown 里可能包含:
34
+ - 图片:`<image token="..." .../>`
35
+ - 文件:`<file token="..." name="..."/>`
36
+
37
+ ## 参考
38
+
39
+ - [lark-doc-fetch](lark-doc-fetch.md) — 获取文档内容(用于提取 token)
40
+ - [lark-doc-media-download](lark-doc-media-download.md) — 明确下载素材,或下载画板缩略图
41
+ - [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
@@ -0,0 +1,217 @@
1
+
2
+ # docs +search(云空间搜索:文档 / Wiki / 电子表格)
3
+
4
+ > ⚠️ **此命令进入维护期,后续会下线。新用法请使用 [`drive +search`](../../lark-drive/references/lark-drive-search.md)。**
5
+ >
6
+ > `drive +search` 把所有过滤条件扁平化为独立 flag(`--edited-since` / `--mine` / `--doc-types` 等),面向自然语言场景设计,同时新增了 `my_edit_time`(我编辑过)、`my_comment_time`(我评论过)等维度。除非要沿用老脚本里的 `--filter` JSON,否则**都应该切到 `drive +search`**。
7
+ >
8
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
9
+
10
+ 基于 Search v2 接口 `POST /open-apis/search/v2/doc_wiki/search`,以**用户身份**统一搜索云空间对象。
11
+
12
+ 虽然接口名是 `doc_wiki/search`,但命中结果不只限于文档 / Wiki,也会返回 `SHEET`、`BITABLE`、`FOLDER` 等云空间对象。因此它适合作为云空间对象的资源发现入口:先定位文档、知识库节点、电子表格、多维表格、文件夹,以及用户以“表格 / 报表”方式描述的相关对象,再切回对应业务 skill 做对象内部操作。
13
+
14
+ 该 shortcut 会:
15
+
16
+ - 未指定范围字段时,自动补齐 `doc_filter` / `wiki_filter`
17
+ - 自动将 `--filter` 中的公共字段同步到搜索范围对应的 filter;`folder_tokens` 仅发到 `doc_filter`,`space_ids` 仅发到 `wiki_filter`
18
+ - 支持在 `filter.open_time` / `filter.create_time` 中使用 ISO 8601 时间,并自动转换为 Unix 秒
19
+ - 在返回结果中为 `*_time` 字段补充 `*_time_iso`(便于阅读)
20
+ - `title_highlighted` / `summary_highlighted` 可能包含高亮标签(如 `<h>` / `<hb>`)
21
+
22
+ ## 命令
23
+
24
+ > **关键约束:搜索关键词必须通过 `--query` 传递。**
25
+ > 正确:`lark-cli docs +search --query "方案"`
26
+ > 错误:`lark-cli docs +search 方案`
27
+ > `+search` 不接受“搜索词位置参数”这种写法;如果把关键词直接跟在命令后面,不会进入 `query`,会变成空搜或返回不符合预期的结果。
28
+
29
+ ```bash
30
+ # 关键词搜索
31
+ lark-cli docs +search --query "季度总结"
32
+
33
+ # 搜标题里带“评测结果”的电子表格 / 文档
34
+ lark-cli docs +search --query "评测结果"
35
+
36
+ # 标题包含关键词(默认按关键词检索,不做精确标题匹配)
37
+ lark-cli docs +search --query "方案"
38
+
39
+ # 使用服务端标题限定语法
40
+ lark-cli docs +search --query 'intitle:方案'
41
+
42
+ # 精确短语匹配
43
+ lark-cli docs +search --query '"季度 总结"'
44
+
45
+ # 逻辑或 / 排除
46
+ lark-cli docs +search --query '方案 OR 草稿'
47
+ lark-cli docs +search --query '方案 -草稿'
48
+
49
+ # 标题精确短语匹配
50
+ lark-cli docs +search --query 'intitle:"季度总结"'
51
+
52
+ # 按最近打开时间过滤
53
+ lark-cli docs +search \
54
+ --query "方案" \
55
+ --filter '{"open_time":{"start":"2025-09-24T00:00:00+08:00","end":"2025-12-24T23:59:59+08:00"}}'
56
+
57
+ # 按文档所有者过滤(creator_ids 传文档所有者 open_id,不是邮箱 / user_id)
58
+ lark-cli docs +search \
59
+ --query "季度总结" \
60
+ --filter '{"creator_ids":["ou_EXAMPLE_USER_ID"]}'
61
+
62
+ # 只搜索指定类型
63
+ lark-cli docs +search \
64
+ --query "评测结果" \
65
+ --filter '{"doc_types":["SHEET","DOCX"]}'
66
+
67
+ # 只在指定文件夹下搜索文档(folder_token 通常来自 /drive/folder/<token>)
68
+ lark-cli docs +search \
69
+ --query "方案" \
70
+ --filter '{"folder_tokens":["fld_123456"]}'
71
+
72
+ # 只搜标题,不搜正文 / 摘要
73
+ lark-cli docs +search \
74
+ --query "周报" \
75
+ --filter '{"only_title":true}'
76
+
77
+ # 只搜评论,不搜标题 / 正文
78
+ lark-cli docs +search \
79
+ --query "延期原因" \
80
+ --filter '{"only_comment":true}'
81
+
82
+ # 只搜索指定群会话里分享过的文档(chat_id 最多 20 个)
83
+ lark-cli docs +search \
84
+ --query "方案" \
85
+ --filter '{"chat_ids":["oc_1234567890abcdef"]}'
86
+
87
+ # 只搜索指定分享者分享过的文档(sharer_ids 传分享者 open_id,最多 20 个)
88
+ lark-cli docs +search \
89
+ --query "复盘" \
90
+ --filter '{"sharer_ids":["ou_EXAMPLE_USER_ID"]}'
91
+
92
+ # 按创建时间过滤并指定排序方式
93
+ lark-cli docs +search \
94
+ --query "方案" \
95
+ --filter '{"create_time":{"start":"2026-01-01","end":"2026-03-31"},"sort_type":"CREATE_TIME"}'
96
+
97
+ # 组合多个筛选条件
98
+ lark-cli docs +search \
99
+ --query "项目复盘" \
100
+ --filter '{"creator_ids":["ou_EXAMPLE_USER_ID"],"doc_types":["DOCX","SHEET"],"only_title":true,"sort_type":"OPEN_TIME","open_time":{"start":"2026-01-01T00:00:00+08:00"}}'
101
+
102
+ # 只在指定知识空间下搜 Wiki
103
+ lark-cli docs +search \
104
+ --query "研发规范" \
105
+ --filter '{"space_ids":["space_1234567890fedcba"]}'
106
+
107
+ # 空搜(不传 query 或传空字符串):按最近浏览等默认规则返回
108
+ lark-cli docs +search
109
+
110
+ # 人类可读格式输出
111
+ lark-cli docs +search --query "OKR" --format pretty
112
+
113
+ # 返回原始 JSON,并用 page_token 翻页
114
+ lark-cli docs +search --query "方案" --format json
115
+ lark-cli docs +search --query "方案" --format json --page-token '<PAGE_TOKEN>'
116
+ ```
117
+
118
+ ## 参数
119
+
120
+ | 参数 | 必填 | 说明 |
121
+ |------|------|------|
122
+ | `--query <text>` | 否 | 搜索关键词。**支持高级 Boolean 语法**以提升搜索精度:<br>1. 使用空格表示 AND(如 `方案 设计`)。<br>2. 使用 `OR` 表示逻辑或(如 `方案 OR 草稿`)。<br>3. 使用 `-` 表示排除(如 `方案 -草稿`)。<br>4. 使用双引号 `""` 表示精确匹配短语。<br>5. 使用 `intitle:` 限定关键词出现在标题中(如 `intitle:总结` 或 `intitle:"季度 总结"`)。不传/空字符串表示空搜。**凡是有关键词,都要显式通过 `--query` 传递,不要写成位置参数。** |
123
+ | `--filter <json>` | 否 | JSON 对象。公共字段默认同时应用到 `doc_filter` / `wiki_filter`;若传 `folder_tokens`,则只发 `doc_filter`;若传 `space_ids`,则只发 `wiki_filter`;两者不能同时传 |
124
+ | `--page-size <n>` | 否 | 每页数量(默认 15,最大 20) |
125
+ | `--page-token <token>` | 否 | 翻页标记(配合 `has_more` 使用) |
126
+ | `--format` | 否 | 输出格式:json(默认) \| pretty |
127
+
128
+ ## `--query` 高级语法
129
+
130
+ 以下语法由服务端搜索能力处理,适合把过滤逻辑尽量下推到搜索侧:
131
+
132
+ - 空格表示 AND:`方案 设计`
133
+ - `OR` 表示逻辑或:`方案 OR 草稿`
134
+ - `-` 表示排除:`方案 -草稿`
135
+ - 双引号表示精确短语:`"季度 总结"`
136
+ - `intitle:` 表示标题限定:`intitle:总结`
137
+ - 标题精确短语:`intitle:"季度总结"`
138
+
139
+ ## `--filter` 字段速查
140
+
141
+ `--filter` 是一个 JSON 对象。大多数字段默认会同时作用于 `doc_filter` 和 `wiki_filter`;其中 `folder_tokens` 只用于文档侧,`space_ids` 只用于 Wiki 侧。
142
+
143
+ ### 字段归属
144
+
145
+ - `doc_filter` / `wiki_filter` 公共字段:`creator_ids`、`doc_types`、`chat_ids`、`sharer_ids`、`only_title`、`only_comment`、`open_time`、`sort_type`、`create_time`
146
+ - `doc_filter` 独有字段:`folder_tokens`
147
+ - `wiki_filter` 独有字段:`space_ids`
148
+ - 如果传 `folder_tokens`,shortcut 只发送 `doc_filter`
149
+ - 如果传 `space_ids`,shortcut 只发送 `wiki_filter`
150
+ - 如果同时传 `folder_tokens` 和 `space_ids`,shortcut 直接报错,不支持同时查询文档文件夹范围和知识空间范围
151
+
152
+ | 字段 | 作用范围 | 类型 | 说明 |
153
+ |------|----------|------|------|
154
+ | `creator_ids` | 文档 + Wiki | `string[]` | 所有者列表,**必须传 open_id**,不是 `user_id` / `union_id` / 邮箱。比如 `["ou_xxx"]`。如果只有姓名,先用 `lark-contact` 查 open_id |
155
+ | `doc_types` | 文档 + Wiki | `string[]` | 资源类型过滤。常用值:`DOC`、`DOCX`、`SHEET`、`BITABLE`、`FILE`、`WIKI`、`SLIDES`、`FOLDER`、`CATALOG`、`SHORTCUT` |
156
+ | `chat_ids` | 文档 + Wiki | `string[]` | 群会话 ID 列表,只搜索这些会话里分享过的文档,最多 20 个。通常传群 `chat_id`(如 `oc_xxx`);如果用户只给群名,先用 `lark-im` 定位群 |
157
+ | `sharer_ids` | 文档 + Wiki | `string[]` | 分享者列表,**必须传分享者 open_id**,最多 20 个。适合“某人分享过的文档”;如果只有姓名,先用 `lark-contact` 查 open_id |
158
+ | `folder_tokens` | 仅文档 | `string[]` | 只搜索指定云空间文件夹下的文档;值通常来自文件夹 URL `/drive/folder/<folder_token>` |
159
+ | `space_ids` | 仅 Wiki | `string[]` | 只搜索指定知识空间下的 Wiki 节点 |
160
+ | `only_title` | 文档 + Wiki | `boolean` | 只搜标题。注意这不是“标题精确等于”,只是把搜索范围限制在标题 |
161
+ | `only_comment` | 文档 + Wiki | `boolean` | 只搜评论。用法类似 `only_title`,只是把搜索范围限制在评论区;默认 `false` |
162
+ | `open_time` | 文档 + Wiki | `object` | 最近打开时间范围,支持 `{ "start": "...", "end": "..." }`。shortcut 支持 ISO 8601 / `YYYY-MM-DD` / Unix 秒,并自动转成秒级时间戳 |
163
+ | `sort_type` | 文档 + Wiki | `string` | 排序方式。常用值:`DEFAULT_TYPE`、`OPEN_TIME`、`EDIT_TIME`、`EDIT_TIME_ASC`、`CREATE_TIME` |
164
+ | `create_time` | 文档 + Wiki | `object` | 文档 / Wiki 创建时间范围,结构与 `open_time` 相同 |
165
+
166
+ ### 字段使用建议
167
+
168
+ - `creator_ids`:适合“找某个人创建的文档 / 表格 / Wiki”。如果用户只给姓名,不要猜 ID,先查这个人的 `open_id`。
169
+ - `doc_types`:只在用户**明确指定资源类型**时使用,适合先把资源类型缩小。显式类型词可按以下方式映射:`表格 / 电子表格 / spreadsheet -> ["SHEET"]`、`多维表格 / base / bitable -> ["BITABLE"]`、`知识库 / wiki -> ["WIKI"]`、`文件夹 -> ["FOLDER"]`、`普通文档` 或明确要求“只看文档类型、不要表格 / Wiki” -> `["DOC","DOCX"]`。不要因为用户口头说“文档”就默认补 `DOC` / `DOCX`,因为“文档”在很多场景里只是对云空间对象的泛称。
170
+ - `chat_ids`:适合“搜某个群里分享过的文档”“看某个群会话里的方案”。如果用户只给群名,先切到 `lark-im` 用群搜索能力拿到 `chat_id`,再回到 `docs +search`。
171
+ - `sharer_ids`:适合“找某人分享过的文档”“看某个同事转给我的资料”。如果用户只给姓名,不要猜 ID,先用 `lark-contact` 查分享者 `open_id`。
172
+ - `folder_tokens`:适合“在某个云空间文件夹里搜文档”。它不是知识空间 `space_id`,两者不要混用。
173
+ - `only_title`:适合“标题里包含某个词”的场景;如果用户明确表达标题限定,也可以直接在 `--query` 里使用 `intitle:`。如果用户要“标题精确等于”,优先使用 `intitle:"完整标题"`,必要时再做客户端精确确认。
174
+ - `only_comment`:适合“评论里提到某个词”“只找评论区讨论过某件事”。它和 `only_title` 一样,都是把搜索范围缩小到特定区域,但这里限制到评论区。
175
+ - `open_time`:适合“最近打开过 / 最近看过”的描述;如果用户说相对时间,先换算成明确绝对时间再传。
176
+ - `sort_type`:`CREATE_TIME_ASC` 在协议里标注“暂不支持”,`ENTITY_CREATE_TIME_ASC` / `ENTITY_CREATE_TIME_DESC` 已废弃,默认不要主动使用。
177
+ - `create_time`:适合“今年新建的”“上个月创建的”这类条件;不写 `start` / `end` 时,协议默认窗口是“请求时间往前 1 年”到“请求时间”。
178
+
179
+ ### 常见 `--filter` JSON 片段
180
+
181
+ ```json
182
+ {"creator_ids":["ou_EXAMPLE_USER_ID"]}
183
+ {"doc_types":["SHEET","DOCX"]}
184
+ {"chat_ids":["oc_1234567890abcdef"]}
185
+ {"sharer_ids":["ou_EXAMPLE_USER_ID"]}
186
+ {"folder_tokens":["fld_123456"]}
187
+ {"only_title":true}
188
+ {"only_comment":true}
189
+ {"open_time":{"start":"2026-01-01T00:00:00+08:00","end":"2026-03-31T23:59:59+08:00"},"sort_type":"OPEN_TIME"}
190
+ {"create_time":{"start":"2026-01-01","end":"2026-03-31"},"sort_type":"CREATE_TIME"}
191
+ {"space_ids":["space_1234567890fedcba"]}
192
+ ```
193
+
194
+ ## 结果判别
195
+
196
+ - `result_meta.doc_types == SHEET`:电子表格,后续切到 `lark-sheets`
197
+ - 其他类型:继续按对应 skill 或 API 处理
198
+
199
+ ## 决策规则
200
+
201
+ - 参数传递:只要用户给了搜索关键词,就必须显式使用 `--query "<关键词>"`。不要生成 `lark-cli docs +search 方案`、`lark-cli docs +search xxx(搜索关键词)` 这种位置参数写法。
202
+ - 查询语义:必须优先利用 --query 的高级语法(如 intitle:、""、-)将过滤逻辑下推给服务端。当用户要求“标题精确等于 X”时,直接使用 --query "intitle:\"X\"",严禁先进行模糊搜索再做客户端二次筛选。只有在遇到服务端语法无法覆盖的复杂本地比对场景时,才允许在客户端过滤,且比对前必须先去掉 title_highlighted 里的高亮标签。
203
+ - 实体补全:如果用户要按“某个群里分享的文档”搜索,先用 `lark-im` 拿 `chat_id` 再填 `chat_ids`;如果用户要按“某人分享的文档”搜索,先用 `lark-contact` 拿 `open_id` 再填 `sharer_ids`。
204
+ - 零结果回退:如果因为用户的显式类型约束加了 `doc_types` 且结果为 0,可以提示“按指定类型没搜到”;只有在不违背用户明确约束的前提下,才建议放宽类型重试。
205
+ - 入口选择:用户说“找表格标题”“找名为 `X` 的电子表格”“搜某个报表”时,也默认走 `docs +search`。不要误用 `sheets +find` 做跨文件搜索。
206
+ - 分页策略:默认只返回**第一页**,并说明 `has_more` / `page_token`。只有当用户明确要求“全部结果”“继续翻页”“全量扫描”“所有结果”“完整列表”时,才继续翻页。
207
+ - 翻页上限:即使用户要求全量,单轮也最多先拉 **5 页**(按默认 `page-size=20` 约等于最多 100 条结果)。达到上限后,先回报当前进度和是否还有更多页,再让用户决定是否继续下一批。
208
+ - 总数口径:`total` 是 OpenAPI 的搜索结果总数,不一定等于客户端二次筛选后的精确数量。凡是依赖本地过滤、去重、精确标题匹配的场景,都不要默认承诺“精确总数”。
209
+ - 原始返回:如果用户要求“直接返回接口数据 / 原始返回”,优先使用 `--format json`,不要额外做精确标题过滤或摘要重写。
210
+ - 时间表达:用户如果说“3 到 6 个月前”“最近半年内”等相对时间,先转换成明确的绝对时间,再写入 `filter.open_time` / `filter.create_time`。
211
+ - 跨 skill handoff:如果搜索的目标是某个 spreadsheet,返回命中的标题、URL、token 等定位信息后,应切换到 `lark-sheets` 继续后续操作,不要把 `docs +search` 当成对象内部查询。
212
+
213
+ ## 权限
214
+
215
+ | 操作 | 所需 scope |
216
+ |------|-----------|
217
+ | 搜索云空间对象(含文档 / Wiki / 表格资源发现) | `search:docs:read` |
@@ -0,0 +1,252 @@
1
+
2
+ # docs +update(更新飞书云文档)
3
+
4
+ > **前置条件(MUST READ):** 生成文档内容前,必须先用 Read 工具读取以下文件,缺一不可:
5
+ > 1. [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) — 认证、全局参数和安全规则
6
+ > 2. [`lark-doc-xml.md`](lark-doc-xml.md) — XML 语法规则(使用 Markdown 格式时改读 [`lark-doc-md.md`](lark-doc-md.md))
7
+ > 3. [`lark-doc-style.md`](style/lark-doc-style.md) — 排版指南(元素选择、丰富度规则、颜色语义)
8
+ > 4. [`lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) — 改写增强工作流(Code-Act Loop、并行执行策略)
9
+ >
10
+ > **未读完以上文件就生成内容会导致格式错误或样式不达标。**
11
+
12
+ 通过八种指令精确更新飞书云文档。支持字符串级别和 block 级别的操作。
13
+
14
+ > **⚠️ 格式选择规则:**
15
+ > - **局部精修**(`str_replace` / `block_insert_after` / `block_replace` / `block_delete` / `block_move_after`):优先使用 XML(默认)。XML 能稳定表达 block 结构和样式,精准编辑更可控;不要因为 Markdown 写起来更简单就自行切换。
16
+ > - **整段写入**(`append` / `overwrite`):XML 和 Markdown 都可以。用户提供 `.md` 本地文件或明确要求 Markdown 时直接用 Markdown;否则默认 XML。
17
+ >
18
+ > **Markdown 局限 & block ID 前提:** Markdown 不携带 block ID,也无样式(颜色、对齐、callout 等)。需要按 block ID 定位(`block_*` 指令的 `--block-id`)时,先 `docs +fetch --api-version v2 --detail with-ids` **配合 `--scope`(`outline` / `range` / `keyword` / `section`)局部获取**目标段落,不要全量 fetch。拿到 block ID 后 `--content` 仍可用 Markdown,只是写入内容不带样式。
19
+
20
+ ## 参数
21
+
22
+ | 参数 | 必填 | 说明 |
23
+ |------|------|------|
24
+ | `--api-version` | 是 | 固定传 `v2` |
25
+ | `--doc` | 是 | 文档 URL 或 token |
26
+ | `--command` | 是 | 操作指令(见下方指令速查表) |
27
+ | `--doc-format` | 否 | 内容格式:`xml`(默认,始终优先使用)\| `markdown`(仅用户明确要求时) |
28
+ | `--content` | 视指令 | 写入内容(`str_replace` 传空字符串可实现删除) |
29
+ | `--pattern` | 视指令 | 匹配文本(str_replace) |
30
+ | `--block-id` | 视指令 | 目标 block ID(block_* 操作),-1 表示末尾 |
31
+ | `--src-block-ids` | 视指令 | 源 block ID(逗号分隔),用于 block_copy_insert_after / block_move_after |
32
+ | `--revision-id` | 否 | 基准版本号,-1 = 最新(默认 `-1`) |
33
+
34
+ ## 指令速查表
35
+
36
+ | 指令 | 说明 | 必需参数 |
37
+ |------|------|----------|
38
+ | `str_replace` | 全文文本查找替换(replacement 支持富文本标签;`--content` 传空字符串即为删除) | `--pattern` `--content` |
39
+ | `block_insert_after` | 在指定 block 之后插入新内容 | `--block-id` `--content` |
40
+ | `block_copy_insert_after` | 复制源 block 并插入到锚点之后(源块不变) | `--block-id` `--src-block-ids` |
41
+ | `block_replace` | 替换指定 block(同一 block 仅限一次) | `--block-id` `--content` |
42
+ | `block_delete` | 删除指定 block(逗号分隔可批量) | `--block-id` |
43
+ | `overwrite` | ⚠️ 清空文档后全文重写(可能丢失图片、评论) | `--content` |
44
+ | `append` | 在文档末尾追加内容(等价于 `block_insert_after --block-id -1`) | `--content` |
45
+ | `block_move_after` | 移动已有 block 到指定位置 | `--block-id` + (`--content` 或 `--src-block-ids`) |
46
+
47
+ ## 指令示例
48
+
49
+ ### str_replace — 全文文本替换
50
+
51
+ > **匹配范围:**
52
+ > - **XML 模式(默认)**:`--pattern` 只支持**行内匹配**,不能跨 block / 跨段落匹配。涉及整段或多 block 的改动,请改用 `block_replace`。
53
+ > - **Markdown 模式**(`--doc-format markdown`):`--pattern` 同时支持**行内和跨行匹配**,可以用多行字符串匹配并替换一整段内容。
54
+ > - 还支持**`前缀...后缀` 省略号语法**:用 `...`(三个英文句点)串联起始与结束片段,匹配从前缀到后缀之间的全部内容(含中间被省略部分)。适合一段很长、但首尾特征明显的文本,避免把整段都塞进 `--pattern`。
55
+ > - 前缀、后缀本身仍遵循 Markdown 转义规则;省略号中间的内容**会被替换**为 `--content` 的完整文本,不会被保留。
56
+
57
+ ```bash
58
+ # 简单文本替换
59
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command str_replace \
60
+ --pattern "张三" --content "李四"
61
+
62
+ # 替换为富文本(加粗 + 链接)
63
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command str_replace \
64
+ --pattern "旧链接" --content '<b>新链接</b> <a href="https://example.com">点击查看</a>'
65
+
66
+ # 仅当用户明确要求时才使用 Markdown
67
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command str_replace \
68
+ --doc-format markdown --pattern "旧内容" --content "新内容"
69
+
70
+ # Markdown 模式下支持跨行匹配(--pattern 与 --content 都需要真实换行;"..."/'...' 里的 \n 是字面量)
71
+ # 多行内容推荐 heredoc 或 --content @file.md,避免 shell 转义踩坑
72
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command str_replace \
73
+ --doc-format markdown \
74
+ --pattern "$(printf '## 旧标题\n\n第一段原文\n\n第二段原文')" \
75
+ --content - <<'EOF'
76
+ ## 新标题
77
+
78
+ 改写后的第一段
79
+
80
+ 改写后的第二段
81
+ EOF
82
+
83
+ # Markdown 模式下使用 `前缀...后缀` 省略号匹配首尾特征明显的大段内容
84
+ # 下例会把「## 旧标题」到「结束语。」之间的所有内容整体替换
85
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command str_replace \
86
+ --doc-format markdown \
87
+ --pattern "## 旧标题...结束语。" \
88
+ --content - <<'EOF'
89
+ ## 新标题
90
+
91
+ 重写后的正文...
92
+
93
+ 新的结束语。
94
+ EOF
95
+
96
+ # 删除文本:--content 传空字符串即可
97
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command str_replace \
98
+ --pattern "废弃的内容" --content ""
99
+ ```
100
+
101
+ ### block_insert_after — 在指定 block 之后插入
102
+
103
+ ```bash
104
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_insert_after \
105
+ --block-id "目标 block_id" \
106
+ --content '<h2>新章节</h2><ul><li>要点 1</li><li>要点 2</li></ul>'
107
+ ```
108
+
109
+ ### block_replace — 替换指定 block
110
+
111
+ ```bash
112
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_replace \
113
+ --block-id "目标 block_id" \
114
+ --content '<p>替换后的段落内容</p>'
115
+ ```
116
+
117
+ ### block_delete — 删除指定 block
118
+
119
+ ```bash
120
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_delete \
121
+ --block-id "目标 block_id"
122
+ ```
123
+
124
+ ### overwrite — 全文覆盖
125
+
126
+ ```bash
127
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command overwrite \
128
+ --content '<title>全新文档</title><h1>概述</h1><p>新的内容</p>'
129
+ ```
130
+
131
+ > ⚠️ 会清空文档后重写,可能丢失图片、评论等。仅在需要完全重建文档时使用。
132
+
133
+ ### append — 在文档末尾追加
134
+
135
+ ```bash
136
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command append \
137
+ --content '<h2>新增章节</h2><p>追加的内容</p>'
138
+ ```
139
+
140
+ > 等价于 `block_insert_after --block-id -1`,无需先获取 block ID。
141
+
142
+ ### block_copy_insert_after — 复制块并插入
143
+
144
+ 将一个或多个源块复制到锚点块之后,源块保持不变。`--src-block-ids` 为逗号分隔的源块 ID,按顺序依次插入到锚点之后。
145
+
146
+ ```bash
147
+ # 复制多个块(按顺序插入:anchor → a → b → c)
148
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_copy_insert_after \
149
+ --block-id "锚点 block_id" \
150
+ --src-block-ids "block_a,block_b,block_c"
151
+ ```
152
+
153
+ ### block_move_after — 移动已有 block
154
+
155
+ 将文档中已有的 block 移动到指定锚点之后。使用 `--src-block-ids` 指定要移动的块 ID,无需 `--content`。
156
+
157
+ ```bash
158
+ # 移动到页面末尾
159
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_move_after \
160
+ --block-id "-1表示末尾,page_id表示开头,blk" \
161
+ --src-block-ids "block_a,block_b"
162
+ ```
163
+
164
+ ## 返回值
165
+
166
+ ```json
167
+ {
168
+ "ok": true,
169
+ "identity": "user",
170
+ "data": {
171
+ "document": {
172
+ "revision_id": 13,
173
+ "new_blocks": [
174
+ { "block_id": "blkcnXXXX", "block_type": "whiteboard", "block_token": "boardXXXX" }
175
+ ]
176
+ },
177
+ "result": "success",
178
+ "updated_blocks_count": 3,
179
+ "warnings": []
180
+ }
181
+ }
182
+ ```
183
+
184
+ | 字段 | 说明 |
185
+ |------|------|
186
+ | `result` | `success` \| `partial_success` \| `failed` |
187
+ | `updated_blocks_count` | 实际更新的 block 数量 |
188
+ | `warnings` | 警告信息列表 |
189
+ | `document.new_blocks` | 本次操作新增的 block 列表(如画板)。`block_id` 可用于后续精确编辑;`block_token` 是资源块 token(如画板)可交给 `lark-whiteboard` 等 skill 继续操作 |
190
+
191
+ ## 典型工作流
192
+
193
+ ### 精确 block 级更新
194
+
195
+ 1. **获取文档内容和 block ID**:
196
+ ```bash
197
+ lark-cli docs +fetch --api-version v2 --doc "<doc_id>" --detail with-ids
198
+ ```
199
+
200
+ 2. **定位目标 block**:从返回的 XML 中找到要修改的 block 及其 `id` 属性
201
+
202
+ 3. **执行更新**:
203
+ ```bash
204
+ # 替换特定 block
205
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_replace \
206
+ --block-id "blkcnXXXX" --content "<p>新内容</p>"
207
+
208
+ # 在某 block 后插入
209
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command block_insert_after \
210
+ --block-id "blkcnXXXX" --content "<h2>追加的章节</h2>"
211
+ ```
212
+
213
+ ### 简单文本替换
214
+
215
+ 不需要 block ID,直接匹配替换:
216
+
217
+ ```bash
218
+ lark-cli docs +update --api-version v2 --doc "<doc_id>" --command str_replace \
219
+ --pattern "v1.0" --content "v2.0"
220
+ ```
221
+
222
+ ## 画板处理
223
+
224
+ > **`docs +update` 不能直接编辑已有画板的内容。** 本命令只能**新增**画板块;要修改已有画板,先用 `docs +fetch --api-version v2` 取到 `<whiteboard token="...">`,再按 [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md) 启动 SubAgent 读取 [`lark-whiteboard`](../../lark-whiteboard/SKILL.md) 并写入。
225
+
226
+ 画板的语法选型与插入示例见 [`lark-doc-style.md`](style/lark-doc-style.md) 的「画板语法与插入」章节。
227
+
228
+ ## 最佳实践
229
+
230
+ - **精确操作优于全文覆盖**:使用 `block_replace`/`block_insert_after` 精确修改,避免 `overwrite` 全文覆盖
231
+ - **str_replace 的匹配范围取决于格式**:
232
+ - **XML 模式(默认)**:`--pattern` 只支持**行内**匹配,不支持跨行 / 跨 block。段落、整块或容器级(列表、表格、分栏、引用块等)改动请改用 `block_replace` 指定 block_id 重建。
233
+ - **Markdown 模式**(`--doc-format markdown`):`--pattern` 同时支持**行内和跨行**匹配,还支持 `前缀...后缀` 省略号语法(用 `...` 串联首尾片段匹配一大段内容),可以一次替换多行文本;但仍建议优先按最小片段匹配,跨 block 容器级重写仍优先用 `block_replace`,避免副作用。
234
+ - **保护不可重建的内容**:图片、画板、电子表格等以 token 形式存储,替换时避开这些 block
235
+ - **str_replace 的 replacement 支持富文本**:可以用行内标签 `<b>`、`<a>`、`<cite>`、`<latex>` 等替换普通文本为富文本
236
+ - **同一 block 只能被 replace 一次**:多次修改同一 block 请合并为一次 block_replace
237
+ - **block_delete 支持批量**:用逗号分隔多个 block_id 一次删除
238
+ - **复杂结构重组**:将多个段落转换为 grid / table 等复杂布局时,分步操作比 overwrite 更安全:
239
+ 1. 用 `block_insert_after` 在目标位置插入新的富文本结构
240
+ 2. 用 `block_delete` 批量删除旧的 block
241
+ 3. 这样可以保留文档中其他不相关的内容(图片、评论等)
242
+ - **视觉丰富度**:插入或替换内容时,同样遵循 [`lark-doc-style.md`](style/lark-doc-style.md) 中的样式指南,主动使用结构化 block
243
+
244
+ ## 参考
245
+
246
+ - [`lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) — 改写增强工作流(Code-Act Loop、并行执行策略)
247
+ - [`lark-doc-style.md`](style/lark-doc-style.md) — 文档样式指南(元素选择 + 丰富度规则 + 颜色语义)
248
+ - [`lark-doc-xml.md`](lark-doc-xml.md) — XML 语法规范
249
+ - [`lark-doc-fetch.md`](lark-doc-fetch.md) — 获取文档
250
+ - [`lark-doc-create.md`](lark-doc-create.md) — 创建文档
251
+ - [`lark-doc-media-insert.md`](lark-doc-media-insert.md) — 插入图片/文件到文档
252
+ - [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) — 认证和全局参数