@amaster.ai/pi-lark 0.1.3 → 0.1.5

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 (404) hide show
  1. package/package.json +3 -3
  2. package/skills/lark-approval/SKILL.md +99 -0
  3. package/skills/lark-approval/references/lark-approval-approvals-get.md +128 -0
  4. package/skills/lark-approval/references/lark-approval-approvals-search.md +103 -0
  5. package/skills/lark-approval/references/lark-approval-initiate.md +224 -0
  6. package/skills/lark-approval/references/lark-approval-instance-form-control-parameters.md +606 -0
  7. package/skills/lark-approval/references/lark-approval-instance-value-sourcing.md +108 -0
  8. package/skills/lark-approval/references/lark-approval-instances-cancel.md +78 -0
  9. package/skills/lark-approval/references/lark-approval-instances-cc.md +105 -0
  10. package/skills/lark-approval/references/lark-approval-instances-get.md +145 -0
  11. package/skills/lark-approval/references/lark-approval-instances-initiated.md +122 -0
  12. package/skills/lark-approval/references/lark-approval-tasks-add-sign.md +120 -0
  13. package/skills/lark-approval/references/lark-approval-tasks-approve.md +81 -0
  14. package/skills/lark-approval/references/lark-approval-tasks-query.md +76 -0
  15. package/skills/lark-approval/references/lark-approval-tasks-reject.md +73 -0
  16. package/skills/lark-approval/references/lark-approval-tasks-remind.md +82 -0
  17. package/skills/lark-approval/references/lark-approval-tasks-rollback.md +83 -0
  18. package/skills/lark-approval/references/lark-approval-tasks-transfer.md +91 -0
  19. package/skills/lark-apps/SKILL.md +92 -0
  20. package/skills/lark-apps/references/lark-apps-access-scope-get.md +28 -0
  21. package/skills/lark-apps/references/lark-apps-access-scope-set.md +40 -0
  22. package/skills/lark-apps/references/lark-apps-cloud-dev.md +120 -0
  23. package/skills/lark-apps/references/lark-apps-create.md +40 -0
  24. package/skills/lark-apps/references/lark-apps-db-execute.md +44 -0
  25. package/skills/lark-apps/references/lark-apps-db.md +162 -0
  26. package/skills/lark-apps/references/lark-apps-env-pull.md +37 -0
  27. package/skills/lark-apps/references/lark-apps-env.md +48 -0
  28. package/skills/lark-apps/references/lark-apps-file.md +96 -0
  29. package/skills/lark-apps/references/lark-apps-git-credential.md +37 -0
  30. package/skills/lark-apps/references/lark-apps-html-publish.md +57 -0
  31. package/skills/lark-apps/references/lark-apps-init.md +37 -0
  32. package/skills/lark-apps/references/lark-apps-list.md +37 -0
  33. package/skills/lark-apps/references/lark-apps-local-dev.md +78 -0
  34. package/skills/lark-apps/references/lark-apps-observability.md +48 -0
  35. package/skills/lark-apps/references/lark-apps-openapi-key.md +79 -0
  36. package/skills/lark-apps/references/lark-apps-plugin-install.md +36 -0
  37. package/skills/lark-apps/references/lark-apps-plugin-list.md +23 -0
  38. package/skills/lark-apps/references/lark-apps-plugin-uninstall.md +25 -0
  39. package/skills/lark-apps/references/lark-apps-release-create.md +30 -0
  40. package/skills/lark-apps/references/lark-apps-release-get.md +28 -0
  41. package/skills/lark-apps/references/lark-apps-release-list.md +31 -0
  42. package/skills/lark-apps/references/lark-apps-session-messages-list.md +53 -0
  43. package/skills/lark-apps/references/lark-apps-update.md +30 -0
  44. package/skills/lark-attendance/SKILL.md +57 -0
  45. package/skills/lark-base/SKILL.md +157 -0
  46. package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
  47. package/skills/lark-base/references/formula-field-guide.md +737 -0
  48. package/skills/lark-base/references/lark-base-cell-value.md +153 -0
  49. package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +717 -0
  50. package/skills/lark-base/references/lark-base-dashboard.md +238 -0
  51. package/skills/lark-base/references/lark-base-data-analysis-sop.md +210 -0
  52. package/skills/lark-base/references/lark-base-data-query-guide.md +61 -0
  53. package/skills/lark-base/references/lark-base-data-query.md +452 -0
  54. package/skills/lark-base/references/lark-base-field-create.md +103 -0
  55. package/skills/lark-base/references/lark-base-field-json.md +490 -0
  56. package/skills/lark-base/references/lark-base-field-update.md +171 -0
  57. package/skills/lark-base/references/lark-base-form-detail.md +71 -0
  58. package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  59. package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  60. package/skills/lark-base/references/lark-base-form-submit.md +170 -0
  61. package/skills/lark-base/references/lark-base-record-batch-create.md +57 -0
  62. package/skills/lark-base/references/lark-base-record-batch-update.md +52 -0
  63. package/skills/lark-base/references/lark-base-record-history-list.md +43 -0
  64. package/skills/lark-base/references/lark-base-record-upsert.md +63 -0
  65. package/skills/lark-base/references/lark-base-role-guide.md +65 -0
  66. package/skills/lark-base/references/lark-base-view-set-filter.md +189 -0
  67. package/skills/lark-base/references/lark-base-workflow-guide.md +830 -0
  68. package/skills/lark-base/references/lark-base-workflow-schema.md +1071 -0
  69. package/skills/lark-base/references/lookup-field-guide.md +512 -0
  70. package/skills/lark-base/references/role-config.md +549 -0
  71. package/skills/lark-calendar/SKILL.md +140 -0
  72. package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
  73. package/skills/lark-calendar/references/lark-calendar-create.md +114 -0
  74. package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  75. package/skills/lark-calendar/references/lark-calendar-meeting.md +40 -0
  76. package/skills/lark-calendar/references/lark-calendar-recurring.md +90 -0
  77. package/skills/lark-calendar/references/lark-calendar-room-find.md +113 -0
  78. package/skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  79. package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
  80. package/skills/lark-calendar/references/lark-calendar-search-event.md +29 -0
  81. package/skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  82. package/skills/lark-calendar/references/lark-calendar-update.md +105 -0
  83. package/skills/lark-contact/SKILL.md +55 -0
  84. package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
  85. package/skills/lark-contact/references/lark-contact-search-user.md +123 -0
  86. package/skills/lark-doc/SKILL.md +84 -0
  87. package/skills/lark-doc/references/lark-doc-create.md +80 -0
  88. package/skills/lark-doc/references/lark-doc-fetch.md +138 -0
  89. package/skills/lark-doc/references/lark-doc-history.md +107 -0
  90. package/skills/lark-doc/references/lark-doc-md.md +76 -0
  91. package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
  92. package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
  93. package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  94. package/skills/lark-doc/references/lark-doc-mindnote.md +113 -0
  95. package/skills/lark-doc/references/lark-doc-resource-cover.md +70 -0
  96. package/skills/lark-doc/references/lark-doc-update.md +260 -0
  97. package/skills/lark-doc/references/lark-doc-whiteboard.md +154 -0
  98. package/skills/lark-doc/references/lark-doc-word-stat.md +93 -0
  99. package/skills/lark-doc/references/lark-doc-xml.md +181 -0
  100. package/skills/lark-doc/references/style/lark-doc-create-workflow.md +47 -0
  101. package/skills/lark-doc/references/style/lark-doc-style.md +68 -0
  102. package/skills/lark-doc/references/style/lark-doc-update-workflow.md +48 -0
  103. package/skills/lark-doc/scripts/doc_word_stat.py +1243 -0
  104. package/skills/lark-drive/SKILL.md +220 -0
  105. package/skills/lark-drive/references/lark-drive-add-comment.md +193 -0
  106. package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
  107. package/skills/lark-drive/references/lark-drive-comment-location.md +193 -0
  108. package/skills/lark-drive/references/lark-drive-comments-guide.md +72 -0
  109. package/skills/lark-drive/references/lark-drive-cover.md +79 -0
  110. package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  111. package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  112. package/skills/lark-drive/references/lark-drive-delete.md +79 -0
  113. package/skills/lark-drive/references/lark-drive-download.md +31 -0
  114. package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
  115. package/skills/lark-drive/references/lark-drive-export.md +145 -0
  116. package/skills/lark-drive/references/lark-drive-files-list.md +158 -0
  117. package/skills/lark-drive/references/lark-drive-import.md +178 -0
  118. package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
  119. package/skills/lark-drive/references/lark-drive-member-add.md +66 -0
  120. package/skills/lark-drive/references/lark-drive-move.md +120 -0
  121. package/skills/lark-drive/references/lark-drive-permission-guide.md +41 -0
  122. package/skills/lark-drive/references/lark-drive-preview.md +87 -0
  123. package/skills/lark-drive/references/lark-drive-pull.md +137 -0
  124. package/skills/lark-drive/references/lark-drive-push.md +162 -0
  125. package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
  126. package/skills/lark-drive/references/lark-drive-search.md +273 -0
  127. package/skills/lark-drive/references/lark-drive-secure-label.md +52 -0
  128. package/skills/lark-drive/references/lark-drive-status.md +137 -0
  129. package/skills/lark-drive/references/lark-drive-task-result.md +302 -0
  130. package/skills/lark-drive/references/lark-drive-upload.md +101 -0
  131. package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
  132. package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
  133. package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
  134. package/skills/lark-drive/references/lark-drive-version-revert.md +35 -0
  135. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-analysis.md +249 -0
  136. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-discovery.md +253 -0
  137. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-execution.md +200 -0
  138. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md +336 -0
  139. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-rollback.md +308 -0
  140. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +226 -0
  141. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md +168 -0
  142. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-outputs.md +424 -0
  143. package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +207 -0
  144. package/skills/lark-drive/references/lark-drive-workflow.md +130 -0
  145. package/skills/lark-event/SKILL.md +154 -0
  146. package/skills/lark-event/references/lark-event-im.md +87 -0
  147. package/skills/lark-event/references/lark-event-minutes.md +54 -0
  148. package/skills/lark-event/references/lark-event-task.md +78 -0
  149. package/skills/lark-event/references/lark-event-vc.md +106 -0
  150. package/skills/lark-event/references/lark-event-whiteboard.md +67 -0
  151. package/skills/lark-im/SKILL.md +248 -0
  152. package/skills/lark-im/references/card/card-2.0-schema.md +107 -0
  153. package/skills/lark-im/references/card/components/button.md +63 -0
  154. package/skills/lark-im/references/card/components/chart.md +57 -0
  155. package/skills/lark-im/references/card/components/checker.md +38 -0
  156. package/skills/lark-im/references/card/components/collapsible_panel.md +46 -0
  157. package/skills/lark-im/references/card/components/column_set.md +53 -0
  158. package/skills/lark-im/references/card/components/date_picker.md +34 -0
  159. package/skills/lark-im/references/card/components/div.md +36 -0
  160. package/skills/lark-im/references/card/components/form.md +51 -0
  161. package/skills/lark-im/references/card/components/header.md +34 -0
  162. package/skills/lark-im/references/card/components/hr.md +17 -0
  163. package/skills/lark-im/references/card/components/img.md +34 -0
  164. package/skills/lark-im/references/card/components/img_combination.md +30 -0
  165. package/skills/lark-im/references/card/components/input.md +43 -0
  166. package/skills/lark-im/references/card/components/interactive_container.md +46 -0
  167. package/skills/lark-im/references/card/components/markdown.md +56 -0
  168. package/skills/lark-im/references/card/components/multi_select_person.md +40 -0
  169. package/skills/lark-im/references/card/components/multi_select_static.md +40 -0
  170. package/skills/lark-im/references/card/components/overflow.md +36 -0
  171. package/skills/lark-im/references/card/components/person.md +30 -0
  172. package/skills/lark-im/references/card/components/person_list.md +31 -0
  173. package/skills/lark-im/references/card/components/picker_datetime.md +34 -0
  174. package/skills/lark-im/references/card/components/picker_time.md +34 -0
  175. package/skills/lark-im/references/card/components/recycling_container.md +35 -0
  176. package/skills/lark-im/references/card/components/select_img.md +42 -0
  177. package/skills/lark-im/references/card/components/select_person.md +39 -0
  178. package/skills/lark-im/references/card/components/select_static.md +43 -0
  179. package/skills/lark-im/references/card/components/table.md +53 -0
  180. package/skills/lark-im/references/card/lark-im-card-create.md +180 -0
  181. package/skills/lark-im/references/card/lark-im-card-style.md +281 -0
  182. package/skills/lark-im/references/card/resource/colors.md +34 -0
  183. package/skills/lark-im/references/card/resource/icons.md +38 -0
  184. package/skills/lark-im/references/lark-im-card-action-reply.md +175 -0
  185. package/skills/lark-im/references/lark-im-chat-create.md +162 -0
  186. package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
  187. package/skills/lark-im/references/lark-im-chat-list.md +166 -0
  188. package/skills/lark-im/references/lark-im-chat-members-list.md +83 -0
  189. package/skills/lark-im/references/lark-im-chat-messages-list.md +157 -0
  190. package/skills/lark-im/references/lark-im-chat-search.md +142 -0
  191. package/skills/lark-im/references/lark-im-chat-update.md +84 -0
  192. package/skills/lark-im/references/lark-im-feed-group-list-item.md +68 -0
  193. package/skills/lark-im/references/lark-im-feed-group-list.md +65 -0
  194. package/skills/lark-im/references/lark-im-feed-group-query-item.md +44 -0
  195. package/skills/lark-im/references/lark-im-feed-groups.md +452 -0
  196. package/skills/lark-im/references/lark-im-feed-shortcut-create.md +97 -0
  197. package/skills/lark-im/references/lark-im-feed-shortcut-list.md +103 -0
  198. package/skills/lark-im/references/lark-im-feed-shortcut-remove.md +48 -0
  199. package/skills/lark-im/references/lark-im-flag-cancel.md +67 -0
  200. package/skills/lark-im/references/lark-im-flag-create.md +67 -0
  201. package/skills/lark-im/references/lark-im-flag-list.md +100 -0
  202. package/skills/lark-im/references/lark-im-message-enrichment.md +54 -0
  203. package/skills/lark-im/references/lark-im-messages-mget.md +99 -0
  204. package/skills/lark-im/references/lark-im-messages-reply.md +277 -0
  205. package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  206. package/skills/lark-im/references/lark-im-messages-search.md +234 -0
  207. package/skills/lark-im/references/lark-im-messages-send.md +279 -0
  208. package/skills/lark-im/references/lark-im-reactions.md +299 -0
  209. package/skills/lark-im/references/lark-im-threads-messages-list.md +115 -0
  210. package/skills/lark-mail/SKILL.md +287 -0
  211. package/skills/lark-mail/assets/templates/job-application--resume.html +33 -0
  212. package/skills/lark-mail/assets/templates/newsletter--weekly-brief.html +50 -0
  213. package/skills/lark-mail/assets/templates/research--market-report.html +256 -0
  214. package/skills/lark-mail/assets/templates/weekly--personal-report.html +43 -0
  215. package/skills/lark-mail/assets/templates/weekly--team-report.html +9 -0
  216. package/skills/lark-mail/references/lark-mail-calendar-invite.md +36 -0
  217. package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  218. package/skills/lark-mail/references/lark-mail-draft-create.md +127 -0
  219. package/skills/lark-mail/references/lark-mail-draft-edit.md +404 -0
  220. package/skills/lark-mail/references/lark-mail-forward.md +239 -0
  221. package/skills/lark-mail/references/lark-mail-html.md +333 -0
  222. package/skills/lark-mail/references/lark-mail-lint-html.md +243 -0
  223. package/skills/lark-mail/references/lark-mail-message.md +233 -0
  224. package/skills/lark-mail/references/lark-mail-messages.md +108 -0
  225. package/skills/lark-mail/references/lark-mail-recall.md +66 -0
  226. package/skills/lark-mail/references/lark-mail-recipient-search.md +59 -0
  227. package/skills/lark-mail/references/lark-mail-reply-all.md +213 -0
  228. package/skills/lark-mail/references/lark-mail-reply.md +249 -0
  229. package/skills/lark-mail/references/lark-mail-rules.md +31 -0
  230. package/skills/lark-mail/references/lark-mail-send-as.md +44 -0
  231. package/skills/lark-mail/references/lark-mail-send-receipt.md +120 -0
  232. package/skills/lark-mail/references/lark-mail-send-status.md +46 -0
  233. package/skills/lark-mail/references/lark-mail-send.md +222 -0
  234. package/skills/lark-mail/references/lark-mail-share-to-chat.md +87 -0
  235. package/skills/lark-mail/references/lark-mail-signature.md +98 -0
  236. package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
  237. package/skills/lark-mail/references/lark-mail-template-update.md +150 -0
  238. package/skills/lark-mail/references/lark-mail-template.md +54 -0
  239. package/skills/lark-mail/references/lark-mail-thread.md +111 -0
  240. package/skills/lark-mail/references/lark-mail-triage.md +131 -0
  241. package/skills/lark-mail/references/lark-mail-watch.md +94 -0
  242. package/skills/lark-markdown/SKILL.md +69 -0
  243. package/skills/lark-markdown/references/lark-markdown-create.md +94 -0
  244. package/skills/lark-markdown/references/lark-markdown-diff.md +156 -0
  245. package/skills/lark-markdown/references/lark-markdown-fetch.md +79 -0
  246. package/skills/lark-markdown/references/lark-markdown-overwrite.md +85 -0
  247. package/skills/lark-markdown/references/lark-markdown-patch.md +160 -0
  248. package/skills/lark-minutes/SKILL.md +192 -0
  249. package/skills/lark-minutes/references/lark-minutes-detail.md +62 -0
  250. package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
  251. package/skills/lark-minutes/references/lark-minutes-search.md +204 -0
  252. package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +109 -0
  253. package/skills/lark-minutes/references/lark-minutes-summary.md +122 -0
  254. package/skills/lark-minutes/references/lark-minutes-todo.md +138 -0
  255. package/skills/lark-minutes/references/lark-minutes-update.md +41 -0
  256. package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
  257. package/skills/lark-note/SKILL.md +94 -0
  258. package/skills/lark-note/references/lark-note-detail.md +26 -0
  259. package/skills/lark-note/references/lark-note-transcript.md +23 -0
  260. package/skills/lark-okr/SKILL.md +122 -0
  261. package/skills/lark-okr/references/lark-okr-alignments.md +180 -0
  262. package/skills/lark-okr/references/lark-okr-batch-create.md +106 -0
  263. package/skills/lark-okr/references/lark-okr-contentblock.md +427 -0
  264. package/skills/lark-okr/references/lark-okr-cycle-detail.md +91 -0
  265. package/skills/lark-okr/references/lark-okr-cycle-list.md +93 -0
  266. package/skills/lark-okr/references/lark-okr-entities.md +329 -0
  267. package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
  268. package/skills/lark-okr/references/lark-okr-indicator-update.md +80 -0
  269. package/skills/lark-okr/references/lark-okr-indicators.md +223 -0
  270. package/skills/lark-okr/references/lark-okr-patch.md +104 -0
  271. package/skills/lark-okr/references/lark-okr-progress-create.md +85 -0
  272. package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
  273. package/skills/lark-okr/references/lark-okr-progress-get.md +93 -0
  274. package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
  275. package/skills/lark-okr/references/lark-okr-progress-update.md +85 -0
  276. package/skills/lark-okr/references/lark-okr-reorder.md +81 -0
  277. package/skills/lark-okr/references/lark-okr-weight.md +96 -0
  278. package/skills/lark-openapi-explorer/SKILL.md +153 -0
  279. package/skills/lark-shared/SKILL.md +193 -0
  280. package/skills/lark-shared/references/lark-wiki-token-routing.md +42 -0
  281. package/skills/lark-sheets/SKILL.md +165 -0
  282. package/skills/lark-sheets/references/lark-sheets-batch-update.md +191 -0
  283. package/skills/lark-sheets/references/lark-sheets-chart.md +330 -0
  284. package/skills/lark-sheets/references/lark-sheets-conditional-format.md +179 -0
  285. package/skills/lark-sheets/references/lark-sheets-core-operations.md +103 -0
  286. package/skills/lark-sheets/references/lark-sheets-filter-view.md +137 -0
  287. package/skills/lark-sheets/references/lark-sheets-filter.md +130 -0
  288. package/skills/lark-sheets/references/lark-sheets-float-image.md +159 -0
  289. package/skills/lark-sheets/references/lark-sheets-formula-translation.md +267 -0
  290. package/skills/lark-sheets/references/lark-sheets-pivot-table.md +166 -0
  291. package/skills/lark-sheets/references/lark-sheets-range-operations.md +267 -0
  292. package/skills/lark-sheets/references/lark-sheets-read-data.md +235 -0
  293. package/skills/lark-sheets/references/lark-sheets-search-replace.md +111 -0
  294. package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +212 -0
  295. package/skills/lark-sheets/references/lark-sheets-sparkline.md +149 -0
  296. package/skills/lark-sheets/references/lark-sheets-visual-standards.md +205 -0
  297. package/skills/lark-sheets/references/lark-sheets-workbook.md +395 -0
  298. package/skills/lark-sheets/references/lark-sheets-write-cells.md +565 -0
  299. package/skills/lark-sheets/scripts/sheets_df.py +32 -0
  300. package/skills/lark-skill-maker/SKILL.md +85 -0
  301. package/skills/lark-slides/SKILL.md +274 -0
  302. package/skills/lark-slides/references/asset-planning.md +124 -0
  303. package/skills/lark-slides/references/examples.md +261 -0
  304. package/skills/lark-slides/references/iconpark-index.json +41901 -0
  305. package/skills/lark-slides/references/iconpark.md +46 -0
  306. package/skills/lark-slides/references/lark-slides-create.md +137 -0
  307. package/skills/lark-slides/references/lark-slides-edit-workflows.md +144 -0
  308. package/skills/lark-slides/references/lark-slides-media-upload.md +128 -0
  309. package/skills/lark-slides/references/lark-slides-replace-pages.md +95 -0
  310. package/skills/lark-slides/references/lark-slides-replace-slide.md +240 -0
  311. package/skills/lark-slides/references/lark-slides-screenshot.md +94 -0
  312. package/skills/lark-slides/references/lark-slides-whiteboard.md +330 -0
  313. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +220 -0
  314. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
  315. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  316. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +187 -0
  317. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
  318. package/skills/lark-slides/references/planning-layer.md +216 -0
  319. package/skills/lark-slides/references/slide-templates.md +201 -0
  320. package/skills/lark-slides/references/slides_demo.xml +226 -0
  321. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3049 -0
  322. package/skills/lark-slides/references/troubleshooting.md +63 -0
  323. package/skills/lark-slides/references/validation-checklist.md +110 -0
  324. package/skills/lark-slides/references/visual-planning.md +254 -0
  325. package/skills/lark-slides/references/xml-format-guide.md +369 -0
  326. package/skills/lark-slides/references/xml-schema-quick-ref.md +245 -0
  327. package/skills/lark-slides/scripts/iconpark_tool.py +362 -0
  328. package/skills/lark-slides/scripts/iconpark_tool_test.py +177 -0
  329. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +367 -0
  330. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +299 -0
  331. package/skills/lark-task/SKILL.md +167 -0
  332. package/skills/lark-task/references/lark-task-assign.md +38 -0
  333. package/skills/lark-task/references/lark-task-comment.md +28 -0
  334. package/skills/lark-task/references/lark-task-complete.md +27 -0
  335. package/skills/lark-task/references/lark-task-create.md +57 -0
  336. package/skills/lark-task/references/lark-task-followers.md +35 -0
  337. package/skills/lark-task/references/lark-task-get-my-tasks.md +61 -0
  338. package/skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
  339. package/skills/lark-task/references/lark-task-reminder.md +36 -0
  340. package/skills/lark-task/references/lark-task-reopen.md +27 -0
  341. package/skills/lark-task/references/lark-task-search.md +41 -0
  342. package/skills/lark-task/references/lark-task-set-ancestor.md +32 -0
  343. package/skills/lark-task/references/lark-task-tasklist-create.md +35 -0
  344. package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  345. package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  346. package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  347. package/skills/lark-task/references/lark-task-update.md +37 -0
  348. package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
  349. package/skills/lark-vc/SKILL.md +202 -0
  350. package/skills/lark-vc/references/lark-vc-detail.md +44 -0
  351. package/skills/lark-vc/references/lark-vc-recording.md +154 -0
  352. package/skills/lark-vc/references/lark-vc-search.md +163 -0
  353. package/skills/lark-vc/references/vc-domain-boundaries.md +188 -0
  354. package/skills/lark-vc-agent/SKILL.md +191 -0
  355. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +287 -0
  356. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +141 -0
  357. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +105 -0
  358. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md +91 -0
  359. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-message-send.md +134 -0
  360. package/skills/lark-whiteboard/SKILL.md +47 -0
  361. package/skills/lark-whiteboard/elements/connectors.md +102 -0
  362. package/skills/lark-whiteboard/elements/content.md +40 -0
  363. package/skills/lark-whiteboard/elements/image.md +80 -0
  364. package/skills/lark-whiteboard/elements/layout.md +374 -0
  365. package/skills/lark-whiteboard/elements/schema.md +357 -0
  366. package/skills/lark-whiteboard/elements/style.md +318 -0
  367. package/skills/lark-whiteboard/elements/typography.md +73 -0
  368. package/skills/lark-whiteboard/references/lark-whiteboard-query.md +60 -0
  369. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +122 -0
  370. package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +94 -0
  371. package/skills/lark-whiteboard/routes/dsl.md +107 -0
  372. package/skills/lark-whiteboard/routes/mermaid.md +27 -0
  373. package/skills/lark-whiteboard/routes/svg-edit.md +85 -0
  374. package/skills/lark-whiteboard/routes/svg.md +54 -0
  375. package/skills/lark-whiteboard/scenes/architecture.md +433 -0
  376. package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
  377. package/skills/lark-whiteboard/scenes/comparison.md +135 -0
  378. package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
  379. package/skills/lark-whiteboard/scenes/flowchart.md +185 -0
  380. package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
  381. package/skills/lark-whiteboard/scenes/funnel.md +101 -0
  382. package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
  383. package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
  384. package/skills/lark-whiteboard/scenes/milestone.md +139 -0
  385. package/skills/lark-whiteboard/scenes/organization.md +173 -0
  386. package/skills/lark-whiteboard/scenes/photo-showcase.md +126 -0
  387. package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
  388. package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
  389. package/skills/lark-whiteboard/scenes/treemap.md +216 -0
  390. package/skills/lark-wiki/SKILL.md +110 -0
  391. package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  392. package/skills/lark-wiki/references/lark-wiki-member-add.md +67 -0
  393. package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
  394. package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
  395. package/skills/lark-wiki/references/lark-wiki-move.md +183 -0
  396. package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  397. package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  398. package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
  399. package/skills/lark-wiki/references/lark-wiki-node-get.md +57 -0
  400. package/skills/lark-wiki/references/lark-wiki-node-list.md +88 -0
  401. package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
  402. package/skills/lark-wiki/references/lark-wiki-space-list.md +68 -0
  403. package/skills/lark-workflow-meeting-summary/SKILL.md +122 -0
  404. package/skills/lark-workflow-standup-report/SKILL.md +122 -0
