pi-feishu-cli 0.1.0

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 (407) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/src/bot.d.ts +29 -0
  4. package/dist/src/bot.js +75 -0
  5. package/dist/src/cards.d.ts +6 -0
  6. package/dist/src/cards.js +87 -0
  7. package/dist/src/config.d.ts +3 -0
  8. package/dist/src/config.js +28 -0
  9. package/dist/src/daemon.d.ts +2 -0
  10. package/dist/src/daemon.js +151 -0
  11. package/dist/src/extension.d.ts +2 -0
  12. package/dist/src/extension.js +124 -0
  13. package/dist/src/poller.d.ts +33 -0
  14. package/dist/src/poller.js +94 -0
  15. package/dist/src/renderer.d.ts +8 -0
  16. package/dist/src/renderer.js +31 -0
  17. package/dist/src/session-registry.d.ts +15 -0
  18. package/dist/src/session-registry.js +82 -0
  19. package/dist/src/types.d.ts +25 -0
  20. package/dist/src/types.js +1 -0
  21. package/dist/tests/bot.test.d.ts +1 -0
  22. package/dist/tests/bot.test.js +89 -0
  23. package/dist/tests/cards.test.d.ts +1 -0
  24. package/dist/tests/cards.test.js +39 -0
  25. package/dist/tests/config.test.d.ts +1 -0
  26. package/dist/tests/config.test.js +59 -0
  27. package/dist/tests/renderer.test.d.ts +1 -0
  28. package/dist/tests/renderer.test.js +61 -0
  29. package/dist/tests/session-registry.test.d.ts +1 -0
  30. package/dist/tests/session-registry.test.js +92 -0
  31. package/dist/tests/types.test.d.ts +1 -0
  32. package/dist/tests/types.test.js +30 -0
  33. package/package.json +35 -0
  34. package/skills/lark-approval/SKILL.md +56 -0
  35. package/skills/lark-apps/SKILL.md +92 -0
  36. package/skills/lark-apps/references/lark-apps-access-scope-get.md +104 -0
  37. package/skills/lark-apps/references/lark-apps-access-scope-set.md +126 -0
  38. package/skills/lark-apps/references/lark-apps-create.md +112 -0
  39. package/skills/lark-apps/references/lark-apps-html-publish.md +151 -0
  40. package/skills/lark-apps/references/lark-apps-list.md +95 -0
  41. package/skills/lark-apps/references/lark-apps-update.md +86 -0
  42. package/skills/lark-attendance/SKILL.md +57 -0
  43. package/skills/lark-base/SKILL.md +359 -0
  44. package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
  45. package/skills/lark-base/references/examples.md +140 -0
  46. package/skills/lark-base/references/formula-field-guide.md +737 -0
  47. package/skills/lark-base/references/lark-base-advperm-disable.md +83 -0
  48. package/skills/lark-base/references/lark-base-advperm-enable.md +80 -0
  49. package/skills/lark-base/references/lark-base-base-copy.md +74 -0
  50. package/skills/lark-base/references/lark-base-base-create.md +68 -0
  51. package/skills/lark-base/references/lark-base-base-get.md +39 -0
  52. package/skills/lark-base/references/lark-base-cell-value.md +151 -0
  53. package/skills/lark-base/references/lark-base-dashboard-arrange.md +83 -0
  54. package/skills/lark-base/references/lark-base-dashboard-block-create.md +108 -0
  55. package/skills/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
  56. package/skills/lark-base/references/lark-base-dashboard-block-get.md +57 -0
  57. package/skills/lark-base/references/lark-base-dashboard-block-list.md +53 -0
  58. package/skills/lark-base/references/lark-base-dashboard-block-update.md +84 -0
  59. package/skills/lark-base/references/lark-base-dashboard-create.md +73 -0
  60. package/skills/lark-base/references/lark-base-dashboard-delete.md +44 -0
  61. package/skills/lark-base/references/lark-base-dashboard-get.md +59 -0
  62. package/skills/lark-base/references/lark-base-dashboard-list.md +52 -0
  63. package/skills/lark-base/references/lark-base-dashboard-update.md +69 -0
  64. package/skills/lark-base/references/lark-base-dashboard.md +240 -0
  65. package/skills/lark-base/references/lark-base-data-analysis-sop.md +88 -0
  66. package/skills/lark-base/references/lark-base-data-query.md +375 -0
  67. package/skills/lark-base/references/lark-base-field-create.md +104 -0
  68. package/skills/lark-base/references/lark-base-field-delete.md +51 -0
  69. package/skills/lark-base/references/lark-base-field-get.md +42 -0
  70. package/skills/lark-base/references/lark-base-field-list.md +44 -0
  71. package/skills/lark-base/references/lark-base-field-search-options.md +48 -0
  72. package/skills/lark-base/references/lark-base-field-update.md +97 -0
  73. package/skills/lark-base/references/lark-base-field.md +22 -0
  74. package/skills/lark-base/references/lark-base-form-create.md +87 -0
  75. package/skills/lark-base/references/lark-base-form-delete.md +64 -0
  76. package/skills/lark-base/references/lark-base-form-detail.md +198 -0
  77. package/skills/lark-base/references/lark-base-form-get.md +68 -0
  78. package/skills/lark-base/references/lark-base-form-list.md +73 -0
  79. package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  80. package/skills/lark-base/references/lark-base-form-questions-delete.md +68 -0
  81. package/skills/lark-base/references/lark-base-form-questions-list.md +84 -0
  82. package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  83. package/skills/lark-base/references/lark-base-form-questions.md +23 -0
  84. package/skills/lark-base/references/lark-base-form-submit.md +171 -0
  85. package/skills/lark-base/references/lark-base-form-update.md +82 -0
  86. package/skills/lark-base/references/lark-base-form.md +25 -0
  87. package/skills/lark-base/references/lark-base-history.md +16 -0
  88. package/skills/lark-base/references/lark-base-record-batch-create.md +58 -0
  89. package/skills/lark-base/references/lark-base-record-batch-update.md +53 -0
  90. package/skills/lark-base/references/lark-base-record-delete.md +62 -0
  91. package/skills/lark-base/references/lark-base-record-history-list.md +86 -0
  92. package/skills/lark-base/references/lark-base-record-share-link-create.md +72 -0
  93. package/skills/lark-base/references/lark-base-record-upsert.md +64 -0
  94. package/skills/lark-base/references/lark-base-record.md +31 -0
  95. package/skills/lark-base/references/lark-base-role-create.md +89 -0
  96. package/skills/lark-base/references/lark-base-role-delete.md +83 -0
  97. package/skills/lark-base/references/lark-base-role-get.md +87 -0
  98. package/skills/lark-base/references/lark-base-role-list.md +81 -0
  99. package/skills/lark-base/references/lark-base-role-update.md +94 -0
  100. package/skills/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
  101. package/skills/lark-base/references/lark-base-table-create.md +62 -0
  102. package/skills/lark-base/references/lark-base-table-delete.md +51 -0
  103. package/skills/lark-base/references/lark-base-table-get.md +46 -0
  104. package/skills/lark-base/references/lark-base-table-list.md +43 -0
  105. package/skills/lark-base/references/lark-base-table-update.md +49 -0
  106. package/skills/lark-base/references/lark-base-table.md +20 -0
  107. package/skills/lark-base/references/lark-base-view-create.md +50 -0
  108. package/skills/lark-base/references/lark-base-view-delete.md +48 -0
  109. package/skills/lark-base/references/lark-base-view-get-card.md +38 -0
  110. package/skills/lark-base/references/lark-base-view-get-filter.md +38 -0
  111. package/skills/lark-base/references/lark-base-view-get-group.md +38 -0
  112. package/skills/lark-base/references/lark-base-view-get-sort.md +38 -0
  113. package/skills/lark-base/references/lark-base-view-get-timebar.md +38 -0
  114. package/skills/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
  115. package/skills/lark-base/references/lark-base-view-get.md +38 -0
  116. package/skills/lark-base/references/lark-base-view-list.md +44 -0
  117. package/skills/lark-base/references/lark-base-view-rename.md +44 -0
  118. package/skills/lark-base/references/lark-base-view-set-card.md +55 -0
  119. package/skills/lark-base/references/lark-base-view-set-filter.md +181 -0
  120. package/skills/lark-base/references/lark-base-view-set-group.md +65 -0
  121. package/skills/lark-base/references/lark-base-view-set-sort.md +63 -0
  122. package/skills/lark-base/references/lark-base-view-set-timebar.md +51 -0
  123. package/skills/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
  124. package/skills/lark-base/references/lark-base-view.md +44 -0
  125. package/skills/lark-base/references/lark-base-workflow-create.md +180 -0
  126. package/skills/lark-base/references/lark-base-workflow-disable.md +94 -0
  127. package/skills/lark-base/references/lark-base-workflow-enable.md +94 -0
  128. package/skills/lark-base/references/lark-base-workflow-get.md +147 -0
  129. package/skills/lark-base/references/lark-base-workflow-guide.md +718 -0
  130. package/skills/lark-base/references/lark-base-workflow-list.md +124 -0
  131. package/skills/lark-base/references/lark-base-workflow-schema.md +935 -0
  132. package/skills/lark-base/references/lark-base-workflow-update.md +167 -0
  133. package/skills/lark-base/references/lark-base-workflow.md +23 -0
  134. package/skills/lark-base/references/lark-base-workspace.md +18 -0
  135. package/skills/lark-base/references/lookup-field-guide.md +512 -0
  136. package/skills/lark-base/references/role-config.md +539 -0
  137. package/skills/lark-calendar/SKILL.md +154 -0
  138. package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
  139. package/skills/lark-calendar/references/lark-calendar-create.md +109 -0
  140. package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  141. package/skills/lark-calendar/references/lark-calendar-room-find.md +113 -0
  142. package/skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  143. package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
  144. package/skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  145. package/skills/lark-calendar/references/lark-calendar-update.md +105 -0
  146. package/skills/lark-contact/SKILL.md +45 -0
  147. package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
  148. package/skills/lark-contact/references/lark-contact-search-user.md +124 -0
  149. package/skills/lark-doc/SKILL.md +65 -0
  150. package/skills/lark-doc/references/lark-doc-create.md +89 -0
  151. package/skills/lark-doc/references/lark-doc-fetch.md +141 -0
  152. package/skills/lark-doc/references/lark-doc-md.md +71 -0
  153. package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
  154. package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
  155. package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  156. package/skills/lark-doc/references/lark-doc-update.md +252 -0
  157. package/skills/lark-doc/references/lark-doc-whiteboard.md +100 -0
  158. package/skills/lark-doc/references/lark-doc-xml.md +169 -0
  159. package/skills/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
  160. package/skills/lark-doc/references/style/lark-doc-style.md +106 -0
  161. package/skills/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
  162. package/skills/lark-drive/SKILL.md +369 -0
  163. package/skills/lark-drive/references/lark-drive-add-comment.md +182 -0
  164. package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
  165. package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  166. package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  167. package/skills/lark-drive/references/lark-drive-delete.md +79 -0
  168. package/skills/lark-drive/references/lark-drive-download.md +31 -0
  169. package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
  170. package/skills/lark-drive/references/lark-drive-export.md +119 -0
  171. package/skills/lark-drive/references/lark-drive-import.md +159 -0
  172. package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
  173. package/skills/lark-drive/references/lark-drive-move.md +120 -0
  174. package/skills/lark-drive/references/lark-drive-pull.md +137 -0
  175. package/skills/lark-drive/references/lark-drive-push.md +162 -0
  176. package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
  177. package/skills/lark-drive/references/lark-drive-search.md +266 -0
  178. package/skills/lark-drive/references/lark-drive-status.md +198 -0
  179. package/skills/lark-drive/references/lark-drive-task-result.md +302 -0
  180. package/skills/lark-drive/references/lark-drive-upload.md +67 -0
  181. package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
  182. package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
  183. package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
  184. package/skills/lark-drive/references/lark-drive-version-revert.md +198 -0
  185. package/skills/lark-event/SKILL.md +145 -0
  186. package/skills/lark-event/references/lark-event-im.md +86 -0
  187. package/skills/lark-im/SKILL.md +162 -0
  188. package/skills/lark-im/references/lark-im-chat-create.md +162 -0
  189. package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
  190. package/skills/lark-im/references/lark-im-chat-list.md +198 -0
  191. package/skills/lark-im/references/lark-im-chat-messages-list.md +148 -0
  192. package/skills/lark-im/references/lark-im-chat-search.md +136 -0
  193. package/skills/lark-im/references/lark-im-chat-update.md +84 -0
  194. package/skills/lark-im/references/lark-im-flag-cancel.md +198 -0
  195. package/skills/lark-im/references/lark-im-flag-create.md +67 -0
  196. package/skills/lark-im/references/lark-im-flag-list.md +100 -0
  197. package/skills/lark-im/references/lark-im-messages-mget.md +95 -0
  198. package/skills/lark-im/references/lark-im-messages-reply.md +228 -0
  199. package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  200. package/skills/lark-im/references/lark-im-messages-search.md +232 -0
  201. package/skills/lark-im/references/lark-im-messages-send.md +229 -0
  202. package/skills/lark-im/references/lark-im-reactions.md +297 -0
  203. package/skills/lark-im/references/lark-im-threads-messages-list.md +111 -0
  204. package/skills/lark-mail/SKILL.md +648 -0
  205. package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  206. package/skills/lark-mail/references/lark-mail-draft-create.md +123 -0
  207. package/skills/lark-mail/references/lark-mail-draft-edit.md +400 -0
  208. package/skills/lark-mail/references/lark-mail-forward.md +173 -0
  209. package/skills/lark-mail/references/lark-mail-message.md +230 -0
  210. package/skills/lark-mail/references/lark-mail-messages.md +108 -0
  211. package/skills/lark-mail/references/lark-mail-reply-all.md +206 -0
  212. package/skills/lark-mail/references/lark-mail-reply.md +242 -0
  213. package/skills/lark-mail/references/lark-mail-send-receipt.md +198 -0
  214. package/skills/lark-mail/references/lark-mail-send.md +216 -0
  215. package/skills/lark-mail/references/lark-mail-share-to-chat.md +198 -0
  216. package/skills/lark-mail/references/lark-mail-signature.md +98 -0
  217. package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
  218. package/skills/lark-mail/references/lark-mail-template-update.md +198 -0
  219. package/skills/lark-mail/references/lark-mail-thread.md +111 -0
  220. package/skills/lark-mail/references/lark-mail-triage.md +122 -0
  221. package/skills/lark-mail/references/lark-mail-watch.md +94 -0
  222. package/skills/lark-minutes/SKILL.md +139 -0
  223. package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
  224. package/skills/lark-minutes/references/lark-minutes-search.md +206 -0
  225. package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
  226. package/skills/lark-okr/SKILL.md +133 -0
  227. package/skills/lark-okr/references/lark-okr-contentblock.md +359 -0
  228. package/skills/lark-okr/references/lark-okr-cycle-detail.md +84 -0
  229. package/skills/lark-okr/references/lark-okr-cycle-list.md +90 -0
  230. package/skills/lark-okr/references/lark-okr-entities.md +329 -0
  231. package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
  232. package/skills/lark-okr/references/lark-okr-progress-create.md +81 -0
  233. package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
  234. package/skills/lark-okr/references/lark-okr-progress-get.md +62 -0
  235. package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
  236. package/skills/lark-okr/references/lark-okr-progress-update.md +81 -0
  237. package/skills/lark-openapi-explorer/SKILL.md +153 -0
  238. package/skills/lark-shared/SKILL.md +144 -0
  239. package/skills/lark-sheets/SKILL.md +343 -0
  240. package/skills/lark-sheets/references/lark-sheets-cell-data.md +197 -0
  241. package/skills/lark-sheets/references/lark-sheets-cell-images.md +59 -0
  242. package/skills/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
  243. package/skills/lark-sheets/references/lark-sheets-dropdown.md +133 -0
  244. package/skills/lark-sheets/references/lark-sheets-filter-views.md +193 -0
  245. package/skills/lark-sheets/references/lark-sheets-float-images.md +125 -0
  246. package/skills/lark-sheets/references/lark-sheets-formula.md +88 -0
  247. package/skills/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
  248. package/skills/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
  249. package/skills/lark-sheets/references/lark-sheets-spreadsheet-management.md +140 -0
  250. package/skills/lark-skill-maker/SKILL.md +85 -0
  251. package/skills/lark-slides/SKILL.md +296 -0
  252. package/skills/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
  253. package/skills/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
  254. package/skills/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
  255. package/skills/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
  256. package/skills/lark-slides/assets/templates/hr--employee_training.xml +912 -0
  257. package/skills/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
  258. package/skills/lark-slides/assets/templates/hr--onboarding.xml +933 -0
  259. package/skills/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
  260. package/skills/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
  261. package/skills/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
  262. package/skills/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
  263. package/skills/lark-slides/assets/templates/marketing--marketing_plan.xml +198 -0
  264. package/skills/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
  265. package/skills/lark-slides/assets/templates/marketing--product_whitepaper.xml +198 -0
  266. package/skills/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
  267. package/skills/lark-slides/assets/templates/misc--book_sharing.xml +198 -0
  268. package/skills/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
  269. package/skills/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
  270. package/skills/lark-slides/assets/templates/office--dark_general.xml +3763 -0
  271. package/skills/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
  272. package/skills/lark-slides/assets/templates/office--light_general.xml +3378 -0
  273. package/skills/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
  274. package/skills/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
  275. package/skills/lark-slides/assets/templates/office--work_report.xml +1099 -0
  276. package/skills/lark-slides/assets/templates/office--work_summary.xml +4420 -0
  277. package/skills/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
  278. package/skills/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
  279. package/skills/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
  280. package/skills/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
  281. package/skills/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
  282. package/skills/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
  283. package/skills/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
  284. package/skills/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
  285. package/skills/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
  286. package/skills/lark-slides/assets/templates/personal--self_intro.xml +696 -0
  287. package/skills/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
  288. package/skills/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
  289. package/skills/lark-slides/assets/templates/product--market_analysis.xml +898 -0
  290. package/skills/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
  291. package/skills/lark-slides/assets/templates/product--product_intro.xml +2838 -0
  292. package/skills/lark-slides/assets/templates/product--product_promotion.xml +687 -0
  293. package/skills/lark-slides/assets/templates/product--product_promotion_2.xml +198 -0
  294. package/skills/lark-slides/references/asset-planning.md +124 -0
  295. package/skills/lark-slides/references/examples.md +261 -0
  296. package/skills/lark-slides/references/lark-slides-create.md +137 -0
  297. package/skills/lark-slides/references/lark-slides-edit-workflows.md +142 -0
  298. package/skills/lark-slides/references/lark-slides-media-upload.md +128 -0
  299. package/skills/lark-slides/references/lark-slides-replace-slide.md +239 -0
  300. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +220 -0
  301. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
  302. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  303. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +186 -0
  304. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
  305. package/skills/lark-slides/references/planning-layer.md +219 -0
  306. package/skills/lark-slides/references/slide-templates.md +201 -0
  307. package/skills/lark-slides/references/slides_demo.xml +226 -0
  308. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
  309. package/skills/lark-slides/references/template-catalog.md +463 -0
  310. package/skills/lark-slides/references/template-index.json +198 -0
  311. package/skills/lark-slides/references/troubleshooting.md +198 -0
  312. package/skills/lark-slides/references/validation-checklist.md +102 -0
  313. package/skills/lark-slides/references/visual-planning.md +250 -0
  314. package/skills/lark-slides/references/xml-format-guide.md +369 -0
  315. package/skills/lark-slides/references/xml-schema-quick-ref.md +215 -0
  316. package/skills/lark-slides/scripts/template_tool.py +970 -0
  317. package/skills/lark-slides/scripts/template_tool_test.py +177 -0
  318. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +367 -0
  319. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +263 -0
  320. package/skills/lark-task/SKILL.md +165 -0
  321. package/skills/lark-task/references/lark-task-assign.md +38 -0
  322. package/skills/lark-task/references/lark-task-comment.md +28 -0
  323. package/skills/lark-task/references/lark-task-complete.md +27 -0
  324. package/skills/lark-task/references/lark-task-create.md +57 -0
  325. package/skills/lark-task/references/lark-task-followers.md +35 -0
  326. package/skills/lark-task/references/lark-task-get-my-tasks.md +55 -0
  327. package/skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
  328. package/skills/lark-task/references/lark-task-reminder.md +36 -0
  329. package/skills/lark-task/references/lark-task-reopen.md +27 -0
  330. package/skills/lark-task/references/lark-task-search.md +41 -0
  331. package/skills/lark-task/references/lark-task-set-ancestor.md +32 -0
  332. package/skills/lark-task/references/lark-task-subscribe-event.md +86 -0
  333. package/skills/lark-task/references/lark-task-tasklist-create.md +35 -0
  334. package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  335. package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  336. package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  337. package/skills/lark-task/references/lark-task-update.md +37 -0
  338. package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
  339. package/skills/lark-vc/SKILL.md +168 -0
  340. package/skills/lark-vc/references/lark-vc-notes.md +126 -0
  341. package/skills/lark-vc/references/lark-vc-recording.md +153 -0
  342. package/skills/lark-vc/references/lark-vc-search.md +193 -0
  343. package/skills/lark-vc-agent/SKILL.md +121 -0
  344. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
  345. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
  346. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
  347. package/skills/lark-whiteboard/SKILL.md +144 -0
  348. package/skills/lark-whiteboard/references/connectors.md +102 -0
  349. package/skills/lark-whiteboard/references/content.md +40 -0
  350. package/skills/lark-whiteboard/references/image.md +80 -0
  351. package/skills/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
  352. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
  353. package/skills/lark-whiteboard/references/layout.md +374 -0
  354. package/skills/lark-whiteboard/references/schema.md +357 -0
  355. package/skills/lark-whiteboard/references/style.md +318 -0
  356. package/skills/lark-whiteboard/references/typography.md +73 -0
  357. package/skills/lark-whiteboard/routes/dsl.md +107 -0
  358. package/skills/lark-whiteboard/routes/mermaid.md +27 -0
  359. package/skills/lark-whiteboard/routes/svg.md +54 -0
  360. package/skills/lark-whiteboard/scenes/architecture.md +433 -0
  361. package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
  362. package/skills/lark-whiteboard/scenes/comparison.md +135 -0
  363. package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
  364. package/skills/lark-whiteboard/scenes/flowchart.md +198 -0
  365. package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
  366. package/skills/lark-whiteboard/scenes/funnel.md +198 -0
  367. package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
  368. package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
  369. package/skills/lark-whiteboard/scenes/milestone.md +139 -0
  370. package/skills/lark-whiteboard/scenes/organization.md +173 -0
  371. package/skills/lark-whiteboard/scenes/photo-showcase.md +198 -0
  372. package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
  373. package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
  374. package/skills/lark-whiteboard/scenes/treemap.md +198 -0
  375. package/skills/lark-wiki/SKILL.md +119 -0
  376. package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  377. package/skills/lark-wiki/references/lark-wiki-member-add.md +66 -0
  378. package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
  379. package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
  380. package/skills/lark-wiki/references/lark-wiki-move.md +183 -0
  381. package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  382. package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  383. package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
  384. package/skills/lark-wiki/references/lark-wiki-node-get.md +56 -0
  385. package/skills/lark-wiki/references/lark-wiki-node-list.md +198 -0
  386. package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
  387. package/skills/lark-wiki/references/lark-wiki-space-list.md +198 -0
  388. package/skills/lark-workflow-meeting-summary/SKILL.md +104 -0
  389. package/skills/lark-workflow-standup-report/SKILL.md +120 -0
  390. package/skills/mmx-cli/SKILL.md +440 -0
  391. package/src/bot.ts +109 -0
  392. package/src/cards.ts +105 -0
  393. package/src/config.ts +33 -0
  394. package/src/daemon.ts +217 -0
  395. package/src/extension.ts +132 -0
  396. package/src/poller.ts +135 -0
  397. package/src/renderer.ts +47 -0
  398. package/src/session-registry.ts +90 -0
  399. package/src/types.ts +29 -0
  400. package/tests/bot.test.ts +104 -0
  401. package/tests/cards.test.ts +48 -0
  402. package/tests/config.test.ts +59 -0
  403. package/tests/renderer.test.ts +74 -0
  404. package/tests/session-registry.test.ts +94 -0
  405. package/tests/types.test.ts +35 -0
  406. package/tsconfig.json +16 -0
  407. package/vitest.config.ts +7 -0
