@wagemule/daemon 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/dist/main.cjs +246 -42
- package/dist/main.cjs.map +3 -3
- package/dist/skills/larksuite/lark-approval/SKILL.md +56 -0
- package/dist/skills/larksuite/lark-attendance/SKILL.md +57 -0
- package/dist/skills/larksuite/lark-base/SKILL.md +349 -0
- package/dist/skills/larksuite/lark-base/references/dashboard-block-data-config.md +350 -0
- package/dist/skills/larksuite/lark-base/references/examples.md +140 -0
- package/dist/skills/larksuite/lark-base/references/formula-field-guide.md +735 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-advperm-disable.md +83 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-advperm-enable.md +80 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-base-copy.md +74 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-base-create.md +68 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-base-get.md +39 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-cell-value.md +151 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-arrange.md +83 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-create.md +108 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-get.md +57 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-list.md +53 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-update.md +84 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-create.md +73 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-delete.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-get.md +59 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-list.md +52 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-update.md +69 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard.md +240 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-data-analysis-sop.md +88 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-data-query.md +451 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-create.md +104 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-delete.md +51 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-get.md +42 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-list.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-search-options.md +48 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-update.md +166 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field.md +23 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-create.md +87 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-delete.md +64 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-get.md +68 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-list.md +73 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-create.md +118 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-delete.md +68 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-list.md +84 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-update.md +92 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions.md +23 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-update.md +82 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form.md +24 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-history.md +16 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-create.md +58 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-update.md +53 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-delete.md +62 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-history-list.md +86 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-share-link-create.md +72 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-upload-attachment.md +50 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-upsert.md +64 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record.md +29 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-create.md +89 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-delete.md +83 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-get.md +87 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-list.md +81 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-update.md +94 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-create.md +62 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-delete.md +51 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-get.md +46 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-list.md +43 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-update.md +49 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table.md +20 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-create.md +50 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-delete.md +48 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-card.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-filter.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-group.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-sort.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-timebar.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-list.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-rename.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-card.md +55 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-filter.md +181 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-group.md +65 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-sort.md +63 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-timebar.md +51 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-create.md +180 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-disable.md +94 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-enable.md +94 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-get.md +147 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-guide.md +718 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-list.md +124 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-schema.md +935 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-update.md +167 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow.md +23 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workspace.md +18 -0
- package/dist/skills/larksuite/lark-base/references/lookup-field-guide.md +510 -0
- package/dist/skills/larksuite/lark-base/references/role-config.md +539 -0
- package/dist/skills/larksuite/lark-calendar/SKILL.md +154 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-agenda.md +78 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-create.md +109 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-freebusy.md +124 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-room-find.md +113 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-rsvp.md +42 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-suggestion.md +125 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-update.md +105 -0
- package/dist/skills/larksuite/lark-contact/SKILL.md +45 -0
- package/dist/skills/larksuite/lark-contact/references/lark-contact-get-user.md +19 -0
- package/dist/skills/larksuite/lark-contact/references/lark-contact-search-user.md +124 -0
- package/dist/skills/larksuite/lark-doc/SKILL.md +69 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-create.md +89 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-fetch.md +141 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-md.md +71 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-media-download.md +50 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-media-insert.md +114 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-media-preview.md +41 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-search.md +217 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-update.md +252 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-whiteboard.md +100 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-xml.md +169 -0
- package/dist/skills/larksuite/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
- package/dist/skills/larksuite/lark-doc/references/style/lark-doc-style.md +106 -0
- package/dist/skills/larksuite/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
- package/dist/skills/larksuite/lark-drive/SKILL.md +343 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-add-comment.md +169 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-apply-permission.md +77 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-create-folder.md +73 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-create-shortcut.md +103 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-delete.md +79 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-download.md +31 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-export-download.md +50 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-export.md +119 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-import.md +154 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-move.md +120 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-pull.md +137 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-push.md +162 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-reactions.md +113 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-search.md +239 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-status.md +137 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-task-result.md +302 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-upload.md +101 -0
- package/dist/skills/larksuite/lark-event/SKILL.md +145 -0
- package/dist/skills/larksuite/lark-event/references/lark-event-im.md +86 -0
- package/dist/skills/larksuite/lark-im/SKILL.md +162 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-create.md +162 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-identity.md +55 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-list.md +113 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-messages-list.md +142 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-search.md +136 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-update.md +84 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-flag-cancel.md +67 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-flag-create.md +67 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-flag-list.md +100 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-mget.md +95 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-reply.md +222 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-resources-download.md +94 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-search.md +217 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-send.md +223 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-reactions.md +297 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-threads-messages-list.md +111 -0
- package/dist/skills/larksuite/lark-mail/SKILL.md +648 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-decline-receipt.md +115 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-create.md +123 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-edit.md +400 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-forward.md +232 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-message.md +230 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-messages.md +108 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-reply-all.md +206 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-reply.md +242 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-send-receipt.md +120 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-send.md +216 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-share-to-chat.md +87 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-signature.md +98 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-template-create.md +129 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-template-update.md +150 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-thread.md +111 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-triage.md +122 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-watch.md +94 -0
- package/dist/skills/larksuite/lark-markdown/SKILL.md +46 -0
- package/dist/skills/larksuite/lark-markdown/references/lark-markdown-create.md +86 -0
- package/dist/skills/larksuite/lark-markdown/references/lark-markdown-fetch.md +79 -0
- package/dist/skills/larksuite/lark-markdown/references/lark-markdown-overwrite.md +85 -0
- package/dist/skills/larksuite/lark-minutes/SKILL.md +139 -0
- package/dist/skills/larksuite/lark-minutes/references/lark-minutes-download.md +137 -0
- package/dist/skills/larksuite/lark-minutes/references/lark-minutes-search.md +206 -0
- package/dist/skills/larksuite/lark-minutes/references/lark-minutes-upload.md +104 -0
- package/dist/skills/larksuite/lark-okr/SKILL.md +133 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-contentblock.md +359 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-detail.md +84 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-list.md +90 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-entities.md +329 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-image-upload.md +116 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-create.md +81 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-delete.md +47 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-get.md +62 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-list.md +80 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-update.md +81 -0
- package/dist/skills/larksuite/lark-openapi-explorer/SKILL.md +153 -0
- package/dist/skills/larksuite/lark-shared/SKILL.md +138 -0
- package/dist/skills/larksuite/lark-sheets/SKILL.md +345 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-data.md +197 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-images.md +59 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-dropdown.md +133 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-filter-views.md +193 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-float-images.md +125 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-formula.md +88 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-spreadsheet-management.md +134 -0
- package/dist/skills/larksuite/lark-skill-maker/SKILL.md +85 -0
- package/dist/skills/larksuite/lark-slides/SKILL.md +525 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training.xml +912 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/hr--onboarding.xml +933 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_plan.xml +1469 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--product_whitepaper.xml +1455 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/misc--book_sharing.xml +1338 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--dark_general.xml +3763 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--light_general.xml +3378 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--work_report.xml +1099 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary.xml +4420 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--self_intro.xml +696 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--market_analysis.xml +898 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_intro.xml +2838 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion.xml +687 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion_2.xml +687 -0
- package/dist/skills/larksuite/lark-slides/references/examples.md +261 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-create.md +137 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-edit-workflows.md +142 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-media-upload.md +128 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-replace-slide.md +239 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-create.md +221 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +186 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
- package/dist/skills/larksuite/lark-slides/references/slide-templates.md +201 -0
- package/dist/skills/larksuite/lark-slides/references/slides_demo.xml +226 -0
- package/dist/skills/larksuite/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
- package/dist/skills/larksuite/lark-slides/references/template-catalog.md +464 -0
- package/dist/skills/larksuite/lark-slides/references/template-index.json +1853 -0
- package/dist/skills/larksuite/lark-slides/references/xml-format-guide.md +369 -0
- package/dist/skills/larksuite/lark-slides/references/xml-schema-quick-ref.md +215 -0
- package/dist/skills/larksuite/lark-slides/scripts/layout_lint.py +349 -0
- package/dist/skills/larksuite/lark-slides/scripts/layout_lint_test.py +159 -0
- package/dist/skills/larksuite/lark-slides/scripts/template_tool.py +970 -0
- package/dist/skills/larksuite/lark-slides/scripts/template_tool_test.py +177 -0
- package/dist/skills/larksuite/lark-task/SKILL.md +165 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-assign.md +38 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-comment.md +28 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-complete.md +27 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-create.md +57 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-followers.md +35 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-get-my-tasks.md +55 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-get-related-tasks.md +53 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-reminder.md +36 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-reopen.md +27 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-search.md +41 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-set-ancestor.md +32 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-subscribe-event.md +86 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-create.md +35 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-members.md +36 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-search.md +38 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-task-add.md +38 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-update.md +37 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-upload-attachment.md +59 -0
- package/dist/skills/larksuite/lark-vc/SKILL.md +168 -0
- package/dist/skills/larksuite/lark-vc/references/lark-vc-notes.md +126 -0
- package/dist/skills/larksuite/lark-vc/references/lark-vc-recording.md +153 -0
- package/dist/skills/larksuite/lark-vc/references/lark-vc-search.md +176 -0
- package/dist/skills/larksuite/lark-vc-agent/SKILL.md +121 -0
- package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
- package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
- package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
- package/dist/skills/larksuite/lark-whiteboard/SKILL.md +144 -0
- package/dist/skills/larksuite/lark-whiteboard/references/connectors.md +102 -0
- package/dist/skills/larksuite/lark-whiteboard/references/content.md +40 -0
- package/dist/skills/larksuite/lark-whiteboard/references/image.md +80 -0
- package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
- package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
- package/dist/skills/larksuite/lark-whiteboard/references/layout.md +374 -0
- package/dist/skills/larksuite/lark-whiteboard/references/schema.md +357 -0
- package/dist/skills/larksuite/lark-whiteboard/references/style.md +318 -0
- package/dist/skills/larksuite/lark-whiteboard/references/typography.md +73 -0
- package/dist/skills/larksuite/lark-whiteboard/routes/dsl.md +107 -0
- package/dist/skills/larksuite/lark-whiteboard/routes/mermaid.md +27 -0
- package/dist/skills/larksuite/lark-whiteboard/routes/svg.md +54 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/architecture.md +433 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/bar-chart.md +187 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/comparison.md +135 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/fishbone.md +238 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/flowchart.md +185 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/flywheel.md +195 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/funnel.md +101 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/line-chart.md +214 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/mermaid.md +130 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/milestone.md +139 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/organization.md +173 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/photo-showcase.md +126 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/pyramid.md +99 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/swimlane.md +371 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/treemap.md +216 -0
- package/dist/skills/larksuite/lark-wiki/SKILL.md +111 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-delete-space.md +205 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-move.md +183 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-copy.md +72 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-create.md +127 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-list.md +88 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-space-list.md +68 -0
- package/dist/skills/larksuite/lark-workflow-meeting-summary/SKILL.md +104 -0
- package/dist/skills/larksuite/lark-workflow-standup-report/SKILL.md +120 -0
- package/package.json +2 -1
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lark-drive
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "飞书云空间:管理云空间中的文件和文件夹。上传和下载文件、创建文件夹、复制/移动/删除文件、查看文件元数据、管理文档评论、管理文档权限、订阅用户评论变更事件、修改文件标题(docx、sheet、bitable、file、folder、wiki);也负责把本地 Word/Markdown/Excel/CSV 以及 Base 快照(.base)导入为飞书在线云文档(docx、sheet、bitable)。当用户需要上传或下载文件、整理云空间目录、查看文件详情、管理评论、管理文档权限、修改文件标题、订阅用户评论变更事件,或要把本地文件导入成新版文档、电子表格、多维表格/Base 时使用。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["lark-cli"]
|
|
8
|
+
cliHelp: "lark-cli drive --help"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# drive (v1)
|
|
12
|
+
|
|
13
|
+
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
|
|
14
|
+
|
|
15
|
+
> **导入分流规则:** 如果用户要把本地 Excel / CSV / `.base` 快照导入成 Base / 多维表格 / bitable,必须优先使用 `lark-cli drive +import --type bitable`。不要先切到 `lark-base`;`lark-base` 只负责导入完成后的表内操作。
|
|
16
|
+
|
|
17
|
+
## 快速决策
|
|
18
|
+
|
|
19
|
+
- 用户要**搜文档 / Wiki / 电子表格 / 多维表格 / 云空间对象**,优先使用 `lark-cli drive +search`。自然语言里"最近我编辑过的"、"我创建的"、"最近一周我打开过的 xxx"、"某人创建的 docx" 等直接映射到扁平 flag,避免手写嵌套 JSON。老的 `docs +search` 进入维护期、后续会下线,不要新增对它的依赖。
|
|
20
|
+
- 用户要把本地 `.xlsx` / `.csv` / `.base` 导入成 Base / 多维表格 / bitable,第一步必须使用 `lark-cli drive +import --type bitable`。
|
|
21
|
+
- 用户要把本地 `.md` / `.docx` / `.doc` / `.txt` / `.html` 导入成在线文档,使用 `lark-cli drive +import --type docx`。
|
|
22
|
+
- 用户要在 Drive 里上传、创建、读取、覆盖更新**原生 `.md` 文件**(不是导入成 docx),切到 [`lark-markdown`](../lark-markdown/SKILL.md)。
|
|
23
|
+
- 用户要把本地 `.xlsx` / `.xls` / `.csv` 导入成电子表格,使用 `lark-cli drive +import --type sheet`。
|
|
24
|
+
- 用户要在云空间里新建文件夹,优先使用 `lark-cli drive +create-folder`。
|
|
25
|
+
- 用户要把本地文件上传到知识库 / 文档库里的某个 wiki 节点下时,仍然使用 `lark-cli drive +upload --wiki-token <wiki_token>`;不要误切到 `wiki` 域命令。
|
|
26
|
+
- `lark-base` 只负责导入完成后的 Base 内部操作(表、字段、记录、视图),不要在“本地文件 -> Base”这一步提前切到 `lark-base`。
|
|
27
|
+
|
|
28
|
+
## 修改标题
|
|
29
|
+
- 使用 `drive files patch` 命令,通过new_title字段可以修改标题,支持 docx、sheet、bitable、file、wiki、folder 类型
|
|
30
|
+
|
|
31
|
+
## 核心概念
|
|
32
|
+
|
|
33
|
+
### 文档类型与 Token
|
|
34
|
+
|
|
35
|
+
飞书开放平台中,不同类型的文档有不同的 URL 格式和 Token 处理方式。在进行文档操作(如添加评论、下载文件等)时,必须先获取正确的 `file_token`。
|
|
36
|
+
|
|
37
|
+
### 文档 URL 格式与 Token 处理
|
|
38
|
+
|
|
39
|
+
| URL 格式 | 示例 | Token 类型 | 处理方式 |
|
|
40
|
+
|----------|---------------------------------------------------------|-----------|----------|
|
|
41
|
+
| `/docx/` | `https://example.larksuite.com/docx/doxcnxxxxxxxxx` | `file_token` | URL 路径中的 token 直接作为 `file_token` 使用 |
|
|
42
|
+
| `/doc/` | `https://example.larksuite.com/doc/doccnxxxxxxxxx` | `file_token` | URL 路径中的 token 直接作为 `file_token` 使用 |
|
|
43
|
+
| `/wiki/` | `https://example.larksuite.com/wiki/wikcnxxxxxxxxx` | `wiki_token` | ⚠️ **不能直接使用**,需要先查询获取真实的 `obj_token` |
|
|
44
|
+
| `/sheets/` | `https://example.larksuite.com/sheets/shtcnxxxxxxxxx` | `file_token` | URL 路径中的 token 直接作为 `file_token` 使用 |
|
|
45
|
+
| `/drive/folder/` | `https://example.larksuite.com/drive/folder/fldcnxxxx` | `folder_token` | URL 路径中的 token 作为文件夹 token 使用 |
|
|
46
|
+
|
|
47
|
+
### Wiki 链接特殊处理(关键!)
|
|
48
|
+
|
|
49
|
+
知识库链接(`/wiki/TOKEN`)背后可能是云文档、电子表格、多维表格等不同类型的文档。**不能直接假设 URL 中的 token 就是 file_token**,必须先查询实际类型和真实 token。
|
|
50
|
+
|
|
51
|
+
#### 处理流程
|
|
52
|
+
|
|
53
|
+
1. **使用 `wiki.spaces.get_node` 查询节点信息**
|
|
54
|
+
```bash
|
|
55
|
+
lark-cli wiki spaces get_node --params '{"token":"wiki_token"}'
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
2. **从返回结果中提取关键信息**
|
|
59
|
+
- `node.obj_type`:文档类型(docx/doc/sheet/bitable/slides/file/mindnote)
|
|
60
|
+
- `node.obj_token`:**真实的文档 token**(用于后续操作)
|
|
61
|
+
- `node.title`:文档标题
|
|
62
|
+
|
|
63
|
+
3. **根据 `obj_type` 使用对应的 API**
|
|
64
|
+
|
|
65
|
+
| obj_type | 说明 | 使用的 API |
|
|
66
|
+
|----------|------|-----------|
|
|
67
|
+
| `docx` | 新版云文档 | `drive file.comments.*`、`docx.*` |
|
|
68
|
+
| `doc` | 旧版云文档 | `drive file.comments.*` |
|
|
69
|
+
| `sheet` | 电子表格 | `sheets.*` |
|
|
70
|
+
| `bitable` | 多维表格 | `bitable.*` |
|
|
71
|
+
| `slides` | 幻灯片 | `drive.*` |
|
|
72
|
+
| `file` | 文件 | `drive.*` |
|
|
73
|
+
| `mindnote` | 思维导图 | `drive.*` |
|
|
74
|
+
|
|
75
|
+
#### 查询示例
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# 查询 wiki 节点
|
|
79
|
+
lark-cli wiki spaces get_node --params '{"token":"wiki_token"}'
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
返回结果示例:
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"node": {
|
|
86
|
+
"obj_type": "docx",
|
|
87
|
+
"obj_token": "xxxx",
|
|
88
|
+
"title": "标题",
|
|
89
|
+
"node_type": "origin",
|
|
90
|
+
"space_id": "12345678910"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 资源关系
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Wiki Space (知识空间)
|
|
99
|
+
└── Wiki Node (知识库节点)
|
|
100
|
+
├── obj_type: docx (新版文档)
|
|
101
|
+
│ └── obj_token (真实文档 token)
|
|
102
|
+
├── obj_type: doc (旧版文档)
|
|
103
|
+
│ └── obj_token (真实文档 token)
|
|
104
|
+
├── obj_type: sheet (电子表格)
|
|
105
|
+
│ └── obj_token (真实文档 token)
|
|
106
|
+
├── obj_type: bitable (多维表格)
|
|
107
|
+
│ └── obj_token (真实文档 token)
|
|
108
|
+
└── obj_type: file/slides/mindnote
|
|
109
|
+
└── obj_token (真实文档 token)
|
|
110
|
+
|
|
111
|
+
Drive Folder (云空间文件夹)
|
|
112
|
+
└── File (文件/文档)
|
|
113
|
+
└── file_token (直接使用)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 常见操作 Token 需求
|
|
117
|
+
|
|
118
|
+
| 操作 | 需要的 Token | 说明 |
|
|
119
|
+
|------|-------------|------|
|
|
120
|
+
| 读取文档内容 | `file_token` / 通过 `docs +fetch --api-version v2` 自动处理 | `docs +fetch --api-version v2` 支持直接传入 URL |
|
|
121
|
+
| 添加局部评论(划词评论) | `file_token` | 传 `--block-id` 时,`drive +add-comment` 会创建局部评论;`docx` 支持文本定位或 block_id,`slides` 仅支持 block_id,且都支持最终解析到对应类型的 wiki URL |
|
|
122
|
+
| 添加全文评论 | `file_token` | 不传 `--block-id` 时,`drive +add-comment` 默认创建全文评论;支持 `docx`、旧版 `doc` URL,以及最终解析为 `doc`/`docx` 的 wiki URL |
|
|
123
|
+
| 下载文件 | `file_token` | 从文件 URL 中直接提取 |
|
|
124
|
+
| 上传文件 | `folder_token` / `wiki_node_token` | 目标位置的 token |
|
|
125
|
+
| 列出文档评论 | `file_token` | 同添加评论 |
|
|
126
|
+
|
|
127
|
+
### 评论能力边界(关键!)
|
|
128
|
+
|
|
129
|
+
- `drive +add-comment` 支持两种模式。
|
|
130
|
+
- 全文评论:未传 `--block-id` 时默认启用,也可显式传 `--full-comment`;支持 `docx`、旧版 `doc` URL,以及最终解析为 `doc`/`docx` 的 wiki URL。
|
|
131
|
+
- 局部评论:传 `--block-id` 时启用;仅支持 `docx`,以及最终解析为 `docx` 的 wiki URL。block ID 可通过 `docs +fetch --api-version v2 --detail with-ids` 获取。
|
|
132
|
+
- `drive +add-comment` 的 `--content` 需要传 `reply_elements` JSON 数组字符串,例如 `--content '[{"type":"text","text":"正文"}]'`。
|
|
133
|
+
- `slides` 评论要求显式传 `--block-id <slide-block-type>!<xml-id>`;CLI 会将其拆分后写入 `anchor.block_id` 和 `anchor.slide_block_type`。其中 `<xml-id>` 是 PPT XML 协议中的元素 `id`;不支持 `--selection-with-ellipsis` 和 `--full-comment`。
|
|
134
|
+
|
|
135
|
+
- 评论写入内容(添加评论、回复评论、编辑回复)里的文本不能直接出现 `<`、`>`;提交前必须先转义:`<` -> `<`,`>` -> `>`。
|
|
136
|
+
- 使用 `drive +add-comment` 时,shortcut 会对 `type=text` 的文本元素自动做上述转义兜底;如果直接调用 `drive file.comments create_v2`、`drive file.comment.replys create`、`drive file.comment.replys update`,则需要在请求里自行传入已转义的内容。
|
|
137
|
+
- 如果 wiki 解析后不是 `doc`/`docx`/`sheet`/`slides`,不要用 `+add-comment`。
|
|
138
|
+
- 如果需要更底层地直接调用评论 V2 协议,再走原生 API:先执行 `lark-cli schema drive.file.comments.create_v2`,再执行 `lark-cli drive file.comments create_v2 ...`。全文评论省略 `anchor`,局部评论传 `anchor.block_id`。
|
|
139
|
+
|
|
140
|
+
### 评论查询与统计口径(关键!)
|
|
141
|
+
|
|
142
|
+
**强制规则**:`drive file.comments list` 默认必须传 `is_solved:false`,即仅查询未解决评论。即使用户说“所有评论”“全部评论”“把评论都列出来”,只要没有明确提到要包含已解决评论,仍然按默认口径查询未解决评论。仅当用户明确要求包含已解决评论时,才可省略 `is_solved` 参数。
|
|
143
|
+
|
|
144
|
+
**正确示例:**
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# 默认查询:仅未解决评论(推荐)
|
|
148
|
+
lark-cli drive file.comments list --params '{"file_token": "xxx", "file_type": "docx", "is_solved": false}'
|
|
149
|
+
|
|
150
|
+
# 查询所有评论(用户未明确要求包含已解决评论)
|
|
151
|
+
lark-cli drive file.comments list --params '{"file_token": "xxx", "file_type": "docx", "is_solved": false}'
|
|
152
|
+
|
|
153
|
+
# 包含已解决评论(需用户明确要求)
|
|
154
|
+
lark-cli drive file.comments list --params '{"file_token": "xxx", "file_type": "docx"}'
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**错误示例:**
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# 不推荐:用户未明确要求但查询所有评论
|
|
161
|
+
lark-cli drive file.comments list --params '{"file_token": "xxx", "file_type": "docx"}'
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
- 查询文档评论时,使用 `drive file.comments list`。
|
|
165
|
+
- `drive file.comments list` 返回的 `items` 应理解为"评论卡片"列表,每个 `item` 对应用户界面里看到的一张评论卡片,而不是平铺的互动消息列表。
|
|
166
|
+
- 服务端语义上,创建第一条评论时会同时创建该卡片里的第一条 reply;因此真正承载正文的是每个 `item.reply_list.replies`,其中第一条 reply 在用户视角下就是这张卡片里的"评论本身"。
|
|
167
|
+
- 当用户要统计"评论数"或"评论卡片数"时,统计 `items` 的长度即可;如果是全量统计,则对所有评论分页返回的 `items` 长度累加。
|
|
168
|
+
- 当用户要统计"回复数"时,按用户视角应排除每张评论卡片里的首条评论,统计口径是所有 `item.reply_list.replies` 的长度之和减去 `items` 的长度。
|
|
169
|
+
- 当用户要统计"总互动数"时,统计所有 `item.reply_list.replies` 的长度之和即可;这个口径包含每张评论卡片里的首条评论。
|
|
170
|
+
- 如果某个 `item.has_more=true`,说明该评论卡片下还有更多回复未包含在当前返回中;此时需要继续调用 `drive file.comment.replys list` 拉全后,再做全量回复数 / 总互动数统计。
|
|
171
|
+
|
|
172
|
+
### 评论业务特性与引导(关键!)
|
|
173
|
+
|
|
174
|
+
#### 评论排序引导
|
|
175
|
+
- 一个文档通常有多个评论,评论按 `create_time`(创建时间)排序。
|
|
176
|
+
- **重要**:只有当用户明确提到"最新评论"、"最后评论"、"最早评论"时,才需要根据 `create_time` 进行排序:
|
|
177
|
+
- **必须先获取所有评论(处理分页拉完所有数据)**,不能只获取一页就排序
|
|
178
|
+
- "最新评论" / "最后评论":按 `create_time` 降序排列,取第一条
|
|
179
|
+
- "最早评论":按 `create_time` 升序排列,取第一条
|
|
180
|
+
- 如果用户只说"第一条评论",直接使用 `drive file.comments list` 返回的第一条即可,不需要额外排序。
|
|
181
|
+
|
|
182
|
+
#### 评论回复限制
|
|
183
|
+
- **添加评论回复前先检查是否存在以下限制**
|
|
184
|
+
- **全文评论不支持回复**:`is_whole=true` 的评论(全文评论)无法添加回复,遇到此类评论应提示用户"全文评论不支持回复"。
|
|
185
|
+
- **已解决评论不支持回复**:`is_solved=true` 的评论无法添加回复,遇到此类评论应提示用户"该评论已被解决,无法回复"。
|
|
186
|
+
- **注意**:当用户要回复某条评论但该评论因上述限制不能回复时,只提示不能回复即可,**不要自动帮用户找其他可以回复的评论**,避免不符合用户预期。
|
|
187
|
+
|
|
188
|
+
#### 批量查询与列表查询的选择
|
|
189
|
+
- 使用 `drive file.comments batch_query` 是**已知评论 ID 后**的批量查询,需要传入具体的评论 ID 列表。
|
|
190
|
+
- 使用 `drive file.comments list` 用于分页获取评论列表,适合统计评论总数、遍历所有评论,或获取"最新/最后 N 条评论"等场景。
|
|
191
|
+
|
|
192
|
+
#### Reaction / 表情场景
|
|
193
|
+
- 遇到评论 / 回复上的 reaction(表情、各表情数量、谁点了什么、添加/删除表情)相关问题时,**先阅读 [lark-drive-reactions.md](../../skills/lark-drive/references/lark-drive-reactions.md) 了解如何使用**。
|
|
194
|
+
|
|
195
|
+
### 典型错误与解决方案
|
|
196
|
+
|
|
197
|
+
| 错误信息 | 原因 | 解决方案 |
|
|
198
|
+
|----------|------|----------|
|
|
199
|
+
| `not exist` | 使用了错误的 token | 检查 token 类型,wiki 链接必须先查询获取 `obj_token` |
|
|
200
|
+
| `permission denied` | 没有相关操作权限 | 引导用户检查当前身份对文档/文件是否有相应操作权限;如果需要,可以授予相应权限 |
|
|
201
|
+
| `invalid file_type` | file_type 参数错误 | 根据 `obj_type` 传入正确的 file_type(docx/doc/sheet/slides) |
|
|
202
|
+
|
|
203
|
+
#### `permission.public.patch` 错误码引导
|
|
204
|
+
|
|
205
|
+
调用 `lark-cli drive permission.public patch` 更新文档公开权限失败时,如果返回以下错误码,按表格给用户明确下一步。不要把这些错误简单归类为缺少 scope;它们通常表示租户、对外分享或文档密级策略拦截。
|
|
206
|
+
|
|
207
|
+
| 错误码 | 含义 | 给用户的引导 |
|
|
208
|
+
|--------|------------------------|--------------|
|
|
209
|
+
| `91009` | 对外分享被租户安全策略管控,当前用户无法开启 | 提示用户:对外分享能力被租户安全策略统一管控,无法通过 API 或当前用户直接开启;需要联系租户管理员调整组织级对外分享策略。 |
|
|
210
|
+
| `91010` | 文档对外分享未打开 | 提示用户:当前文档尚未打开对外分享,请先在文档权限设置中打开对外分享,再重试 `permission.public.patch`。 |
|
|
211
|
+
| `91011` | 对外分享被文档密级管控 | 提示用户:对外分享被密级策略拦截,需要打开目标文档,在文档内发起密级豁免或进行密级降级后再重试;回复中必须给出目标文档 URL。 |
|
|
212
|
+
| `91012` | 权限设置被文档密级管控 | 提示用户:该权限设置被密级策略拦截,需要打开目标文档,在文档内发起密级豁免或进行密级降级后再重试;回复中必须给出目标文档 URL。 |
|
|
213
|
+
|
|
214
|
+
当用户最初提供的是文档 URL,遇到 `91011` 或 `91012` 时直接把该 URL 原样返回给用户作为操作入口;如果上下文只有 token,需要先尽量通过已有上下文、搜索结果或元数据恢复目标文档 URL,再给出可点击的文档 URL。
|
|
215
|
+
|
|
216
|
+
### 授权当前应用访问文档
|
|
217
|
+
|
|
218
|
+
当需要将文档权限授予**当前应用(bot)自身**时,先通过 bot info 接口获取应用的 open_id,再调用权限接口授权:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# 1. 获取当前应用的 open_id
|
|
222
|
+
lark-cli api GET /open-apis/bot/v3/info --as bot
|
|
223
|
+
# 从返回值中取 bot.open_id
|
|
224
|
+
|
|
225
|
+
# 2. 授权当前应用访问文档
|
|
226
|
+
lark-cli drive permission.members create \
|
|
227
|
+
--params '{"token":"<doc_token>","type":"<resource_type>"}' \
|
|
228
|
+
--data '{"member_type":"openid","member_id":"<bot_open_id>","perm":"view","type":"user"}'
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
> **注意**:此方式仅适用于需要授权给**当前应用**的场景。授权给其他用户时,直接使用对方的 open_id 即可,无需调用 bot info 接口。
|
|
232
|
+
|
|
233
|
+
`<resource_type>` 可选值:`doc`、`docx`、`sheet`、`bitable`、`file`、`folder`、`wiki`、`slides`。
|
|
234
|
+
|
|
235
|
+
## Shortcuts(推荐优先使用)
|
|
236
|
+
|
|
237
|
+
Shortcut 是对常用操作的高级封装(`lark-cli drive +<verb> [flags]`)。有 Shortcut 的操作优先使用。
|
|
238
|
+
|
|
239
|
+
| Shortcut | 说明 |
|
|
240
|
+
|----------|------|
|
|
241
|
+
| [`+search`](references/lark-drive-search.md) | Search Lark docs, Wiki, and spreadsheet files with flat filter flags (preferred over `docs +search`). Natural-language-friendly: `--edited-since`, `--mine`, `--doc-types`, etc. |
|
|
242
|
+
| [`+upload`](references/lark-drive-upload.md) | Upload a local file to a Drive folder or wiki node |
|
|
243
|
+
| [`+create-folder`](references/lark-drive-create-folder.md) | Create a Drive folder, optionally under a parent folder, with bot auto-grant support |
|
|
244
|
+
| [`+download`](references/lark-drive-download.md) | Download a file from Drive to local |
|
|
245
|
+
| [`+status`](references/lark-drive-status.md) | Compare a local directory with a Drive folder by exact SHA-256 hash by default, or use `--quick` for a best-effort modified-time diff that skips remote downloads; reports `new_local` / `new_remote` / `modified` / `unchanged` plus `detection=exact` or `detection=quick`. Duplicate remote `rel_path` conflicts fail fast with `error.type=duplicate_remote_path` and list every conflicting entry; do not proceed as if one was chosen. `--local-dir` 必须是 cwd 内的相对路径,越界路径 CLI 会直接拒绝;目标在 cwd 外时引导用户切换 agent 工作目录,不要私自 `cd` 绕过。 |
|
|
246
|
+
| [`+pull`](references/lark-drive-pull.md) | File-level Drive → local mirror. Duplicate remote `rel_path` conflicts fail by default; for duplicate files, `rename` downloads all copies with stable hashed suffixes, while `newest` / `oldest` pick one. `--if-exists` supports `overwrite` / `smart` / `skip` (`smart` is a best-effort modified-time incremental mode for repeat syncs). `--delete-local` requires `--yes`, only removes regular files, and is skipped after item failures. `--local-dir` must stay inside cwd. |
|
|
247
|
+
| [`+create-shortcut`](references/lark-drive-create-shortcut.md) | Create a shortcut to an existing Drive file in another folder |
|
|
248
|
+
| [`+add-comment`](references/lark-drive-add-comment.md) | Add a comment to doc/docx/sheet/slides, also supports wiki URL resolving to doc/docx/sheet/slides |
|
|
249
|
+
| [`+export`](references/lark-drive-export.md) | Export a doc/docx/sheet/bitable to a local file with limited polling; supports `--file-name` for local naming |
|
|
250
|
+
| [`+export-download`](references/lark-drive-export-download.md) | Download an exported file by file_token |
|
|
251
|
+
| [`+import`](references/lark-drive-import.md) | Import a local file to Drive as a cloud document (docx, sheet, bitable) |
|
|
252
|
+
| [`+move`](references/lark-drive-move.md) | Move a file or folder to another location in Drive |
|
|
253
|
+
| [`+delete`](references/lark-drive-delete.md) | Delete a Drive file or folder with limited polling for folder deletes |
|
|
254
|
+
| [`+push`](references/lark-drive-push.md) | File-level local → Drive mirror. Duplicate remote `rel_path` conflicts fail by default; `newest` / `oldest` only apply to duplicate files when you explicitly want to target one remote file. `--if-exists` supports `skip` / `smart` / `overwrite` (`smart` skips files whose remote `modified_time` is already up to date, but falls through to the same overwrite path when the remote is older, so it inherits overwrite's rollout caveat). `--delete-remote` requires `--yes`. `--local-dir` must stay inside cwd. |
|
|
255
|
+
| [`+task_result`](references/lark-drive-task-result.md) | Poll async task result for import, export, move, or delete operations |
|
|
256
|
+
| [`+apply-permission`](references/lark-drive-apply-permission.md) | Apply to the document owner for view/edit access (user-only; 5/day per document) |
|
|
257
|
+
|
|
258
|
+
## API Resources
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
lark-cli schema drive.<resource>.<method> # 调用 API 前必须先查看参数结构
|
|
262
|
+
lark-cli drive <resource> <method> [flags] # 调用 API
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
> **重要**:使用原生 API 时,必须先运行 `schema` 查看 `--data` / `--params` 参数结构,不要猜测字段格式。
|
|
266
|
+
|
|
267
|
+
### files
|
|
268
|
+
|
|
269
|
+
- `copy` — 复制文件
|
|
270
|
+
- `create_folder` — 新建文件夹
|
|
271
|
+
- `list` — 获取文件夹下的清单
|
|
272
|
+
- `patch` — 修改文件标题
|
|
273
|
+
|
|
274
|
+
### file.comments
|
|
275
|
+
|
|
276
|
+
- `batch_query` — 批量获取评论
|
|
277
|
+
- `create_v2` — 添加全文/局部(划词)评论
|
|
278
|
+
- `list` — 分页获取文档评论
|
|
279
|
+
- `patch` — 解决/恢复 评论
|
|
280
|
+
|
|
281
|
+
### file.comment.replys
|
|
282
|
+
|
|
283
|
+
- `create` — 添加回复
|
|
284
|
+
- `delete` — 删除回复
|
|
285
|
+
- `list` — 获取回复
|
|
286
|
+
- `update` — 更新回复
|
|
287
|
+
|
|
288
|
+
### permission.members
|
|
289
|
+
|
|
290
|
+
- `auth` —
|
|
291
|
+
- `create` — 增加协作者权限
|
|
292
|
+
- `transfer_owner` —
|
|
293
|
+
|
|
294
|
+
### metas
|
|
295
|
+
|
|
296
|
+
- `batch_query` — 获取文档元数据
|
|
297
|
+
|
|
298
|
+
### user
|
|
299
|
+
|
|
300
|
+
- `remove_subscription` — 取消订阅用户、应用维度事件
|
|
301
|
+
- `subscription` — 订阅用户、应用维度事件(本次开放评论添加事件)
|
|
302
|
+
- `subscription_status` — 查询用户、应用对指定事件的订阅状态
|
|
303
|
+
|
|
304
|
+
### file.statistics
|
|
305
|
+
|
|
306
|
+
- `get` — 获取文件统计信息
|
|
307
|
+
|
|
308
|
+
### file.view_records
|
|
309
|
+
|
|
310
|
+
- `list` — 获取文档的访问者记录
|
|
311
|
+
|
|
312
|
+
### file.comment.reply.reactions
|
|
313
|
+
|
|
314
|
+
- `update_reaction` — 添加/删除 reaction
|
|
315
|
+
|
|
316
|
+
## 权限表
|
|
317
|
+
|
|
318
|
+
| 方法 | 所需 scope |
|
|
319
|
+
|------------------------------------------------|-----------------------------------|
|
|
320
|
+
| `files.copy` | `docs:document:copy` |
|
|
321
|
+
| `files.create_folder` | `space:folder:create` |
|
|
322
|
+
| `files.list` | `space:document:retrieve` |
|
|
323
|
+
| `files.patch` | `docx:document:write_only` |
|
|
324
|
+
| `file.comments.batch_query` | `docs:document.comment:read` |
|
|
325
|
+
| `file.comments.create_v2` | `docs:document.comment:create` |
|
|
326
|
+
| `file.comments.list` | `docs:document.comment:read` |
|
|
327
|
+
| `file.comments.patch` | `docs:document.comment:update` |
|
|
328
|
+
| `file.comment.replys.create` | `docs:document.comment:create` |
|
|
329
|
+
| `file.comment.replys.delete` | `docs:document.comment:delete` |
|
|
330
|
+
| `file.comment.replys.list` | `docs:document.comment:read` |
|
|
331
|
+
| `file.comment.replys.update` | `docs:document.comment:update` |
|
|
332
|
+
| `permission.members.auth` | `docs:permission.member:auth` |
|
|
333
|
+
| `permission.members.create` | `docs:permission.member:create` |
|
|
334
|
+
| `permission.members.transfer_owner` | `docs:permission.member:transfer` |
|
|
335
|
+
| `permission.public.get` | `docs:permission.setting:read` |
|
|
336
|
+
| `permission.public.patch` | `docs:permission.setting:write_only` |
|
|
337
|
+
| `metas.batch_query` | `drive:drive.metadata:readonly` |
|
|
338
|
+
| `user.remove_subscription` | `docs:event:subscribe` |
|
|
339
|
+
| `user.subscription` | `docs:event:subscribe` |
|
|
340
|
+
| `user.subscription_status` | `docs:event:subscribe` |
|
|
341
|
+
| `file.statistics.get` | `drive:drive.metadata:readonly` |
|
|
342
|
+
| `file.view_records.list` | `drive:file:view_record:readonly` |
|
|
343
|
+
| `file.comment.reply.reactions.update_reaction` | `docs:document.comment:create` |
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
|
|
2
|
+
# drive +add-comment
|
|
3
|
+
|
|
4
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
5
|
+
|
|
6
|
+
给文档、电子表格或飞书幻灯片添加评论。底层统一走 `/open-apis/drive/v1/files/:file_token/new_comments`(`create_v2`)接口;未指定位置时省略 `anchor` 创建全文评论,指定 `--block-id` 时传入 `anchor.block_id` 创建局部评论。支持直接传 docx URL/token、旧版 doc URL(仅全文评论)、sheet URL、slides URL,也支持传最终可解析为 doc/docx/sheet/slides 的 wiki URL。
|
|
7
|
+
|
|
8
|
+
## 命令
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# 默认:未指定位置时添加全文评论
|
|
12
|
+
lark-cli drive +add-comment \
|
|
13
|
+
--doc "https://example.larksuite.com/docx/<DOC_ID>" \
|
|
14
|
+
--content '[{"type":"text","text":"请补充发布说明"}]'
|
|
15
|
+
|
|
16
|
+
# 也可以显式指定为全文评论;旧版 doc URL 仅支持全文评论
|
|
17
|
+
lark-cli drive +add-comment \
|
|
18
|
+
--doc "https://example.larksuite.com/doc/<DOC_ID>" \
|
|
19
|
+
--full-comment \
|
|
20
|
+
--content '[{"type":"text","text":"请补充旧版文档的背景信息"}]'
|
|
21
|
+
|
|
22
|
+
# wiki 链接也可以,shortcut 会先解析到真实 doc/docx token
|
|
23
|
+
lark-cli drive +add-comment \
|
|
24
|
+
--doc "https://example.larksuite.com/wiki/<WIKI_TOKEN>" \
|
|
25
|
+
--content '[{"type":"text","text":"这里需要一段全文评论"}]'
|
|
26
|
+
|
|
27
|
+
# 给 docx 文档的指定 block 添加局部评论(block_id 可通过 docs +fetch --api-version v2 --detail with-ids 获取)
|
|
28
|
+
lark-cli drive +add-comment \
|
|
29
|
+
--doc "https://example.larksuite.com/docx/<DOC_ID>" \
|
|
30
|
+
--block-id "<BLOCK_ID>" \
|
|
31
|
+
--content '[{"type":"text","text":"请补充流程说明"}]'
|
|
32
|
+
|
|
33
|
+
# wiki 链接也支持局部评论,但解析结果必须是 docx
|
|
34
|
+
lark-cli drive +add-comment \
|
|
35
|
+
--doc "https://example.larksuite.com/wiki/<WIKI_TOKEN>" \
|
|
36
|
+
--block-id "<BLOCK_ID>" \
|
|
37
|
+
--content '[{"type":"text","text":"请补充更细的开发步骤"}]'
|
|
38
|
+
|
|
39
|
+
# 组合文本、@用户、链接元素
|
|
40
|
+
lark-cli drive +add-comment \
|
|
41
|
+
--doc "https://example.larksuite.com/docx/<DOC_ID>" \
|
|
42
|
+
--block-id "<BLOCK_ID>" \
|
|
43
|
+
--content '[{"type":"text","text":"请 "},{"type":"mention_user","text":"ou_xxx"},{"type":"text","text":" 处理,参考 "},{"type":"link","text":"https://example.com"}]'
|
|
44
|
+
|
|
45
|
+
# 给电子表格单元格添加评论(--block-id 格式为 <sheetId>!<cell>)
|
|
46
|
+
lark-cli drive +add-comment \
|
|
47
|
+
--doc "https://example.larksuite.com/sheets/<SHEET_TOKEN>" \
|
|
48
|
+
--block-id "<SHEET_ID>!D6" \
|
|
49
|
+
--content '[{"type":"text","text":"请检查此单元格数据"}]'
|
|
50
|
+
|
|
51
|
+
# wiki 链接指向的 sheet 也支持
|
|
52
|
+
lark-cli drive +add-comment \
|
|
53
|
+
--doc "https://example.larksuite.com/wiki/<WIKI_TOKEN>" \
|
|
54
|
+
--block-id "<SHEET_ID>!A1" \
|
|
55
|
+
--content '[{"type":"text","text":"请 "},{"type":"mention_user","text":"ou_xxx"},{"type":"text","text":" 确认"}]'
|
|
56
|
+
|
|
57
|
+
# 给幻灯片元素添加评论(--block-id 格式为 <slide-block-type>!<xml-id>)
|
|
58
|
+
lark-cli drive +add-comment \
|
|
59
|
+
--doc "https://example.larksuite.com/slides/<PRESENTATION_ID>" \
|
|
60
|
+
--block-id "<SLIDE_BLOCK_TYPE>!<XML_ELEMENT_ID>" \
|
|
61
|
+
--content '[{"type":"text","text":"请调整这个元素的位置"}]'
|
|
62
|
+
|
|
63
|
+
# 例如:给整页 slide 添加评论
|
|
64
|
+
# <slide id="pkk"> ... </slide> => --block-id slide!pkk
|
|
65
|
+
lark-cli drive +add-comment \
|
|
66
|
+
--doc "https://example.larksuite.com/slides/<PRESENTATION_ID>" \
|
|
67
|
+
--block-id "slide!pkk" \
|
|
68
|
+
--content '[{"type":"text","text":"这一页需要补充过渡说明"}]'
|
|
69
|
+
|
|
70
|
+
# 例如:给图片元素添加评论
|
|
71
|
+
# <img id="bPk" ... /> => --block-id img!bPk
|
|
72
|
+
lark-cli drive +add-comment \
|
|
73
|
+
--doc "https://example.larksuite.com/slides/<PRESENTATION_ID>" \
|
|
74
|
+
--block-id "img!bPk" \
|
|
75
|
+
--content '[{"type":"text","text":"这张图片建议换成更清晰的版本"}]'
|
|
76
|
+
|
|
77
|
+
# 例如:给文本 shape 添加评论
|
|
78
|
+
# <shape type="text" id="bPq"> ... </shape> => --block-id shape!bPq
|
|
79
|
+
lark-cli drive +add-comment \
|
|
80
|
+
--doc "https://example.larksuite.com/slides/<PRESENTATION_ID>" \
|
|
81
|
+
--block-id "shape!bPq" \
|
|
82
|
+
--content '[{"type":"text","text":"这段文案可以再精简"}]'
|
|
83
|
+
|
|
84
|
+
# wiki 链接指向的 slides 也支持
|
|
85
|
+
lark-cli drive +add-comment \
|
|
86
|
+
--doc "https://example.larksuite.com/wiki/<WIKI_TOKEN>" \
|
|
87
|
+
--block-id "<SLIDE_BLOCK_TYPE>!<XML_ELEMENT_ID>" \
|
|
88
|
+
--content '[{"type":"text","text":"这里需要补充说明"}]'
|
|
89
|
+
|
|
90
|
+
# 传裸 token 时需要 --type 指定文档类型
|
|
91
|
+
lark-cli drive +add-comment \
|
|
92
|
+
--doc "<SHEET_TOKEN>" --type sheet \
|
|
93
|
+
--block-id "<SHEET_ID>!D6" \
|
|
94
|
+
--content '[{"type":"text","text":"请检查"}]'
|
|
95
|
+
|
|
96
|
+
lark-cli drive +add-comment \
|
|
97
|
+
--doc "<DOCX_TOKEN>" --type docx \
|
|
98
|
+
--content '[{"type":"text","text":"全文评论"}]'
|
|
99
|
+
|
|
100
|
+
# 裸 token + 已知 block_id 的局部评论
|
|
101
|
+
lark-cli drive +add-comment \
|
|
102
|
+
--doc "<PRESENTATION_ID>" --type slides \
|
|
103
|
+
--block-id "<SLIDE_BLOCK_TYPE>!<XML_ELEMENT_ID>" \
|
|
104
|
+
--content '[{"type":"text","text":"slide block comment"}]'
|
|
105
|
+
|
|
106
|
+
# 裸 token + 已知 block_id 的局部评论
|
|
107
|
+
lark-cli drive +add-comment \
|
|
108
|
+
--doc "<DOCX_TOKEN>" --type docx \
|
|
109
|
+
--block-id "<BLOCK_ID>" \
|
|
110
|
+
--content '[{"type":"text","text":"请 "},{"type":"mention_user","text":"ou_xxx"},{"type":"text","text":" 处理,参考 "},{"type":"link","text":"https://example.com"}]'
|
|
111
|
+
|
|
112
|
+
# 如果需要更底层的原生 API,也可以直接调用 V2 协议
|
|
113
|
+
lark-cli schema drive.file.comments.create_v2
|
|
114
|
+
|
|
115
|
+
lark-cli drive file.comments create_v2 \
|
|
116
|
+
--params '{"file_token":"<DOC_TOKEN>"}' \
|
|
117
|
+
--data '{"file_type":"docx","reply_elements":[{"type":"text","text":"全文评论内容"}]}'
|
|
118
|
+
|
|
119
|
+
# 预览底层调用链
|
|
120
|
+
lark-cli drive +add-comment \
|
|
121
|
+
--doc "https://example.larksuite.com/docx/<DOC_ID>" \
|
|
122
|
+
--block-id "<BLOCK_ID>" \
|
|
123
|
+
--content '[{"type":"text","text":"请补充流程说明"}]' \
|
|
124
|
+
--dry-run
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 参数
|
|
128
|
+
|
|
129
|
+
| 参数 | 必填 | 说明 |
|
|
130
|
+
|------|------|------|
|
|
131
|
+
| `--doc` | 是 | 文档 URL / token、sheet / slides URL,或可解析到 `doc`/`docx`/`sheet`/`slides` 的 wiki URL |
|
|
132
|
+
| `--type` | 裸 token 时必填 | 文档类型:`doc`、`docx`、`sheet`、`slides`。URL 输入时自动识别,无需传 |
|
|
133
|
+
| `--content` | 是 | `reply_elements` JSON 数组字符串。示例:`'[{"type":"text","text":"文本"},{"type":"mention_user","text":"ou_xxx"},{"type":"link","text":"https://example.com"}]'` |
|
|
134
|
+
| `--full-comment` | 否 | 显式指定创建全文评论;未传 `--block-id` 时也会默认走全文评论(不适用于 sheet) |
|
|
135
|
+
| `--block-id` | 局部评论时必填 | 目标块 ID,可通过 `docs +fetch --api-version v2 --detail with-ids` 获取。**Sheet 评论**:格式为 `<sheetId>!<cell>`(如 `a281f9!D6`) |
|
|
136
|
+
|
|
137
|
+
## 行为说明
|
|
138
|
+
|
|
139
|
+
- **局部评论需要先获取 block ID**:先调用 `docs +fetch --api-version v2 --doc <TOKEN> --detail with-ids` 获取带有 block ID 的文档内容,然后使用 `--block-id` 指定目标块。
|
|
140
|
+
- 未传 `--block-id` 时,shortcut 默认创建**全文评论**;也可以显式传 `--full-comment`。全文评论支持 `docx`、旧版 `doc` URL,以及最终可解析为 `doc`/`docx` 的 wiki URL。
|
|
141
|
+
- 传 `--block-id` 时,shortcut 创建**局部评论(划词评论)**;该模式支持 `docx`、`slides`,以及最终可解析为这些类型的 wiki URL。
|
|
142
|
+
- **Sheet 评论**:当 `--doc` 为 sheet URL 或 wiki 解析为 sheet 时,使用 `--block-id "<sheetId>!<cell>"` 指定单元格(如 `a281f9!D6`);sheet 没有全文评论,`--full-comment` 不可用。
|
|
143
|
+
- **Slide 评论**:当 `--doc` 为 slides URL、`--type slides`,或 wiki 解析为 slides 时,必须传 `--block-id "<SLIDE_BLOCK_TYPE>!<XML_ELEMENT_ID>"`。CLI 会将其拆分映射到 `anchor.block_id` / `anchor.slide_block_type`。此时 `--full-comment` 和 `--selection-with-ellipsis` 不可用。
|
|
144
|
+
- **Slide 参数映射示例**:`--block-id` 由 PPT XML 元素类型和元素 `id` 组成。例如:
|
|
145
|
+
- `<slide id="pkk">` 对应 `--block-id slide!pkk`,表示给整页评论。
|
|
146
|
+
- `<img id="bPk" ... />` 对应 `--block-id img!bPk`,表示给图片元素评论。
|
|
147
|
+
- `<shape type="text" id="bPq">...</shape>` 对应 `--block-id shape!bPq`,表示给文本 shape 评论。
|
|
148
|
+
|
|
149
|
+
- `--content` 接收结构化评论元素数组;`type` 支持 `text`、`mention_user`、`link`。为便于书写,`mention_user` / `link` 元素可以直接把用户 ID 或链接地址放在 `text` 字段中,shortcut 会转换成 OpenAPI 所需字段。
|
|
150
|
+
- `type=text` 的评论文本不能直接包含 `<`、`>`;应优先传 `<`、`>`。shortcut 在发送前也会自动将 `<`、`>` 转义为 `<`、`>` 作为兜底。
|
|
151
|
+
- **所有 `type=text` 元素的字符总和 ≤ 10000**(按字符算,中英文 / 符号一视同仁)。超过会被 shortcut 在发送前拒绝,并指出累计超长的元素。**拆成多个 text element 不能绕过这个上限**——上限是总额,不是每元素。需要更长内容就缩短或拆成多条评论。
|
|
152
|
+
- 长度限制只对 `type=text` 生效,`mention_user` / `link` 不计入。
|
|
153
|
+
- 局部评论走 `locate-doc` 时,内部固定使用 `limit=10`。
|
|
154
|
+
- 当 `locate-doc` 命中多处时,shortcut 会中止并提示用户继续收窄 `--selection-with-ellipsis`,不支持手动指定匹配序号。
|
|
155
|
+
- 写入评论前会自动生成符合 OpenAPI 定义的请求体:
|
|
156
|
+
- 统一接口:`POST /new_comments`
|
|
157
|
+
- 统一字段:`file_type` + `reply_elements`
|
|
158
|
+
- 全文评论:省略 `anchor`
|
|
159
|
+
- 局部评论:传入 `anchor.block_id`
|
|
160
|
+
- `--dry-run` 仅预览调用链和请求体,不会实际写入。
|
|
161
|
+
- 如果需要更底层的控制,仍可改用 `lark-cli schema drive.file.comments.create_v2` + `lark-cli drive file.comments create_v2`。
|
|
162
|
+
|
|
163
|
+
> [!CAUTION]
|
|
164
|
+
> 这是**写入操作** —— 执行前必须确认用户意图。
|
|
165
|
+
|
|
166
|
+
## 参考
|
|
167
|
+
|
|
168
|
+
- [lark-drive](../SKILL.md) -- 云空间全部命令
|
|
169
|
+
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
|
|
2
|
+
# drive +apply-permission(申请文档权限)
|
|
3
|
+
|
|
4
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
5
|
+
|
|
6
|
+
本 skill 对应 shortcut:`lark-cli drive +apply-permission`。
|
|
7
|
+
|
|
8
|
+
向云文档 **Owner** 发起 `view` 或 `edit` 权限申请。申请会以卡片形式推送给 Owner,由 Owner 决定是否通过。
|
|
9
|
+
|
|
10
|
+
> [!CAUTION]
|
|
11
|
+
> 这是**写入操作** —— 会给 Owner 发推送通知,不要批量或自动化调用。可以先用 `--dry-run` 预览。
|
|
12
|
+
|
|
13
|
+
## 身份要求
|
|
14
|
+
|
|
15
|
+
- **仅支持 `user` 身份**(使用 `user_access_token`),不支持 `bot` / `tenant_access_token`;shortcut 已在 `AuthTypes` 中强制限定为 `user`,使用 bot 会被拒。
|
|
16
|
+
- 所需 scope:`docs:permission.member:apply`(若用户缺权限会走统一的 permission 错误路径)。
|
|
17
|
+
|
|
18
|
+
## 命令
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# 通过 URL 申请(type 自动从 URL 推断)
|
|
22
|
+
lark-cli drive +apply-permission \
|
|
23
|
+
--token "https://example.larksuite.com/docx/doxcnxxxxxxxxx" \
|
|
24
|
+
--perm view \
|
|
25
|
+
--remark "安全评估:需查看需求文档内容" --as user
|
|
26
|
+
|
|
27
|
+
# 通过 bare token + 显式 --type
|
|
28
|
+
lark-cli drive +apply-permission \
|
|
29
|
+
--token "doxcnxxxxxxxxx" --type docx \
|
|
30
|
+
--perm edit --as user
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 参数
|
|
34
|
+
|
|
35
|
+
| 参数 | 必填 | 说明 |
|
|
36
|
+
|------|------|------|
|
|
37
|
+
| `--token` | 是 | 目标文档 token 或完整 URL(`/docx/`、`/sheets/`、`/base/`、`/bitable/`、`/file/`、`/wiki/`、`/doc/`、`/mindnote/`、`/slides/` 路径里的 token 会被自动提取) |
|
|
38
|
+
| `--type` | 否 | 目标类型,可选值 `doc` / `sheet` / `file` / `wiki` / `bitable` / `docx` / `mindnote` / `slides`。传 URL 时可由 shortcut 自动推断;bare token 必须显式传 |
|
|
39
|
+
| `--perm` | 是 | 申请的权限,仅支持 `view` 或 `edit`(**不支持 `full_access`**,CLI 侧会直接拒绝) |
|
|
40
|
+
| `--remark` | 否 | 备注,会显示在权限申请卡片上 |
|
|
41
|
+
| `--dry-run` | 否 | 仅打印请求内容,不实际发送 |
|
|
42
|
+
|
|
43
|
+
## 输出
|
|
44
|
+
|
|
45
|
+
API 成功时返回空 `data`(仅 `code: 0, msg: "success"`),对应 CLI 输出:
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"ok": true,
|
|
50
|
+
"identity": "user",
|
|
51
|
+
"data": {}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 频率限制
|
|
56
|
+
|
|
57
|
+
- **应用级**:每应用每租户每分钟最多 10 次。
|
|
58
|
+
- **用户级**:同一用户对**同一篇文档**一天不超过 5 次。
|
|
59
|
+
|
|
60
|
+
## 常见错误
|
|
61
|
+
|
|
62
|
+
| 错误码 | 含义 | CLI 处理 |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `1063006` | 申请次数已达上限(5 次/日) | CLI 自动加 hint:`permission-apply quota reached: each user may request access on the same document at most 5 times per day` |
|
|
65
|
+
| `1063007` | 当前文档无法申请(如:文档禁用外部申请、申请者已拥有对应权限、目标类型不支持 apply) | CLI 自动加 hint:`this document does not accept a permission-apply request ... contact the owner directly` |
|
|
66
|
+
| `1063002` | 无操作权限(如该租户关闭了外部申请) | 由统一 permission 错误路径处理 |
|
|
67
|
+
| `1063004` | 用户所在组织无分享权限 | 由统一 permission 错误路径处理 |
|
|
68
|
+
| `1063005` | 资源已删除 | 需要确认目标文档/节点是否仍存在 |
|
|
69
|
+
| `1066001/1066002` | 服务端异常 / 并发冲突 | 稍后重试 |
|
|
70
|
+
|
|
71
|
+
## 与 wiki URL 的关系
|
|
72
|
+
|
|
73
|
+
传入 `/wiki/<node_token>` 时,shortcut 会直接用 `node_token` 作为路径参数并以 `type=wiki` 调用接口。如果需要先把 wiki 节点解析成 `obj_token`(例如想显式对底层 docx 申请),自行先调 `wiki spaces get_node` 拿 `obj_token + obj_type`,再用 bare token + `--type docx` 调本命令。
|
|
74
|
+
|
|
75
|
+
## 参考
|
|
76
|
+
|
|
77
|
+
- OpenAPI 端点:`POST /open-apis/drive/v1/permissions/:token/members/apply`
|