@@ -0,0 +1,50 @@
1
+
2
+ # drive +export-download
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 根据导出任务产物的 `file_token` 下载本地文件。通常与 `drive +task_result --scenario export` 配合使用。
7
+
8
+ ## 命令
9
+
10
+ ```bash
11
+ # 使用服务端返回的文件名下载到当前目录
12
+ lark-cli drive +export-download \
13
+ --file-token "<EXPORTED_FILE_TOKEN>"
14
+
15
+ # 下载到指定目录
16
+ lark-cli drive +export-download \
17
+ --file-token "<EXPORTED_FILE_TOKEN>" \
18
+ --output-dir ./exports
19
+
20
+ # 指定本地文件名
21
+ lark-cli drive +export-download \
22
+ --file-token "<EXPORTED_FILE_TOKEN>" \
23
+ --file-name "weekly-report.pdf" \
24
+ --output-dir ./exports
25
+
26
+ # 允许覆盖
27
+ lark-cli drive +export-download \
28
+ --file-token "<EXPORTED_FILE_TOKEN>" \
29
+ --overwrite
30
+ ```
31
+
32
+ ## 参数
33
+
34
+ | 参数 | 必填 | 说明 |
35
+ |------|------|------|
36
+ | `--file-token` | 是 | 导出完成后的产物 token |
37
+ | `--file-name` | 否 | 覆盖默认文件名 |
38
+ | `--output-dir` | 否 | 本地输出目录,默认当前目录 |
39
+ | `--overwrite` | 否 | 覆盖已存在文件 |
40
+
41
+ ## 使用顺序
42
+
43
+ 1. 用 `drive +export` 发起导出
44
+ 2. 如果返回 `ticket` / `next_command`,用 `drive +task_result --scenario export --ticket <ticket> --file-token <source_token>` 继续查
45
+ 3. 查到 `file_token` 后,用 `drive +export-download` 下载
46
+
47
+ ## 参考
48
+
49
+ - [lark-drive](../SKILL.md) -- 云空间(云盘/云存储)全部命令
50
+ - [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
@@ -0,0 +1,145 @@
1
+
2
+ # drive +export
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 把 `doc` / `docx` / `sheet` / `bitable` / `slides` 导出到本地文件。这个 shortcut 内置有限轮询:
7
+
8
+ - 如果导出任务在轮询窗口内完成,会直接下载到本地目录
9
+ - 如果轮询结束仍未完成,会返回 `ticket`、`ready=false`、`timed_out=true` 和 `next_command`
10
+ - 后续继续查结果时,改用 `drive +task_result --scenario export`
11
+ - 拿到 `file_token` 后,改用 `drive +export-download`
12
+
13
+ ## 命令
14
+
15
+ ```bash
16
+ # 导出新版文档为 pdf,默认保存到当前目录
17
+ lark-cli drive +export \
18
+ --token "<DOCX_TOKEN>" \
19
+ --doc-type docx \
20
+ --file-extension pdf
21
+
22
+ # 导出旧版文档为 docx
23
+ lark-cli drive +export \
24
+ --token "<DOC_TOKEN>" \
25
+ --doc-type doc \
26
+ --file-extension docx
27
+
28
+ # 导出 docx 为 markdown(Lark-flavored Markdown)
29
+ # 注意:markdown 只支持 docx
30
+ lark-cli drive +export \
31
+ --token "<DOCX_TOKEN>" \
32
+ --doc-type docx \
33
+ --file-extension markdown
34
+
35
+ # 导出电子表格为 xlsx
36
+ lark-cli drive +export \
37
+ --token "<SHEET_TOKEN>" \
38
+ --doc-type sheet \
39
+ --file-extension xlsx \
40
+ --output-dir ./exports
41
+
42
+ # 导出幻灯片为 pptx
43
+ lark-cli drive +export \
44
+ --token "<SLIDES_TOKEN>" \
45
+ --doc-type slides \
46
+ --file-extension pptx \
47
+ --output-dir ./exports
48
+
49
+ # 导出幻灯片为 pdf
50
+ lark-cli drive +export \
51
+ --token "<SLIDES_TOKEN>" \
52
+ --doc-type slides \
53
+ --file-extension pdf \
54
+ --output-dir ./exports
55
+
56
+ # 指定本地文件名(会按导出格式自动补扩展名)
57
+ lark-cli drive +export \
58
+ --token "<DOCX_TOKEN>" \
59
+ --doc-type docx \
60
+ --file-extension pdf \
61
+ --file-name "weekly-report.pdf" \
62
+ --output-dir ./exports
63
+
64
+ # 导出电子表格或多维表格为 csv 时,必须传 sub_id
65
+ lark-cli drive +export \
66
+ --token "<SHEET_OR_BITABLE_TOKEN>" \
67
+ --doc-type "<sheet|bitable>" \
68
+ --file-extension csv \
69
+ --sub-id "<SUB_ID>" \
70
+ --output-dir ./exports
71
+
72
+ # 导出多维表格为 .base 快照(只支持 bitable)
73
+ lark-cli drive +export \
74
+ --token "<BITABLE_TOKEN>" \
75
+ --doc-type bitable \
76
+ --file-extension base \
77
+ --output-dir ./exports
78
+
79
+ # 导出多维表格结构为 .base 快照(仅导出表结构,不导出记录数据)
80
+ lark-cli drive +export \
81
+ --token "<BITABLE_TOKEN>" \
82
+ --doc-type bitable \
83
+ --file-extension base \
84
+ --only-schema \
85
+ --output-dir ./exports
86
+
87
+ # 允许覆盖已存在文件
88
+ lark-cli drive +export \
89
+ --token "<DOCX_TOKEN>" \
90
+ --doc-type docx \
91
+ --file-extension pdf \
92
+ --overwrite
93
+ ```
94
+
95
+ ## 参数
96
+
97
+ | 参数 | 必填 | 说明 |
98
+ |------|------|------|
99
+ | `--token` | 是 | 源文档 token |
100
+ | `--doc-type` | 是 | 源文档类型:`doc` / `docx` / `sheet` / `bitable` / `slides` |
101
+ | `--file-extension` | 是 | 导出格式:`docx` / `pdf` / `xlsx` / `csv` / `markdown` / `base` / `pptx` |
102
+ | `--sub-id` | 条件必填 | 当 `sheet` / `bitable` 导出为 `csv` 时必填 |
103
+ | `--only-schema` | 否 | 仅当 `--doc-type bitable --file-extension base` 时可用;只导出多维表格结构,不导出记录数据 |
104
+ | `--file-name` | 否 | 覆盖默认本地文件名;如未带扩展名,会按 `--file-extension` 自动补齐 |
105
+ | `--output-dir` | 否 | 本地输出目录,默认当前目录 |
106
+ | `--overwrite` | 否 | 覆盖已存在文件 |
107
+
108
+ ## 关键约束
109
+
110
+ - `markdown` 只支持 `docx`
111
+ - `base` 只支持 `bitable`
112
+ - `--only-schema` 只支持 `bitable` 导出为 `.base`,用于仅导出表结构
113
+ - `pptx` 只支持 `slides`
114
+ - `slides` 支持导出为 `pptx` / `pdf`
115
+ - `sheet` / `bitable` 导出为 `csv` 时必须带 `--sub-id`
116
+ - shortcut 内部固定有限轮询:最多 10 次,每次间隔 5 秒
117
+ - 轮询超时不是失败;会返回 `ticket`、`timed_out=true` 和 `next_command`,供后续继续查询
118
+
119
+ ## 推荐续跑方式
120
+
121
+ ```bash
122
+ # 第一步:先尝试直接导出
123
+ lark-cli drive +export \
124
+ --token "<DOCX_TOKEN>" \
125
+ --doc-type docx \
126
+ --file-extension pdf \
127
+ --file-name "weekly-report.pdf"
128
+
129
+ # 如果返回 ready=false / timed_out=true,再继续查
130
+ lark-cli drive +task_result \
131
+ --scenario export \
132
+ --ticket "<TICKET>" \
133
+ --file-token "<DOCX_TOKEN>"
134
+
135
+ # 查到 file_token 后下载
136
+ lark-cli drive +export-download \
137
+ --file-token "<EXPORTED_FILE_TOKEN>" \
138
+ --file-name "weekly-report.pdf" \
139
+ --output-dir ./exports
140
+ ```
141
+
142
+ ## 参考
143
+
144
+ - [lark-drive](../SKILL.md) -- 云空间(云盘/云存储)全部命令
145
+ - [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
@@ -0,0 +1,158 @@
1
+ # drive files list(原生 API:读取 Drive 文件夹清单)
2
+
3
+ `drive files list` 是原生 API 命令,不是 shortcut。它用于读取 Drive 根目录或某个 Drive 文件夹的直接子项;如果要递归盘点目录树,Agent 必须基于返回的子文件夹 token 继续调用本命令。
4
+
5
+ ## 什么时候使用
6
+
7
+ | 场景 | 是否使用 | 说明 |
8
+ |------|----------|------|
9
+ | 盘点一个已确认的 Drive 文件夹树 | 使用 | 从目标 `folder_token` 开始递归列取 |
10
+ | 盘点用户明确确认的 Drive 根目录 | 使用 | 第一层用空 `folder_token`,子文件夹继续按普通文件夹递归 |
11
+ | 验证移动 / 创建后的实际位置 | 使用 | 读取目标目录直接子项,再按需递归验证 |
12
+ | 根据关键词、标题、时间、owner 找资源 | 不使用 | 优先用 `drive +search` |
13
+ | 读取 Docx 正文内容 | 不使用 | 用 `docs +fetch` |
14
+ | 读取 Sheet / Base 内部数据 | 不使用 | 切到 `lark-sheets` / `lark-base` |
15
+
16
+ ## 标准命令模板
17
+
18
+ 读取普通文件夹:
19
+
20
+ ```bash
21
+ lark-cli drive files list \
22
+ --params '{"folder_token":"<folder_token>","page_size":200}' \
23
+ --format json
24
+ ```
25
+
26
+ 继续翻页:
27
+
28
+ ```bash
29
+ lark-cli drive files list \
30
+ --params '{"folder_token":"<folder_token>","page_size":200,"page_token":"<PAGE_TOKEN>"}' \
31
+ --format json
32
+ ```
33
+
34
+ 读取当前用户 Drive 根目录的直接子项:
35
+
36
+ ```bash
37
+ lark-cli drive files list \
38
+ --params '{"folder_token":"","page_size":200}' \
39
+ --format json
40
+ ```
41
+
42
+ 也可以省略 `folder_token` 字段来请求根目录,但在 Agent 编排中建议显式传空字符串,避免把“忘记传参数”和“确认请求根目录”混在一起。
43
+
44
+ ## 参数规则
45
+
46
+ 1. `folder_token` 必须放在 `--params` JSON 里;不要使用不存在的 `--folder-token` flag。
47
+ 2. `page_token` 必须放在 `--params` JSON 里;不要依赖 shell 变量拼接不完整的 JSON。
48
+ 3. `page_size` 建议显式设置为 `200`。如果服务端或环境返回参数错误,再降级到服务端允许的值,并记录降级原因。
49
+ 4. 调用前如果不确定字段结构,先运行 `lark-cli schema drive.files.list` 查看 `--params` 结构。
50
+
51
+ ## 返回结构与解析
52
+
53
+ `--format json` 输出中,Agent 只使用 `data` 中符合 `schema drive.files.list` 的 API 返回字段。
54
+
55
+ 常用字段:
56
+
57
+ | 字段 | 用途 |
58
+ |------|------|
59
+ | `data.files` | 当前页直接子项列表 |
60
+ | `data.has_more` | 当前目录是否还有下一页 |
61
+ | `data.next_page_token` | 下一页 token;当 `has_more=true` 时放回 `--params.page_token` |
62
+ | `data.files[].type` | 文件类型;等于 `folder` 时可递归 |
63
+ | `data.files[].token` | 当前资源 token;文件夹递归时作为下一层 `folder_token` |
64
+ | `data.files[].name` | 生成路径和展示标题 |
65
+ | `data.files[].url` | 资源浏览器链接 |
66
+ | `data.files[].owner_id` | 资源所有者 |
67
+ | `data.files[].created_time` / `data.files[].modified_time` | 创建 / 更新时间 |
68
+
69
+ 字段名以 `schema drive.files.list` 为准。Agent MUST 以实际返回为准;如果字段缺失,先用 `schema drive.files.list` 或一页样本确认结构,不要猜测。
70
+
71
+ ## 根目录语义
72
+
73
+ 1. `folder_token` 为空字符串或省略时,请求的是当前调用用户的 Drive 根目录直接子项。
74
+ 2. 根目录返回值不是递归结果;不能把根目录第一页或直接子项数量当作整个云空间资源总量。
75
+ 3. 根目录只作为目录树起点。返回的子文件夹必须用其自己的 `folder_token` 继续调用 `drive files list`。
76
+ 4. 根据 schema 描述,根目录第一层清单不支持分页且不返回快捷方式;不要基于根目录响应推断子文件夹内容、根目录第一层快捷方式或无法分页的根目录剩余项已经被覆盖。
77
+
78
+ ## 递归盘点规则
79
+
80
+ 1. 只对返回项中的 `folder` 类型继续递归。
81
+ 2. 每个目录独立维护分页状态;一个目录的 `page_token` 不可复用于其他目录。
82
+ 3. 对每个目录持续请求,直到返回 `has_more=false`。非根目录的普通文件夹清单可能返回 `type=shortcut` 条目;不要假设这些条目会携带 `shortcut_info` 目标信息。
83
+ 4. 递归过程中生成稳定 `path`;不要只保存标题,否则同名资源无法区分。
84
+ 5. URL、owner、创建时间和更新时间优先使用 `files.list` 返回字段;如果字段缺失或需要批量补齐,再使用 `drive metas batch_query`。不要从标题或路径猜元数据。
85
+ 6. 深度、数量、每目录页数等限制只能作为内部批次 checkpoint;不能作为递归完成条件。
86
+ 7. 达到深度 checkpoint 时,把更深层子文件夹加入 continuation queue,并在下一批从这些子文件夹继续,保留原始 `path`。
87
+ 8. 达到数量 checkpoint 时,保存当前目录、当前页 token、剩余目录队列和已收集资源计数,并立即继续下一批;不要进入分析或规划阶段。
88
+
89
+ ### 递归算法
90
+
91
+ Agent 盘点 Drive 文件夹树时,按以下顺序执行:
92
+
93
+ 1. 初始化待处理队列,放入起点目录:
94
+ - 普通文件夹:`{folder_token:"<folder_token>", path:"<folder_name>"}`
95
+ - Drive 根目录:`{folder_token:"", path:""}`
96
+ 2. 从队列取出一个目录,请求第一页。
97
+ 3. 用 `(folder_token, page_token)` 生成当前页 key;同一页 key 只允许追加一次,避免 retry 时重复计数。
98
+ 4. 从 `data.files` 取当前页直接子项,按 `dedupe_key` 去重后生成 `path` 并加入结果集。
99
+ 5. 如果新追加的子项是 `folder`,把子文件夹 token、子路径和 depth 加入队列。
100
+ 6. 如果 `has_more=true`,取 `data.next_page_token` 继续请求同一目录下一页。
101
+ 7. 同一目录分页结束后,再处理队列中的下一个目录。
102
+ 8. 如果达到深度、数量或每目录页数 checkpoint,把当前目录 / 页 token / 剩余队列 / 已访问页 key / dedupe key 写入 continuation queue,并继续下一批。
103
+ 9. 普通队列和 continuation queue 都为空,且没有分页 blocker 时,才可以认为本次确认范围盘点完成。
104
+
105
+ 简化伪代码:
106
+
107
+ ```text
108
+ queue = [root_or_start_folder]
109
+ visited_pages = set()
110
+ dedupe_keys = set()
111
+ while queue not empty:
112
+ folder = queue.pop()
113
+ page_token = folder.page_token or ""
114
+ retry_without_token = 0
115
+ while true:
116
+ page_key = (folder.folder_token, page_token or "first")
117
+ page = drive files list(folder.folder_token, page_token)
118
+ if page_key not in visited_pages:
119
+ append only files whose dedupe_key is not in dedupe_keys
120
+ enqueue newly appended child folders with folder_token, path, and depth
121
+ add page_key to visited_pages
122
+ if page.has_more != true:
123
+ break
124
+ next = page.next_page_token
125
+ if next is empty:
126
+ retry_without_token += 1
127
+ if retry_without_token >= 3:
128
+ record pagination blocker for folder
129
+ break
130
+ continue
131
+ page_token = next
132
+ retry_without_token = 0
133
+ ```
134
+
135
+ ## 分页与异常
136
+
137
+ 1. 默认手动处理 `has_more` 和返回中的 `next_page_token`。
138
+ 2. 不要使用 `--page-all` 作为脚本 JSON 解析输入;自动翻页输出可能不适合直接 `json.loads`。
139
+ 3. 如果 `has_more=true` 但没有可用的 `next_page_token`,重试同一页最多 3 次。
140
+ 4. 重试后仍无 continuation token 时,记录受影响的目录和 pagination blocker,停止扩展该目录;不要无限循环,也不要宣称该目录已完整覆盖。
141
+ 5. 如果触发深度、数量或每目录页数限制,把它视为批处理 checkpoint;在确认范围内继续下一批,而不是把当前结果说成完整。
142
+ 6. 不要因为达到 `max_depth=3`、`max_items=500` 或类似单批阈值就结束盘点;只有队列耗尽或遇到权限 / API / 工具预算 blocker 才能结束当前确认范围的盘点。
143
+
144
+ ## JSON 解析规则
145
+
146
+ 1. stdout 是数据通道。脚本解析 JSON 时只读取 stdout。
147
+ 2. stderr 可能包含刷新 token、进度、warning 或其他提示;不要把 stderr 合并进 JSON 输入,例如不要用 `2>&1` 后再 `json.loads`。
148
+ 3. 使用 `--format json` 保持 stdout 为结构化 JSON;解析 Drive 文件清单时只读取 `data.files` / `data.has_more` / `data.next_page_token` 等 schema 字段。
149
+ 4. 不要用根目录响应数量或当前页数量推断递归总量;递归总量必须由实际遍历并去重后的资源集合计算。
150
+
151
+ ## 常见错误
152
+
153
+ | 错误用法 | 问题 | 正确做法 |
154
+ |----------|------|----------|
155
+ | `lark-cli drive files list --folder-token <token>` | `files.list` 不提供 `--folder-token` flag | 使用 `--params '{"folder_token":"<token>"}'` |
156
+ | 根目录返回 N 项就认为云空间只有 N 项 | 根目录只返回直接子项,不是递归结果 | 对返回的子文件夹继续递归 |
157
+ | `--page-all \| python json.loads(...)` | 自动翻页输出不适合作为单个 JSON 对象解析 | 手动使用 `page_token` 翻页并逐页解析 |
158
+ | `cmd 2>&1` 后解析 JSON | stderr 提示污染 JSON 输入 | 只解析 stdout,stderr 作为日志处理 |
@@ -0,0 +1,178 @@
1
+ # drive +import
2
+
3
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 将本地文件(如 Word、TXT、Markdown、Excel、PPTX 等)导入并转换为飞书在线云文档(docx、sheet、bitable、slides)。底层统一通过 `POST /open-apis/drive/v1/import_tasks` 接口创建导入任务,并在 shortcut 内做有限次数轮询 `GET /open-apis/drive/v1/import_tasks/:ticket`。
6
+
7
+ > [!IMPORTANT]
8
+ > 当用户说“把本地 Excel / CSV / `.base` 快照导入成 Base / 多维表格 / bitable 文档”时,第一步必须使用 `drive +import --type bitable`。
9
+ > 这是 Drive 导入场景,不是 `lark-base` 的建表 / 写记录场景。
10
+ > 只有导入完成并拿到新文档的 `token` / `url` 后,后续字段、记录、视图等表内操作才切换到 `lark-cli base +...`。
11
+
12
+ ## 导入后标题确认
13
+
14
+ > [!IMPORTANT]
15
+ > 当用户**未传 `--name`** 时,文档标题默认取源文件名(去掉扩展名)。在执行导入前,先友好提示用户:「当前未指定文档标题,默认将使用"xxx"作为标题。如果文件内容中也包含相同标题,导入后可能造成视觉重复。是否需要重命名?」让用户确认后再继续。
16
+
17
+ ## 批量导入串行规则
18
+
19
+ > [!IMPORTANT]
20
+ > 批量执行 `drive +import` 且目标是同一个位置时,必须串行执行,不要并发发起导入任务。这里的“相同位置”包括同一个 `--folder-token`、都省略 `--folder-token` 导入到默认根目录,或使用同一个 `--target-token` 导入到已有 bitable。
21
+ >
22
+ > 如果在同一位置下并发导入,服务端可能返回并发冲突错误。看到错误信息或 `job_error_msg` 中包含 `232140101`、`232140100`、`233523001` 任一错误码时,按同位置并发操作处理:停止并发导入,改为串行处理失败项;每个失败项每次重试前等待几秒,总共最多重试 3 次;仍失败就停止并向用户报告冲突。
23
+
24
+ ## 命令
25
+
26
+ ```bash
27
+ # 导入 Word 为新版文档 (docx)
28
+ lark-cli drive +import --file ./report.docx --type docx
29
+ lark-cli drive +import --file ./legacy.doc --type docx
30
+
31
+ # 导入 Markdown 为新版文档 (docx)
32
+ lark-cli drive +import --file ./README.md --type docx
33
+
34
+ # 导入纯文本为新版文档 (docx)
35
+ lark-cli drive +import --file ./notes.txt --type docx
36
+
37
+ # 导入 HTML 为新版文档 (docx)
38
+ lark-cli drive +import --file ./page.html --type docx
39
+
40
+ # 导入 Excel 为电子表格 (sheet)
41
+ lark-cli drive +import --file ./data.xlsx --type sheet
42
+
43
+ # 导入 Excel 97-2003 (.xls) 为电子表格 (sheet)
44
+ lark-cli drive +import --file ./legacy.xls --type sheet
45
+
46
+ # 导入 CSV 为电子表格 (sheet)
47
+ lark-cli drive +import --file ./data.csv --type sheet
48
+
49
+ # 导入 Excel 为多维表格 / Base (bitable)
50
+ lark-cli drive +import --file ./crm.xlsx --type bitable --name "客户台账"
51
+
52
+ # 导入 .base 快照为多维表格 / Base (bitable)(文件不能超过 20MB)
53
+ lark-cli drive +import --file ./snapshot.base --type bitable --name "快照还原"
54
+
55
+ # 导入 PPTX 为飞书幻灯片 (slides)(文件不能超过 500MB)
56
+ lark-cli drive +import --file ./deck.pptx --type slides --name "项目汇报"
57
+
58
+ # 导入到指定文件夹,并指定导入后的文件名
59
+ lark-cli drive +import --file ./data.csv --type bitable --folder-token <FOLDER_TOKEN> --name "导入数据表"
60
+
61
+ # 导入数据到已有的多维表格(不新建,数据挂载到目标多维表格中)
62
+ lark-cli drive +import --file ./data.xlsx --type bitable --target-token <BASE_TOKEN>
63
+
64
+ # 预览底层调用链(上传 -> 创建任务 -> 轮询)
65
+ lark-cli drive +import --file ./README.md --type docx --dry-run
66
+ ```
67
+
68
+ ## 参数
69
+
70
+ | 参数 | 必填 | 说明 |
71
+ |------|------|------|
72
+ | `--file` | 是 | 本地文件路径,根据文件后缀名自动推断 `file_extension`;文件需满足对应格式的导入大小限制,超过 20MB 且仍在允许范围内时会自动切换分片上传 |
73
+ | `--type` | 是 | 导入目标云文档格式。可选值:`docx` (新版文档)、`sheet` (电子表格)、`bitable` (多维表格)、`slides` (飞书幻灯片) |
74
+ | `--folder-token` | 否 | 目标文件夹 token,不传则请求中的 `point.mount_key` 为空字符串,Import API 会将其解释为导入到云空间(云盘/云存储)根目录 |
75
+ | `--name` | 否 | 导入后的在线云文档名称,不传默认使用本地文件名去掉扩展名后的结果 |
76
+ | `--target-token` | 否 | 已有的多维表格 token,将数据导入到该多维表格中(**仅支持 `--type bitable`**);传入后数据会挂载到目标多维表格而非新建一个 |
77
+
78
+ ## 行为说明
79
+
80
+ - **完整执行流程**:此 shortcut 内部封装了完整流程:
81
+ 1. 自动上传源文件获取 `file_token`:
82
+ - 20MB 及以下:调用素材上传接口 `POST /open-apis/drive/v1/medias/upload_all`
83
+ - 超过 20MB:自动切换为分片上传 `upload_prepare -> upload_part -> upload_finish`
84
+ 2. 调用 `import_tasks` 接口发起导入任务,自动根据本地文件提取扩展名并构造挂载点(`mount_point`)参数
85
+ 3. 自动轮询查询导入任务状态;如果在内置轮询窗口内完成,则直接返回导入结果;如果仍未完成,则返回 `ticket`、当前状态和后续查询命令
86
+ - **默认根目录行为**:不传 `--folder-token` 时,shortcut 会保留空的 `point.mount_key`,Lark Import API 会将其视为"导入到调用者根目录"。
87
+ - **导入到已有 bitable**:当 `--type bitable` 且传了 `--target-token` 时,请求 body 中会增加一个 `token` 字段指向目标多维表格的 token,point 挂载点逻辑不变。数据会挂载到该已有多维表格中,而非创建新文档。
88
+
89
+ ### 支持的文件类型转换
90
+
91
+ 本地文件扩展名与目标云文档类型的对应关系如下:
92
+
93
+ | 本地文件扩展名 | 可导入为 | 说明 |
94
+ |--------------|---------|------|
95
+ | `.docx`, `.doc` | `docx` | Microsoft Word 文档 |
96
+ | `.txt` | `docx` | 纯文本文件 |
97
+ | `.md`, `.markdown`, `.mark` | `docx` | Markdown 文档 |
98
+ | `.html` | `docx` | HTML 文档 |
99
+ | `.xlsx` | `sheet`, `bitable` | Microsoft Excel 表格 |
100
+ | `.xls` | `sheet` | Microsoft Excel 97-2003 表格 |
101
+ | `.csv` | `sheet`, `bitable` | CSV 数据文件 |
102
+ | `.base` | `bitable` | 多维表格快照文件 |
103
+ | `.pptx` | `slides` | Microsoft PowerPoint 演示文稿 |
104
+
105
+ > [!IMPORTANT]
106
+ > 用户口头说的 “Base” / “多维表格” / “bitable”,在命令里统一对应 `--type bitable`。
107
+ >
108
+ > 文件扩展名与目标文档类型必须匹配,否则会返回验证错误:
109
+ > - 文档类文件(.docx, .doc, .txt, .md, .html)**只能**导入为 `docx`
110
+ > - `.xlsx` / `.csv` 文件**只能**导入为 `sheet` 或 `bitable`
111
+ > - `.xls` 文件**只能**导入为 `sheet`
112
+ > - `.base` 文件**只能**导入为 `bitable`
113
+ > - `.pptx` 文件**只能**导入为 `slides`
114
+ > - 例如:`.csv` 文件不能导入为 `docx`,`.md` 文件不能导入为 `sheet`
115
+
116
+ > [!IMPORTANT]
117
+ > 如果在线文档是**以应用身份(bot)导入创建**的,如 `lark-cli drive +import --as bot`,当某次结果**已经返回最终在线文档目标**后,CLI 会**尝试为当前 CLI 用户自动授予该资源的 `full_access`(可管理权限)**。
118
+ >
119
+ > 这个自动授权有两种触发时机:
120
+ > - `drive +import` 的内置轮询窗口内已经完成,直接在 `+import` 中进行自动授权
121
+ > - `drive +import` 先返回 `ready=false` / `timed_out=true`,之后你再执行 `lark-cli drive +task_result --scenario import --ticket <TICKET>`,当该查询第一次拿到最终在线文档目标时会自动授权
122
+ >
123
+ > 只有在已经拿到最终在线文档目标的那次结果里,才会返回 `permission_grant` 字段,明确说明授权结果:
124
+ > - `status = granted`:当前 CLI 用户已获得该导入结果的可管理权限
125
+ > - `status = skipped`:本地没有可用的当前用户 `open_id`,或当前结果还没有可授权目标,因此不会自动授权;可提示用户先完成 `lark-cli auth login`,再让 AI / agent 继续使用应用身份(bot)授予当前用户权限
126
+ > - `status = failed`:导入已成功返回最终在线文档,但自动授权用户失败;会带上失败原因,并提示稍后重试或继续使用 bot 身份处理该文档
127
+ >
128
+ > `permission_grant.perm = full_access` 表示该资源已授予“可管理权限”。
129
+ >
130
+ > **不要擅自执行 owner 转移。** 如果用户需要把 owner 转给自己,必须单独确认。
131
+
132
+ ### 文件大小限制
133
+
134
+ 除扩展名与目标类型匹配外,`drive +import` 还会在本地上传前校验格式级大小限制:
135
+
136
+ | 本地文件扩展名 | 导入目标 | 大小上限 |
137
+ |--------------|---------|---------|
138
+ | `.docx`, `.doc` | `docx` | 600MB |
139
+ | `.txt` | `docx` | 20MB |
140
+ | `.md`, `.mark`, `.markdown` | `docx` | 20MB |
141
+ | `.html` | `docx` | 20MB |
142
+ | `.xlsx` | `sheet`, `bitable` | 800MB |
143
+ | `.csv` | `sheet` | 20MB |
144
+ | `.csv` | `bitable` | 100MB |
145
+ | `.xls` | `sheet` | 20MB |
146
+ | `.base` | `bitable` | 20MB |
147
+ | `.pptx` | `slides` | 500MB |
148
+
149
+ - 如果文件超出对应上限,shortcut 会在真正上传前直接返回验证错误。
150
+ - “超过 20MB 自动切换分片上传”只表示上传链路会切到 multipart,不代表所有格式都允许导入超过 20MB 的文件。
151
+
152
+ - 若导入任务执行失败,会返回失败时的 `job_status` 及错误信息。
153
+ - 若导入失败信息包含 `232140101`、`232140100`、`233523001`,通常表示同一位置下存在并发导入 / 创建操作;批量场景请改为串行执行,每个失败项每次重试前等待几秒,总共最多重试 3 次,仍失败就停止并报告冲突。
154
+ - 若内置轮询超时但任务仍在处理中,shortcut 会成功返回,并带上:
155
+ - `ready=false`
156
+ - `timed_out=true`
157
+ - `next_command`:可直接复制执行的后续查询命令,例如 `lark-cli drive +task_result --scenario import --ticket <TICKET>`
158
+ - 若使用 `--as bot` 且内置轮询窗口内已经拿到最终在线文档,输出还会额外带上 `permission_grant`,用于说明是否已自动为当前 CLI 用户授予可管理权限。
159
+ - 若使用 `--as bot` 但当前只返回 `ready=false`,此时还不会返回 `permission_grant`;应继续执行返回值里的 `next_command`,等 `drive +task_result --scenario import` 拿到最终文档后再触发自动授权。
160
+ - 如果文件扩展名不被支持,执行时将抛出验证错误。
161
+
162
+ ### 超时后的继续查询
163
+
164
+ 当 `+import` 的内置轮询窗口结束但任务尚未完成时,使用返回结果中的 `ticket` 继续查询:
165
+
166
+ ```bash
167
+ lark-cli drive +task_result --scenario import --ticket <TICKET>
168
+ ```
169
+
170
+ 如果这里最终返回 `ready=true` 且使用的是 `--as bot`,结果还会额外带上 `permission_grant`,用于说明是否已自动为当前 CLI 用户授予可管理权限。
171
+
172
+ > [!CAUTION]
173
+ > `drive +import` 是**写入操作** —— 执行前必须确认用户意图。
174
+
175
+ ## 参考
176
+
177
+ - [lark-drive](../SKILL.md) -- 云空间(云盘/云存储)全部命令
178
+ - [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
@@ -0,0 +1,50 @@
1
+
2
+ # drive +inspect(文档 URL 检视:类型、标题、Token 解析)
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 给定一个飞书文档 URL 或 bare token,返回其类型、标题和 canonical token。对 wiki URL 自动解包到底层文档。
7
+
8
+ ## 命令
9
+
10
+ ```bash
11
+ # 检视一个 docx URL
12
+ lark-cli drive +inspect --url 'https://xxx.feishu.cn/docx/doxcnXXX'
13
+
14
+ # 检视一个 wiki URL(自动解包到底层文档)
15
+ lark-cli drive +inspect --url 'https://xxx.feishu.cn/wiki/wikcnXXX'
16
+
17
+ # bare token 需要指定 --type
18
+ lark-cli drive +inspect --url doxcnXXX --type docx
19
+
20
+ # 格式化输出
21
+ lark-cli drive +inspect --url 'https://xxx.feishu.cn/base/bascnXXX' --format pretty
22
+ ```
23
+
24
+ ## 输出
25
+
26
+ JSON 输出包含以下字段:
27
+
28
+ | 字段 | 说明 |
29
+ |------|------|
30
+ | `input_url` | 原始输入 URL |
31
+ | `type` | 文档类型(docx, doc, sheet, bitable, wiki, file, folder, mindnote, slides) |
32
+ | `title` | 文档标题 |
33
+ | `token` | canonical file token |
34
+ | `url` | 重建的 canonical URL |
35
+ | `wiki_node` | 仅 wiki URL:包含 `space_id`, `node_token`, `obj_token`, `obj_type` |
36
+
37
+ ## 典型场景
38
+
39
+ | 场景 | 命令 |
40
+ |------|------|
41
+ | 用户给了一个 URL,想知道它是什么类型的文档 | `lark-cli drive +inspect --url '<url>'` |
42
+ | wiki 链接需要拿到底层文档的 token 来做后续操作 | `lark-cli drive +inspect --url '<wiki_url>'`,取输出中的 `token` |
43
+ | 只有 token 没有 URL | `lark-cli drive +inspect --url <token> --type <type>` |
44
+
45
+ ## 注意事项
46
+
47
+ - `--url` 为必填参数
48
+ - 当 `--url` 是 bare token(非完整 URL)时,`--type` 也是必填的
49
+ - wiki URL 会自动调用 `get_node` API 解包,输出中 `type` 和 `token` 是底层文档的类型和 token
50
+ - 支持 `--dry-run` 查看将调用的 API 步骤
@@ -0,0 +1,66 @@
1
+ # drive +member-add(添加协作者/授权成员权限)
2
+
3
+ > 这是高风险写操作。真实执行会修改文档权限,需要显式加 `--yes`
4
+
5
+ ## 命令
6
+
7
+ ```bash
8
+
9
+ # 批量添加(同一 member-type 和 perm,最多 10 人)
10
+ lark-cli drive +member-add \
11
+ --token "<bare_token_or_url>" \
12
+ --type bitable \
13
+ --member-id "ou_a,ou_b" \
14
+ --member-type openid \
15
+ --perm view \
16
+ --yes
17
+ ```
18
+
19
+ ## 参数
20
+
21
+ | 参数 | 必填 | 说明 |
22
+ |------|----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
23
+ | `--token` | 是 | 裸 token 或完整 URL。路径支持 `/drive/folder/`、`/docx/`、`/doc/`、`/sheets/`、`/base/`、`/bitable/`、`/wiki/`、`/file/`、`/mindnotes/`、`/slides/`、`/minutes/`;URL 输入可从路径推断 `--type`,裸 token 不做前缀推断 |
24
+ | `--type` | 必填 | 目标资源类型:`docx` / `doc` / `sheet` / `bitable` / `file` / `folder` / `wiki` / `mindnote` / `slides` / `minutes`。传 URL 时可省略;裸 token 必须显式传;若同时传 URL 和 `--type`,显式 `--type` 覆盖 URL 推断 |
25
+ | `--member-id` | 是 | 协作者 ID;逗号分隔可批量添加,最多 10 个 |
26
+ | `--member-type` | 是 | member-id 的类型;支持 `email` / `openid` / `unionid` / `openchat` / `opendepartmentid` / `groupid` / `appid` / `wikispaceid`。在实际使用里,给当前应用授权仍优先推荐 bot `open_id` + `openid`。 |
27
+ | `--member-kind` | 条件必填 | 仅当 `--member-type=wikispaceid` 时填写,映射到请求 body 的 `type` 字段。取值:`wiki_space_member` / `wiki_space_viewer` / `wiki_space_editor`。其他 member-type 禁止传此参数。 |
28
+ | `--perm` | 否 | 授权角色:`view`(默认)/ `edit` / `full_access` |
29
+ | `--perm-type` | 否 | 只作用 wiki 节点权限范围:`container`(默认,当前页面+子页面)/ `single_page`(仅当前页面) |
30
+ | `--need-notification` | 否 | 是否通知对方。仅 `--as user` 可用;未传时不会写入 query,`--need-notification=false` 表示显式不通知 |
31
+ | `--dry-run` | 否 | 仅打印请求,不实际授权 |
32
+ | `--yes` | 真实执行时是 | 确认高风险写操作 |
33
+
34
+ ## 输出
35
+
36
+ 批量成功:
37
+
38
+ ```json
39
+ {
40
+ "ok": true,
41
+ "identity": "user",
42
+ "data": {
43
+ "resource_token": "doc_token_or_url",
44
+ "resource_type": "docx",
45
+ "requested_count": 2,
46
+ "succeeded_count": 2,
47
+ "partial": false,
48
+ "members": [
49
+ {"resource_token": "doc_token_or_url", "resource_type": "docx", "member_id": "ou_a", "member_type": "openid", "member_kind": "user", "perm": "view"},
50
+ {"resource_token": "doc_token_or_url", "resource_type": "docx", "member_id": "ou_b", "member_type": "openid", "member_kind": "user", "perm": "view"}
51
+ ],
52
+ "missing_member_ids": []
53
+ }
54
+ }
55
+ ```
56
+
57
+ 批量部分失败时,`partial` 为 `true`,CLI 以非零退出码返回 `error.type=partial_failure`。检查 `error.detail` 中的 `requested_count`、`succeeded_count`、`members`、`missing_member_ids` 和可选的 `mismatched_member_ids`。响应顺序不影响匹配结果。
58
+
59
+ ## 行为说明
60
+
61
+ - **身份支持**:`--as user` 和 `--as bot` 均可使用。
62
+ - **部门协作者**:`--member-type=opendepartmentid` 必须配合 `--as user`;bot 身份不支持添加部门协作者。
63
+ - **通知**:`--need-notification` 仅 `--as user` 时有效;`--as bot` 时传此参数会被拒绝。
64
+ - **批量约束**:批量请求共享同一 `--member-type`、`--perm` 和 `--perm-type`;混合用户/群组/部门的场景需拆分为多次调用。
65
+ - **Wiki 空间 ID**:`--member-type=wikispaceid` 时必须同时传 `--member-kind`,否则 API 会缺少必填的 body `type` 字段。`wiki_space_member` 对应知识库成员角色;若知识库已将成员拆分为可阅读/可编辑成员组,改用 `wiki_space_viewer` 或 `wiki_space_editor`。
66
+ - **ID 解析**:优先用 `open_id` + `--member-type openid`;仅在无法解析 `open_id` 时使用 `email`。群组优先用 `openchat`,部门用 `opendepartmentid`。