@@ -0,0 +1,168 @@
1
+ ---
2
+ name: lark-vc
3
+ version: 1.0.0
4
+ description: "飞书视频会议:搜索历史会议、查询会议纪要产物(总结、待办、章节、逐字稿)、查询会议参会人快照。1. 查询已经结束的会议数量或详情时使用本技能(如历史日期|昨天|上周|今天已经开过的会议等场景),查询未开始的会议日程使用 lark-calendar 技能。2. 支持通过关键词、时间范围、组织者、参与者、会议室等筛选条件搜索会议。3. 获取或整理会议纪要、逐字稿、录制产物时使用本技能。4. 查询“谁参加过某会议”“参会人列表”等参会人快照信息用 vc meeting get --with-participants(任意时点可查,含已结束会议)。注意:**Agent 真实入会/离会、感知正在进行中会议的实时事件**请使用 lark-vc-agent 技能,本技能不覆盖写操作和会中事件流。"
5
+ metadata:
6
+ requires:
7
+ bins: ["lark-cli"]
8
+ cliHelp: "lark-cli vc --help"
9
+ ---
10
+
11
+ # vc (v1)
12
+
13
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
14
+
15
+ ## 核心概念
16
+
17
+ - **视频会议(Meeting)**:飞书视频会议实例,通过 meeting\_id 标识。已结束的会议支持通过关键词、时间段、参会人、组织者、会议室等条件搜索(见 `+search`)。
18
+ - **会议纪要(Note)**:视频会议结束后生成的结构化文档,包含纪要文档(包含总结、待办、章节)和逐字稿文档。
19
+ - **妙记(Minutes)**:来源于飞书视频会议的录制产物或用户上传的音视频文件,支持视频/音频的转写和会议纪要,通过 minute\_token 标识。
20
+ - **纪要文档(MainDoc)**:AI 智能纪要的主文档,包含 AI 生成的总结和待办,对应 `note_doc_token`。
21
+ - **用户会议纪要(MeetingNotes)**:用户主动绑定到会议的纪要文档,对应 `meeting_notes`。仅通过 `--calendar-event-ids` 路径返回。
22
+ - **逐字稿(VerbatimDoc)**:会议的逐句文字记录,包含说话人和时间戳。
23
+
24
+ ## 核心场景
25
+
26
+ ### 1. 搜索会议记录
27
+ 1. 仅支持搜索已结束的会议,对于还未开始的未来会议,需要使用 lark-calendar 技能。
28
+ 2. 仅支持使用关键词、时间段、参会人、组织者、会议室等筛选条件搜索会议记录,对于不支持的筛选条件,需要提示用户。
29
+ 3. 搜索结果存在多条数据时,务必注意分页数据获取,不要遗漏任何会议记录。
30
+
31
+ ### 2. 整理会议纪要
32
+ 1. 整理纪要文档时默认给出纪要文档和逐字稿链接即可,无需读取纪要文档或逐字稿内容。
33
+ 2. 用户明确需要获取纪要文档中的总结、待办、章节产物时,再读取文档获取具体内容。
34
+ 3. 读取智能纪要(`note_doc_token`)内容时,纪要文档的**第一个 `<whiteboard>`** 标签是封面图(AI 生成的总结可视化),应同时下载展示给用户:
35
+ ```bash
36
+ # 1. 读取纪要内容
37
+ lark-cli docs +fetch --api-version v2 --doc <note_doc_token> --doc-format markdown
38
+ # 2. 从返回的 markdown 中提取第一个 <whiteboard token="xxx"/> 的 token
39
+ # 3. 下载封面图到聚合目录(和逐字稿、录像同目录,保持产物归拢)
40
+ # 并非所有纪要都有封面画板,没有 <whiteboard> 标签时跳过即可
41
+ lark-cli docs +media-download --type whiteboard --token <whiteboard_token> --output ./minutes/<minute_token>/cover
42
+ ```
43
+ > **产物目录规范**:同一会议的所有下载产物(录像、逐字稿、封面图等)统一放到 `./minutes/{minute_token}/` 目录下。这与 `minutes +download` 和 `vc +notes --minute-tokens` 的默认落点保持一致,便于 Agent 聚合。显式路径(如封面图)需手动对齐到同一目录。
44
+
45
+ > **纪要相关文档 — 根据用户意图选择:**
46
+ > - `note_doc_token` → **AI 智能纪要**(AI 总结 + 待办 + 章节)
47
+ > - `meeting_notes` → **用户绑定的会议纪要**(用户主动关联到会议的文档,仅 `--calendar-event-ids` 路径返回)
48
+ > - `verbatim_doc_token` → **逐字稿**(完整的逐句文字记录,含说话人和时间戳)— 用户说"逐字稿""完整记录""谁说了什么"时用这个
49
+ > - 用户说"纪要""总结""纪要内容"时,应同时返回 `note_doc_token` 和 `meeting_notes`(如有)
50
+ > - 用户意图不明确时,应展示所有文档链接让用户选择,而不是替用户决定
51
+ > - 如果用户提供的是**本地音视频文件**并说"转纪要""转逐字稿",不要直接从 `vc +notes` 开始;应先用 [minutes +upload](../lark-minutes/references/lark-minutes-upload.md) 生成 `minute_url`,再提取 `minute_token` 调用 `vc +notes --minute-tokens`
52
+
53
+ ### 3. 纪要文档与逐字稿链接
54
+ 1. 纪要文档、逐字稿文档与关联的共享文档默认使用文档 Token 返回。
55
+ 2. 仅需要获取文档名称和 URL 等基本信息时,使用 `lark-cli drive metas batch_query` 查询
56
+ ```bash
57
+ # 学习命令使用方式
58
+ lark-cli schema drive.metas.batch_query
59
+
60
+ # 批量获取文档基本信息: 一次最多查询 10 个文档
61
+ lark-cli drive metas batch_query --data '{"request_docs": [{"doc_type": "docx", "doc_token": "<doc_token>"}], "with_url": true}'
62
+ ```
63
+ 3. 需要获取文档内容时,使用 `lark-cli docs +fetch --api-version v2`。
64
+ ```bash
65
+ # 获取文档内容
66
+ lark-cli docs +fetch --api-version v2 --doc <doc_token> --doc-format markdown
67
+ ```
68
+
69
+ ### 4. 查询参会人快照(读操作)
70
+
71
+ 用户问"谁参加过这场会议""这个会议有哪些参会人""某某参会了吗"等**参会人快照**类问题时,使用 **`vc meeting get --with-participants`**:这是参会人服务端快照 API,不依赖 bot 身份参会,**已结束会议也可查**:
72
+
73
+ ```bash
74
+ lark-cli vc meeting get --params '{"meeting_id":"<meeting_id>","with_participants":true}'
75
+ ```
76
+
77
+ 选型判断表:
78
+
79
+ | 用户意图 | 推荐命令 | 所在 skill |
80
+ |---------|---------|--------|
81
+ | 参会人快照(谁参加过、何时入/离会,任意时点)| `vc meeting get --with-participants` | 本 skill |
82
+ | 已结束会议的发言内容 | `vc +notes` 取 `verbatim_doc_token` 再 `docs +fetch --api-version v2` | 本 skill |
83
+ | **进行中会议**的实时事件流(转写、聊天、共享、会中加入/离开)| `vc +meeting-events` | [`lark-vc-agent`](../lark-vc-agent/SKILL.md) |
84
+ | **Agent 真实入会 / 离会** | `vc +meeting-join` / `vc +meeting-leave` | [`lark-vc-agent`](../lark-vc-agent/SKILL.md) |
85
+
86
+ ## 资源关系
87
+
88
+ ```
89
+ Meeting (视频会议)
90
+ ├── Note (会议纪要)
91
+ │ ├── MainDoc (AI 智能纪要文档, note_doc_token)
92
+ │ ├── MeetingNotes (用户绑定的会议纪要文档, meeting_notes)
93
+ │ ├── VerbatimDoc (逐字稿, verbatim_doc_token)
94
+ │ └── SharedDoc (会中共享文档)
95
+ └── Minutes (妙记) ← minute_token 标识,+recording 从 meeting_id 获取
96
+ ├── Transcript (文字记录)
97
+ ├── Summary (总结)
98
+ ├── Todos (待办)
99
+ └── Chapters (章节)
100
+ ```
101
+
102
+ > **注意**:`+search` 只能查询已结束的历史会议。查询未来的日程安排请使用 [lark-calendar](../lark-calendar/SKILL.md)。
103
+ >
104
+ > **优先级**:当用户搜索历史会议时,应优先使用 `vc +search` 而非 `calendar events search`。calendar 的搜索面向日程,vc 的搜索面向已结束的会议记录,支持按参会人、组织者、会议室等维度过滤。
105
+ >
106
+ > **路由规则**:如果用户在问“开过的会”“今天开了哪些会”“最近参加过什么会”“已结束的会议”“历史会议记录”,优先使用 `vc +search`。只有在查询未来日程、待开的会、agenda 时才优先使用 [lark-calendar](../lark-calendar/SKILL.md)。
107
+ >
108
+ > **妙记边界**:`+notes` 负责纪要内容、逐字稿和 AI 产物;妙记基础信息请优先看 [`+recording`](references/lark-vc-recording.md) 与 [lark-minutes](../lark-minutes/SKILL.md)。
109
+ >
110
+ > **文件转纪要边界**:如果用户给的是本地音视频文件,并希望得到纪要、逐字稿、总结、待办或章节,入口应先走 [lark-minutes](../lark-minutes/SKILL.md) 的上传流程生成 `minute_url` / `minute_token`,再回到 `vc +notes --minute-tokens` 获取内容产物。
111
+ >
112
+ > **特殊情况**: 当用户查询“今天有哪些会议”时,通过 `vc +search` 查询今天开过的会议记录,同时使用 lark-calendar 技能查询今天还未开始的会议,统一整理后展示给用户。
113
+
114
+ ## Shortcuts(推荐优先使用)
115
+
116
+ Shortcut 是对常用操作的高级封装(`lark-cli vc +<verb> [flags]`)。有 Shortcut 的操作优先使用。
117
+
118
+ | Shortcut | 说明 |
119
+ |----------|------|
120
+ | [`+search`](references/lark-vc-search.md) | Search meeting records (requires at least one filter) |
121
+ | [`+notes`](references/lark-vc-notes.md) | Query meeting notes (via meeting-ids, minute-tokens, or calendar-event-ids) |
122
+ | [`+recording`](references/lark-vc-recording.md) | Query minute_token from meeting-ids or calendar-event-ids |
123
+
124
+ - 使用 `+search` 命令时,必须阅读 [references/lark-vc-search.md](references/lark-vc-search.md),了解搜索参数和返回值结构。
125
+ - 使用 `+notes` 命令时,必须阅读 [references/lark-vc-notes.md](references/lark-vc-notes.md),了解查询参数、产物类型和返回值结构。
126
+ - 使用 `+recording` 命令时,必须阅读 [references/lark-vc-recording.md](references/lark-vc-recording.md),了解查询参数和返回值结构。
127
+
128
+ > **Agent 参会相关命令已独立**:`+meeting-join` / `+meeting-leave` / `+meeting-events` 请使用 [`lark-vc-agent`](../lark-vc-agent/SKILL.md) 技能。
129
+
130
+ ## API Resources
131
+
132
+ ```bash
133
+ lark-cli schema vc.<resource>.<method> # 调用 API 前必须先查看参数结构
134
+ lark-cli vc <resource> <method> [flags] # 调用 API
135
+ ```
136
+
137
+ > **重要**:使用原生 API 时,必须先运行 `schema` 查看 `--data` / `--params` 参数结构,不要猜测字段格式。
138
+
139
+ ### meeting
140
+
141
+ - `get` — 获取会议详情(主题、时间、参会人、note_id)
142
+
143
+ ```bash
144
+ # 获取会议基础信息:不包含参会人列表
145
+ lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>"}'
146
+
147
+
148
+ # 获取会议基础信息:包含参会人列表
149
+ lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>", "with_participants": true}'
150
+ ```
151
+
152
+ ### minutes(跨域,详见 [lark-minutes](../lark-minutes/SKILL.md))
153
+
154
+ - `get` — 获取妙记基础信息(标题、时长、封面);查询纪要**内容**请用 `+notes --minute-tokens <minute-token>`
155
+
156
+ ## 权限表
157
+
158
+ | 方法 | 所需 scope |
159
+ |------|-----------|
160
+ | `+notes --meeting-ids` | `vc:meeting.meetingevent:read`、`vc:note:read` |
161
+ | `+notes --minute-tokens` | `vc:note:read`、`minutes:minutes:readonly`、`minutes:minutes.artifacts:read`、`minutes:minutes.transcript:export` |
162
+ | `+notes --calendar-event-ids` | `calendar:calendar:read`、`calendar:calendar.event:read`、`vc:meeting.meetingevent:read`、`vc:note:read` |
163
+ | `+recording --meeting-ids` | `vc:record:readonly` |
164
+ | `+recording --calendar-event-ids` | `vc:record:readonly`、`calendar:calendar:read`、`calendar:calendar.event:read` |
165
+ | `+search` | `vc:meeting.search:read` |
166
+ | `meeting.get` | `vc:meeting.meetingevent:read` |
167
+
168
+ > Agent 参会相关 scope(`vc:meeting.bot.join:write` / `vc:meeting.meetingevent:read`)见 [`lark-vc-agent`](../lark-vc-agent/SKILL.md)。
@@ -0,0 +1,126 @@
1
+
2
+ # vc +notes
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 查询会议纪要,支持通过会议 ID、妙记 Token 或日程事件 ID 获取纪要文档、逐字稿、AI 总结、待办和章节。只读操作。
7
+
8
+ 本 skill 对应 shortcut:`lark-cli vc +notes`。
9
+
10
+ ## 命令
11
+
12
+ ```bash
13
+ # 通过会议 ID 查询(逗号分隔支持批量,最多 50 个)
14
+ lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28
15
+ lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28,69xxxxxxxxxxxxx29
16
+
17
+ # 通过妙记 Token 查询(从妙记 URL 中提取)
18
+ lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx
19
+ lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx,obbyyyyyyyyyyyyyyyyyy
20
+
21
+ # 指定逐字稿输出目录(仅 --minute-tokens 路径有效)
22
+ lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx --output-dir ./output
23
+ lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx --overwrite
24
+
25
+ # 通过日程事件 ID 查询(从 calendar +agenda 获取 event_id)
26
+ lark-cli vc +notes --calendar-event-ids xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_0
27
+
28
+ # 输出格式
29
+ lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28 --format json
30
+
31
+ # 预览 API 调用
32
+ lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28 --dry-run
33
+ ```
34
+
35
+ ## 参数
36
+
37
+ | 参数 | 必填 | 说明 |
38
+ |------|------|------|
39
+ | `--meeting-ids <ids>` | 三选一 | 会议 ID,逗号分隔支持批量 |
40
+ | `--minute-tokens <tokens>` | 三选一 | 妙记 Token,逗号分隔支持批量 |
41
+ | `--calendar-event-ids <ids>` | 三选一 | 日程事件 ID,逗号分隔支持批量 |
42
+ | `--output-dir <dir>` | 否 | 逐字稿输出目录(默认当前目录),仅 `--minute-tokens` 路径有效 |
43
+ | `--overwrite` | 否 | 覆盖已存在的逐字稿文件,仅 `--minute-tokens` 路径有效 |
44
+ | `--dry-run` | 否 | 预览 API 调用,不执行 |
45
+
46
+ ## 核心约束
47
+
48
+ ### 1. 三种参数互斥
49
+
50
+ 每次只能指定一种输入方式。同时传入多种会报错。
51
+
52
+ ### 2. 仅支持 user 身份
53
+
54
+ 该命令仅支持 `user` 身份,使用前需完成 `lark-cli auth login`。
55
+
56
+ ### 3. 批量上限
57
+
58
+ 每次最多传入 50 个 ID/Token。
59
+
60
+ ### 4. 按路径检查权限
61
+
62
+ 不同输入方式需要不同权限,命令会自动检查对应路径所需的 scope:
63
+
64
+ | 输入 | 所需权限 |
65
+ |------|---------|
66
+ | `--meeting-ids` | `vc:meeting.meetingevent:read`、`vc:note:read` |
67
+ | `--minute-tokens` | `vc:note:read`、`minutes:minutes:readonly`、`minutes:minutes.artifacts:read`、`minutes:minutes.transcript:export` |
68
+ | `--calendar-event-ids` | `calendar:calendar:read`、`calendar:calendar.event:read`、`vc:meeting.meetingevent:read`、`vc:note:read` |
69
+
70
+ ## 输出结果
71
+
72
+ ### 有纪要文档时
73
+
74
+ 返回 `notes` 数组,每条记录包含:
75
+
76
+ | 字段 | 说明 |
77
+ |------|------|
78
+ | `note_doc_token` | **AI 智能纪要**文档 Token — AI 生成的总结、待办、章节 |
79
+ | `meeting_notes` | **用户绑定的会议纪要**文档 Token 列表 — 用户主动关联到会议的文档(仅 `--calendar-event-ids` 路径返回) |
80
+ | `verbatim_doc_token` | **逐字稿**文档 Token — 完整的逐句文字记录,含说话人和时间戳 |
81
+ | `shared_doc_tokens` | 会中共享文档 Token 列表 |
82
+ | `creator_id` | 创建者 ID |
83
+ | `create_time` | 创建时间(格式化) |
84
+
85
+ > **选择哪个 token?** 用户说"会议纪要""总结""待办""纪要内容" → 返回 `note_doc_token` 和 `meeting_notes`(如有)。用户说"逐字稿""完整记录""谁说了什么" → 用 `verbatim_doc_token`。意图不明确时,展示所有文档链接让用户选择。
86
+
87
+ ### minute-tokens 路径的 AI 产物
88
+
89
+ 通过 `--minute-tokens` 查询时,返回的 `artifacts` 字段包含 AI 内置产物:
90
+
91
+ | 字段 | 说明 |
92
+ |------|------|
93
+ | `artifacts.summary` | AI 总结(JSON 内联) |
94
+ | `artifacts.todos` | 待办事项(JSON 内联) |
95
+ | `artifacts.chapters` | 章节纪要(JSON 内联) |
96
+ | `artifacts.transcript_file` | 逐字稿本地文件路径(下载到 `./artifact-<title>/transcript.txt`) |
97
+
98
+ ## 如何获取输入参数
99
+
100
+ | 输入参数 | 获取方式 |
101
+ |---------|---------|
102
+ | `meeting_id` | `vc +search` 搜索历史会议 → 结果中的 `id` 字段 |
103
+ | `minute_token` | 从妙记 URL 中提取,如 `https://sample.feishu.cn/minutes/obbyyyyyyyyyyyyyyyyyy` → `obbyyyyyyyyyyyyyyyyyy` |
104
+ | `calendar_event_id` | `calendar +agenda` 查看日程 → 结果中的 `event_id` 字段 |
105
+
106
+ ## 常见错误与排查
107
+
108
+ | 错误现象 | 根本原因 | 解决方案 |
109
+ |---------|---------|---------|
110
+ | `exactly one of ... is required` | 未传入参数或同时传了多种 | 只指定一种输入方式 |
111
+ | `no notes available for this meeting` | 该会议未生成纪要 | 尝试用 `--minute-tokens` 路径 |
112
+ | `121005 no permission` | 非会议参与者无权查看 | 使用 `--minute-tokens` 降级到内置产物 |
113
+ | `missing required scope(s)` | 权限不足 | 按提示运行 `auth login --scope` |
114
+ | `too many IDs` | 超过批量上限 | 分批查询,每批最多 50 个 |
115
+
116
+ ## 提示
117
+ - 默认使用 `--format json` 输出,你更佳擅长解析 JSON 数据。
118
+ - 排查参数与请求结构时优先使用 `--dry-run`。
119
+ - `--meeting-ids` 和 `--calendar-event-ids` 路径最终都走纪要详情 API,需要 `vc:note:read` 权限。
120
+ - `--minute-tokens` 路径无纪要权限时会自动降级,**不会报错**,而是下载内置产物到本地。
121
+
122
+ ## 参考
123
+
124
+ - [lark-vc](../SKILL.md) — 视频会议全部命令
125
+ - [lark-vc-search](lark-vc-search.md) — 搜索历史会议(获取 meeting_id)
126
+ - [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
@@ -0,0 +1,153 @@
1
+
2
+ # vc +recording
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 通过 meeting_id 或 calendar_event_id 查询对应的 minute_token。这是 VC 域和 Minutes 域之间的桥梁命令。只读操作。
7
+
8
+ > **边界提醒:** 如果用户明确要的是"妙记信息""妙记详情""妙记链接""minute_token""标题""时长""owner"这类妙记元信息,先用本命令拿到 `minute_token`,再调用 `minutes minutes get`。不要直接切到 `vc +notes`;`vc +notes` 只用于纪要内容和逐字稿。
9
+
10
+ 本 skill 对应 shortcut:`lark-cli vc +recording`。
11
+
12
+ ## 命令
13
+
14
+ ```bash
15
+ # 通过会议 ID 查询(逗号分隔支持批量,最多 50 个)
16
+ lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28
17
+ lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28,69xxxxxxxxxxxxx29
18
+
19
+ # 通过日程事件 ID 查询
20
+ lark-cli vc +recording --calendar-event-ids xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_0
21
+
22
+ # 输出格式
23
+ lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28 --format json
24
+
25
+ # 预览 API 调用
26
+ lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28 --dry-run
27
+ ```
28
+
29
+ ## 参数
30
+
31
+ | 参数 | 必填 | 说明 |
32
+ |------|------|------|
33
+ | `--meeting-ids <ids>` | 二选一 | 会议 ID,逗号分隔支持批量 |
34
+ | `--calendar-event-ids <ids>` | 二选一 | 日程事件 ID,逗号分隔支持批量 |
35
+ | `--format <fmt>` | 否 | 输出格式:json (默认) / pretty / table / ndjson / csv |
36
+ | `--dry-run` | 否 | 预览 API 调用,不执行 |
37
+
38
+ ## 核心约束
39
+
40
+ ### 1. 两种参数互斥
41
+
42
+ 每次只能指定一种输入方式。同时传入会报错。
43
+
44
+ ### 2. 仅支持 user 身份
45
+
46
+ 该命令仅支持 `user` 身份,使用前需完成 `lark-cli auth login`。user token 只能查自己有权限的录制。
47
+
48
+ ### 3. 批量上限
49
+
50
+ 每次最多传入 50 个 ID。
51
+
52
+ ### 4. 录制必须已完成
53
+
54
+ 录制必须完成生成后才能查询。时长 < 5 秒的录制可能不会生成文件。
55
+
56
+ ## 输出结果
57
+
58
+ 返回 `recordings` 数组,每条记录包含:
59
+
60
+ | 字段 | 说明 |
61
+ |------|------|
62
+ | `meeting_id` | 会议 ID |
63
+ | `calendar_event_id` | 日历事件 ID(仅 `--calendar-event-ids` 路径) |
64
+ | `minute_token` | 从录制 URL 中解析的妙记 Token |
65
+ | `recording_url` | 录制 URL |
66
+ | `duration` | 录制时长(毫秒) |
67
+ | `error` | 错误信息(仅查询失败时存在) |
68
+
69
+ ## 如何获取输入参数
70
+
71
+ | 输入参数 | 获取方式 |
72
+ |---------|---------|
73
+ | `meeting_id` | 使用 `lark-cli vc +search` 搜索历史会议,取结果中的 `id` 字段 |
74
+ | `calendar_event_id` | 使用 `lark-cli calendar +agenda` 查看日程,取结果中的 `event_id` 字段 |
75
+
76
+ ## Agent 组合场景
77
+
78
+ ### 场景 1:知道 meeting_id,想下载录制
79
+
80
+ ```bash
81
+ # 第 1 步:通过 meeting_id 查询录制,拿到 minute_token
82
+ lark-cli vc +recording --meeting-ids xxx
83
+
84
+ # 第 2 步:使用上一步返回的 minute_token 下载妙记文件
85
+ lark-cli minutes +download --minute-token <minute_token>
86
+ ```
87
+
88
+ ### 场景 2:知道 meeting_id,想查询妙记基础信息
89
+
90
+ ```bash
91
+ # 第 1 步:通过 meeting_id 查询录制,拿到 minute_token
92
+ lark-cli vc +recording --meeting-ids xxx
93
+
94
+ # 第 2 步:使用上一步返回的 minute_token 查询妙记基础信息
95
+ lark-cli minutes minutes get --params '{"minute_token":"<minute_token>"}'
96
+ ```
97
+
98
+ ### 场景 3:知道 meeting_id,想获取完整纪要(含 AI 产物)
99
+
100
+ ```bash
101
+ # 第 1 步:通过 meeting_id 查询录制,拿到 minute_token
102
+ lark-cli vc +recording --meeting-ids xxx
103
+
104
+ # 第 2 步:使用上一步返回的 minute_token 获取完整纪要
105
+ lark-cli vc +notes --minute-tokens <minute_token>
106
+ ```
107
+
108
+ ### 场景 4:先搜索会议,再获取录制并下载
109
+
110
+ ```bash
111
+ # 第 1 步:搜索历史会议,拿到 meeting_ids
112
+ lark-cli vc +search --query "周会" --start 2026-03-10
113
+
114
+ # 第 2 步:使用上一步返回的 meeting_ids 查询录制,拿到 minute_tokens
115
+ lark-cli vc +recording --meeting-ids <ids>
116
+
117
+ # 第 3 步:使用其中一个 minute_token 下载妙记文件
118
+ lark-cli minutes +download --minute-token <token>
119
+ ```
120
+
121
+ ### 场景 5:从日历事件获取录制
122
+
123
+ ```bash
124
+ # 第 1 步:通过日历 event_id 查询录制,拿到 minute_token
125
+ lark-cli vc +recording --calendar-event-ids <event_id>
126
+
127
+ # 第 2 步:使用上一步返回的 minute_token 下载妙记文件
128
+ lark-cli minutes +download --minute-token <minute_token>
129
+ ```
130
+
131
+ ## 常见错误与排查
132
+
133
+ | 错误现象 | 根本原因 | 解决方案 |
134
+ |---------|---------|---------|
135
+ | `exactly one of ... is required` | 未传入参数或同时传了多种 | 只指定一种输入方式 |
136
+ | `no recording available` | 该会议无录制或录制未完成 | 确认会议已结束且开启了录制 |
137
+ | `121005 no permission` | 无权查看该会议录制 | 确认是会议参与者或有录制权限 |
138
+ | `124002 recording generating` | 录制文件仍在生成中 | 等待录制完成后重试 |
139
+ | `missing required scope(s)` | 权限不足 | 按提示运行 `auth login --scope` |
140
+
141
+ ## 提示
142
+
143
+ - 默认使用 `--format json` 输出,Agent 更擅长解析 JSON 数据。
144
+ - 排查参数与请求结构时优先使用 `--dry-run`。
145
+ - `minute_token` 从录制 URL 尾段解析(`https://meetings.feishu.cn/minutes/{minute_token}`)。
146
+ - 拿到 `minute_token` 后,如果要妙记基础信息,优先传给 `minutes minutes get`;如果要下载媒体文件,传给 `minutes +download`;如果要逐字稿、总结、待办、章节,再传给 `vc +notes --minute-tokens`。
147
+
148
+ ## 参考
149
+
150
+ - [lark-vc](../SKILL.md) — 视频会议全部命令
151
+ - [lark-vc-search](lark-vc-search.md) — 搜索历史会议(获取 meeting_id)
152
+ - [lark-vc-notes](lark-vc-notes.md) — 获取会议纪要
153
+ - [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
@@ -0,0 +1,193 @@
1
+
2
+ # vc +search
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 搜索已结束的历史会议记录,支持关键词、时间范围、组织者、参与者以及会议室等多条件过滤。只读操作,不修改任何会议数据。
7
+
8
+ 本 skill 对应 shortcut:`lark-cli vc +search`(调用 `POST /open-apis/vc/v1/meetings/search`)。
9
+
10
+ ## 关键词使用边界
11
+
12
+ `--query` 只用于真实会议关键词,例如会议主题、项目名、评审名、客户名。用户只是说"我这月参加的所有视频会议"、"最近两周我组织的所有视频会议"、"总结主要议题 / 看看参会情况"时,本质是历史会议列表和后续总结,不要把"回顾"、"所有视频会议"、"总结主要议题"等动作词放进 `--query`。这类请求应先用时间范围 + `--participant-ids` / `--organizer-ids` 搜全量候选,再按结果继续取纪要或录制信息。
13
+
14
+ 列表阶段只负责找会议记录;总结阶段必须继续取证。若用户要求"主要议题"、"主要决策"、"参会情况",先确认搜索结果的 `meeting_id`、时间、组织者/参与者符合过滤条件,然后用 `vc +notes` 或 `vc +recording` / `minutes` 读取纪要、妙记或录制信息。没有纪要或妙记时,如实说明只能基于会议标题/参会数据汇总,不要编造议题。
15
+
16
+ ## 典型触发表达
17
+
18
+ 以下说法通常应优先使用 `vc +search`:
19
+
20
+ - 今天开过的会
21
+ - 今天开了哪些会
22
+ - 最近参加过哪些会
23
+ - 我这周开过的会
24
+ - 已结束的会议
25
+ - 历史会议记录
26
+
27
+ ## 命令
28
+
29
+ ```bash
30
+ # 关键词搜索
31
+ lark-cli vc +search --query "周会"
32
+
33
+ # 查询某一天开过的会(单日查询时,start 和 end 必须填写同一天)
34
+ lark-cli vc +search --start 2026-03-10 --end 2026-03-10
35
+
36
+ # 按时间范围搜索
37
+ lark-cli vc +search --start "2026-03-10T00:00+08:00" --end "2026-03-17T00:00+08:00"
38
+ lark-cli vc +search --start 2026-03-10 --end 2026-03-17
39
+
40
+ # 关键词 + 时间范围
41
+ lark-cli vc +search --query "周会" --start "2026-03-10T00:00+08:00" --end "2026-03-17T00:00+08:00"
42
+ lark-cli vc +search --query "周会" --start "2026-03-10T00:00+08:00"
43
+ lark-cli vc +search --query "周会" --end "2026-03-17T00:00+08:00"
44
+
45
+ # 按组织者过滤(open_id,逗号分隔)
46
+ lark-cli vc +search --organizer-ids "ou_a,ou_b"
47
+
48
+ # 按参与者过滤(open_id,逗号分隔)
49
+ lark-cli vc +search --participant-ids "ou_x,ou_y"
50
+
51
+ # 查询我这个月参加过的历史会议,不带关键词
52
+ lark-cli vc +search --start "<YYYY-MM-DD>" --end "<YYYY-MM-DD>" --participant-ids "ou_me"
53
+
54
+ # 查询最近两周我组织的历史会议,不带关键词
55
+ lark-cli vc +search --start "<YYYY-MM-DD>" --end "<YYYY-MM-DD>" --organizer-ids "ou_me"
56
+
57
+ # 按会议室过滤
58
+ lark-cli vc +search --room-ids "123,456"
59
+
60
+ # 多条件组合查询
61
+ lark-cli vc +search --organizer-ids "ou_a" --room-ids "123" --start "2026-03-10T00:00+08:00"
62
+
63
+ # 分页查询
64
+ lark-cli vc +search --query "周会" --page-size 15
65
+ lark-cli vc +search --query "周会" --page-token "next_page_token"
66
+
67
+ # 输出为表格/可读格式
68
+ lark-cli vc +search --query "周会" --format json
69
+ ```
70
+
71
+ ## 参数
72
+
73
+ | 参数 | 必填 | 说明 |
74
+ |------|------|------|
75
+ | `--query <text>` | 否 | 搜索关键词 |
76
+ | `--start <time>` | 否 | 开始时间(ISO 8601 或仅日期) |
77
+ | `--end <time>` | 否 | 结束时间(ISO 8601 或仅日期) |
78
+ | `--organizer-ids <ids>` | 否 | 组织者 open_id 列表,逗号分隔 |
79
+ | `--participant-ids <ids>` | 否 | 参与者 open_id 列表,逗号分隔 |
80
+ | `--room-ids <ids>` | 否 | 会议室 ID 列表,逗号分隔 |
81
+ | `--page-size <n>` | 否 | 每页数量,默认 `15`,最大 `30` |
82
+ | `--page-token <token>` | 否 | 翻页标记,用于获取下一页 |
83
+ | `--dry-run` | 否 | 预览 API 调用,不执行 |
84
+
85
+ ## 核心约束
86
+
87
+ ### 1. 至少提供一个过滤条件
88
+
89
+ 所有参数均可选,但必须至少提供一个过滤条件:`--query`、`--start`、`--end`、`--organizer-ids`、`--participant-ids` 或 `--room-ids`。
90
+
91
+ 没有真实关键词时,时间范围或人员过滤已经满足这个约束,`--query` 可以省略。
92
+
93
+ 涉及"本月"、"最近两周"这类相对时间时,先基于执行当天计算 `"<YYYY-MM-DD>"` 占位符,再运行命令;不要沿用文档示例生成时的具体日期。
94
+
95
+ ### 2. 仅搜索历史会议
96
+
97
+ `vc +search` 只能搜索已结束的历史会议记录,不用于查询未来日程。查询未来会议安排请使用 [lark-calendar](../../lark-calendar/SKILL.md)。
98
+
99
+ ### 3. 仅支持 user 身份
100
+
101
+ 该接口仅支持 `user` 身份,使用前需完成 `lark-cli auth login` 并具备 `vc:meeting.search:read` 权限。
102
+
103
+ ### 4. 支持分页
104
+
105
+ 当返回 `has_more=true` 时,使用响应中的 `page_token` 配合 `--page-token` 获取下一页结果。
106
+
107
+ ### 5. 机器人可同时加入多个会议
108
+
109
+ 机器人支持同时加入多个正在进行中的会议;加入新会议前,不需要先退出已经在会中的其他会议。
110
+
111
+ 这意味着:
112
+
113
+ - 不要假设 bot 一次只能在一个会议中
114
+ - 如果用户要求 bot 再加入另一场会,可以直接继续执行对应的入会命令
115
+ - 只有在用户明确要求结束某一场会中的 bot 参会时,才调用对应的离会命令
116
+
117
+ ### 6. 日期型 `--end` 包含当天整天
118
+
119
+ 当 `--end` 传入的是仅日期格式(如 `2026-03-10`)时,CLI 会将它解释为当天 `23:59:59`,而不是当天 `00:00:00`。
120
+
121
+ 这意味着:
122
+
123
+ - `--start 2026-03-10 --end 2026-03-10` 表示只查 `2026-03-10` 当天
124
+ - `--start 2026-03-10 --end 2026-03-11` 表示查询 `2026-03-10` 和 `2026-03-11` 两天
125
+
126
+ 如果用户说“昨天开过的会”“今天开过的会”“某一天开过的会”,应把 `--start` 和 `--end` 都设置为同一天,而不是把 `--end` 设成下一天。
127
+
128
+ ## 时间格式
129
+
130
+ `--start` 和 `--end` 支持以下时间格式:
131
+
132
+ | 格式 | 示例 | 说明 |
133
+ |------|------|------|
134
+ | ISO 8601(带时区) | `2026-03-10T14:00:00+08:00` | 推荐 |
135
+ | ISO 8601(不带时区) | `2026-03-10T14:00:00` | 按本地时区解析 |
136
+ | 仅日期 | `2026-03-10` | 按天粒度解析;若用于 `--end`,表示当天 `23:59:59` |
137
+
138
+ ## 输出结果
139
+
140
+ - 默认输出 JSON,包含 `items`、`total`、`has_more` 和 `page_token`。
141
+
142
+ ## Pagination (`has_more` / `page_token`)
143
+
144
+ - 当结果中返回 `has_more=true` 时,说明还有更多页可继续获取。
145
+ - 继续翻页时,使用响应中的 `page_token` 搭配 `--page-token` 发起下一次查询。
146
+ - 不要假设调大 `--page-size` 就能拿全结果;分页遍历时应以 `has_more` 和 `page_token` 为准。
147
+ - 未明确要求全量时,`total` 数量小于 50 可自动分页获取所有结果;`total` 数量大于 50 时,先向用户确认是否继续获取全部结果。
148
+ - 用户明确说"所有 / 全部 / 统计 / 按时间排序"时,该全量意图优先于 `total > 50` 的确认门槛;直接完成分页和去重,再排序或统计,不要只用第一页回答。
149
+
150
+ ```bash
151
+ # First page
152
+ lark-cli vc +search --query "周会" --page-size 15
153
+
154
+ # Next page
155
+ lark-cli vc +search --query "周会" --page-size 15 --page-token "<PAGE_TOKEN>"
156
+ ```
157
+
158
+ ## 搜索结果中的下一步
159
+
160
+ 搜索结果中的 `meeting_id` 可直接用于继续查询会议纪要或妙记:
161
+
162
+ ```bash
163
+ # 如果要会议纪要 / 逐字稿 / AI 总结 / 待办 / 章节
164
+ lark-cli vc +notes --meeting-ids <MEETING_ID>
165
+
166
+ # 如果要会议对应的妙记信息 / minute_token / 妙记链接
167
+ lark-cli vc +recording --meeting-ids <MEETING_ID>
168
+ # 然后再用返回的 minute_token 调用:
169
+ lark-cli minutes minutes get --params '{"minute_token":"<MINUTE_TOKEN>"}'
170
+ ```
171
+
172
+ ## 常见错误与排查
173
+
174
+ | 错误现象 | 根本原因 | 解决方案 |
175
+ |---------|---------|---------|
176
+ | 命令直接报错,要求提供过滤条件 | 没有传入 `--query`、时间范围或任何过滤 ID | 至少补充一个过滤条件后重试 |
177
+ | 时间参数校验失败 | `--start` 或 `--end` 格式不合法 | 改用 ISO 8601 或 `YYYY-MM-DD` |
178
+ | 搜不到未来会议 | `vc +search` 只查历史会议 | 改用 [lark-calendar](../../lark-calendar/SKILL.md) 查询未来日程 |
179
+ | 权限不足 | 未授权 `vc:meeting.search:read` | 使用 `auth login` 完成授权 |
180
+
181
+ ## 提示
182
+ - 必须使用 `--format json` 输出,你更佳擅长解析 JSON 数据。
183
+ - 排查参数与请求结构时优先使用 `--dry-run`。
184
+ - 搜索的时间范围最大为 1 个月,如果需要搜索更长时间范围的会议,需要拆分为多次时间范围为一个月查询。
185
+ - 不要使用 `yesterday`、`today` 这类相对时间字面量;请先转换成明确日期,例如 `2026-03-10`。
186
+ - 用户如果明确问的是“妙记信息”而不是“纪要内容”,不要默认走 `vc +notes`;应先用 `vc +recording`。
187
+
188
+ ## 参考
189
+
190
+ - [lark-vc](../SKILL.md) -- 视频会议全部命令
191
+ - [lark-vc-recording](lark-vc-recording.md) -- 查询会议对应的 minute_token
192
+ - [lark-vc-notes](lark-vc-notes.md) -- 获取会议纪要
193
+ - [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数