@wagemule/daemon 0.1.0 → 0.1.3
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 -2
- package/dist/main.cjs +270 -101
- 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,265 @@
|
|
|
1
|
+
# 预约/改约日程或会议、查询/搜索可用会议室的工作流
|
|
2
|
+
|
|
3
|
+
## CRITICAL 执行摘要(先按这个骨架执行,再看下方细则)
|
|
4
|
+
|
|
5
|
+
- **第一步永远是判断任务类型:新建日程,还是编辑已有日程。** 不要把“预约/查会议室”默认等同于“新建”。
|
|
6
|
+
- **编辑已有日程时,必须先定位目标日程或实例的 `event_id`。** 用户一旦给出了既有日程锚点(标题、时间段、`这个日程`、`这场会`)并表达修改动作(加人、删人、改时间、换会议室等),默认走编辑流。
|
|
7
|
+
- **默认做智能助理,不做表单填写机。** 能根据上下文补全的默认值就直接补全,避免把用户带入表单式问答。
|
|
8
|
+
- **新建流先补默认值,编辑流先继承已定位日程信息。** 默认值包括标题、参会人、时长,以及在“完全无时间信息”时的默认时间范围;编辑流则优先复用已定位日程的标题、时间、已有参与人和会议室信息作为基线。
|
|
9
|
+
- **只有三类场景才主动追问用户**:存在时间冲突、搜索结果无法唯一确定、时间语义本身有歧义。
|
|
10
|
+
- **编辑流的时间基准必须明确。** 如果编辑时不改时间,则后续会议室搜索必须基于已定位日程的原始起止时间;如果既改时间又加会议室,必须先确定最终时间,再基于该时间搜索会议室。
|
|
11
|
+
- **编辑流中“新增会议室”默认是增量语义。** 如果用户说的是“加会议室/再加一个会议室”,最终 `+update` 只做 `add`,默认保留已有会议室;只有在用户明确说“更换会议室/移除会议室”时,才执行旧会议室删除。
|
|
12
|
+
- **明确时间**:若需要会议室,先 `+room-find`;再 `+freebusy` 判断参会人忙闲;有冲突时先说明冲突,再让用户决定继续当前时间还是改走 `+suggestion`。
|
|
13
|
+
- **模糊时间或无时间信息**:先 `+suggestion` 产出候选时间块;若需要会议室,再把这些时间块批量交给 `+room-find`,将“候选时间 + 对应可用会议室”一次性展示给用户选择。
|
|
14
|
+
- **BLOCKING REQUIREMENT: 只要面临时间方案(模糊时间/无时间)或会议室方案(需要会议室)的选择,必须先向用户展示选项并等待用户明确确认,绝对禁止在未获用户确认的情况下直接执行创建新日程或更新既有日程。**
|
|
15
|
+
- **用户选中了 `+suggestion` 返回的候选时间块后,不要再次调用 `+freebusy`。** 用户确认后直接进入最终落地操作:创建新日程,或更新既有日程。
|
|
16
|
+
- **当用户说“查会议室”“找会议室”“搜可用会议室”时,默认意图是查会议室可用性,不是检索会议室资源名录。**
|
|
17
|
+
- **必须按顺序执行。** 不要跳过“任务类型判定”“目标日程定位(编辑流)”“补默认值/继承基线信息”“判断时间明确性”这些前置步骤。
|
|
18
|
+
|
|
19
|
+
> **💡 核心原则:做智能助理,充分利用默认值规则(如默认标题、时长、参与人等)自动补全信息。极力避免像“表单填写机”一样频繁打断并反问用户,仅在必须决策的冲突或无法唯一确定的场景下才发起询问。**
|
|
20
|
+
|
|
21
|
+
## 严禁行为
|
|
22
|
+
|
|
23
|
+
- **严禁在未读取对应子命令文档(如 `lark-calendar-room-find.md`、`lark-calendar-suggestion.md`)的情况下直接调用命令!** 必须先阅读文档掌握最新参数要求与规范。
|
|
24
|
+
- **严禁在尚未判断“新建”还是“编辑”之前,就直接进入创建日程或查会议室动作。**
|
|
25
|
+
- **严禁把“给明天上午的‘产品发布会’加人/加群/加会议室”这类带有既有日程锚点 + 修改动词的请求,当成新建日程。** 这类请求必须先定位目标日程。
|
|
26
|
+
- **严禁在编辑已有日程时跳过目标定位步骤。** 未拿到唯一的 `event_id` 前,不得调用 `+update`、也不得基于猜测时间去查会议室。
|
|
27
|
+
- **严禁在用户仅要求“查会议室”但未提供明确时间时,直接调用 `+room-find`!** 必须先默认一个合理时间范围,调用 `+suggestion` 拿到候选时间块,再将时间块传给 `+room-find`。
|
|
28
|
+
- **不要在用户完全没给时间时,直接反问“你想约什么时候”。** 先补一个合理时间范围,再进入 `+suggestion`。
|
|
29
|
+
- **不要在“需要会议室 + 时间模糊”的场景下,先让用户只选时间。** 应先批量查出每个候选时间对应的可用会议室,再让用户一次性完成选择。
|
|
30
|
+
- **不要在用户已经选中 `+suggestion` 候选时间后,再重复调用 `+freebusy`。**
|
|
31
|
+
- **不要在用户未明确说出城市时,仅凭园区/办公室名自动补城市。**
|
|
32
|
+
- **严禁在面临时间方案或会议室方案的选择时(模糊时间、无时间或需要会议室),未经用户确认就擅自创建新日程或更新既有日程。**
|
|
33
|
+
|
|
34
|
+
## 适用场景
|
|
35
|
+
|
|
36
|
+
- “帮我约个会”
|
|
37
|
+
- “下周找时间和 XX 开会”
|
|
38
|
+
- “帮我订个会议室”
|
|
39
|
+
- “帮我找/搜索一个可用的会议室”
|
|
40
|
+
- “帮我推荐一个我以前常用的会议室”
|
|
41
|
+
- “查询明天下午可用的会议室”
|
|
42
|
+
- “明天下午3点约个日程/日历”
|
|
43
|
+
- “把明天上午的日程‘产品发布会’加上 小明
|
|
44
|
+
- “给下周一的周会换个会议室”
|
|
45
|
+
- “把这个日程改到明天下午,并加上学清 F201”
|
|
46
|
+
|
|
47
|
+
## 核心概念
|
|
48
|
+
|
|
49
|
+
- **会议室是日程的一种参与人(attendee / resource),不能脱离日程单独预定。**
|
|
50
|
+
- **预定或查找会议室,均需先确定时间块。** 在推荐可用会议室后,应顺势引导用户完成最终的**日程落地**操作:创建新日程,或更新既有日程。
|
|
51
|
+
|
|
52
|
+
## CRITICAL 约束
|
|
53
|
+
|
|
54
|
+
- **在调用任何具体的 CLI 子命令(如 `+room-find`、`+suggestion`、`+freebusy`、`+create`)前,必须先读取其对应的 Markdown 文档。** 禁止仅凭记忆组装命令参数,以确保符合各命令最新的业务约束和格式规范。
|
|
55
|
+
- **当用户说“查会议室”“找会议室”“搜可用会议室”等,默认意图是查询会议室可用性,而不是检索会议室资源名录。**
|
|
56
|
+
- **必须严格按照下方【工作流】的步骤顺序完成任务。特别是单独查会议室时,若无明确时间,强制先走“模糊时间/无时间信息”分支调用 `+suggestion`。**
|
|
57
|
+
|
|
58
|
+
## 任务类型判定
|
|
59
|
+
|
|
60
|
+
| 类型 | 典型语言信号 | 第一动作 |
|
|
61
|
+
|------|--------------|----------|
|
|
62
|
+
| 新建日程 | “约个会”“安排一个会议”“新建日程”“帮我订个会议室开会” | 补默认值,再进入时间判断 |
|
|
63
|
+
| 编辑已有日程 | “给某个日程加人/删人/加群/加会议室”“把某个日程改到…”“给这场会换个会议室” | 先定位目标日程 `event_id`,再进入后续流程 |
|
|
64
|
+
|
|
65
|
+
进一步规则:
|
|
66
|
+
|
|
67
|
+
- 只要同时出现**既有日程锚点**(标题、时间段、`这个日程`、`这场会`、某次实例)和**修改动词**(添加、移除、调整、改到、换、延后、提前),默认判定为**编辑已有日程**。
|
|
68
|
+
- 对重复性日程的编辑,必须先定位到对应实例的 `event_id`,不能直接拿原重复日程的 `event_id` 做更新。
|
|
69
|
+
|
|
70
|
+
## 工作流
|
|
71
|
+
|
|
72
|
+
### 1. 编辑已有日程:先定位目标日程
|
|
73
|
+
|
|
74
|
+
一旦判定为编辑流,必须先定位目标日程;没有 `event_id` 就不能继续后续修改动作。
|
|
75
|
+
|
|
76
|
+
定位规则:
|
|
77
|
+
|
|
78
|
+
- 优先利用用户给出的标题、日期、时间范围、`这个日程/这场会` 等锚点,通过 `+agenda`、`events search_event` 或实例视图缩小范围。
|
|
79
|
+
- 如果命中多个候选日程,必须向用户展示候选项并要求确认,禁止自行猜测。
|
|
80
|
+
- 如果是重复性日程的某一次实例,必须继续定位到该次实例的 `event_id`。
|
|
81
|
+
|
|
82
|
+
编辑流分支规则:
|
|
83
|
+
|
|
84
|
+
- **仅增删普通参会人/群组,不改时间,也不涉及会议室**:定位完成后可直接进入最终 `+update`。
|
|
85
|
+
- **新增会议室,但不改时间**:必须基于已定位日程的当前 `start/end` 作为时间块执行 `+room-find`,不能因为用户没重复说时间就退回“无时间信息”。
|
|
86
|
+
- **既改时间,又新增会议室**:必须先处理时间,拿到最终候选时间块后,再基于该时间执行 `+room-find`;最终只增量添加新会议室,不自动删除已有会议室。
|
|
87
|
+
- **既改时间,又更换会议室**:必须先处理时间,拿到最终候选时间块后,再基于该时间执行 `+room-find`;只有在用户明确表达“更换”时,最终才执行“移除旧会议室 + 添加新会议室”。
|
|
88
|
+
- **只改时间,不涉及会议室**:沿用下方时间工作流,但最终落地必须是 `+update`,不是 `+create`。
|
|
89
|
+
|
|
90
|
+
### 2. 新建日程:智能推断默认值
|
|
91
|
+
以下信息智能推断,减少频繁询问用户:
|
|
92
|
+
|
|
93
|
+
- **标题**:根据上下文自动生成,例如“沟通对齐”“需求讨论”;如无法推断,默认为“会议”
|
|
94
|
+
- **参会人**:如未明确指定其他人,默认参会人仅为**用户自己**
|
|
95
|
+
- **时长**:基于会议类型和上下文动态推断;如无法推断,默认为 30 分钟
|
|
96
|
+
- **无任何时间信息**:默认推断一个合理区间(如“今天”或“近两天”),并进入时间推荐流程,禁止询问用户
|
|
97
|
+
|
|
98
|
+
当搜索特定参与人(人、群)出现多个结果无法唯一确定时,必须询问用户进行选择确认,并将该偏好记录为长期记忆,以便后续自动识别。
|
|
99
|
+
|
|
100
|
+
### 3. 判断时间是否明确
|
|
101
|
+
|
|
102
|
+
这一步判断的是**最终要落地的目标时间**,不是只看用户原句里有没有重复说时间。
|
|
103
|
+
|
|
104
|
+
时间基准规则:
|
|
105
|
+
|
|
106
|
+
- **新建流**:使用用户给出的时间,或默认补全出的时间范围作为时间基准。
|
|
107
|
+
- **编辑流且不改时间**:已定位日程的当前 `start/end` 就是时间基准。后续如需查会议室,直接使用这个明确时间块。
|
|
108
|
+
- **编辑流且改时间**:用户想改到的新时间才是时间基准;若表达模糊,则进入 `+suggestion`。
|
|
109
|
+
|
|
110
|
+
分两类处理:
|
|
111
|
+
|
|
112
|
+
- **明确时间**:如“明天下午3点”
|
|
113
|
+
- **模糊时间**:如“明天下午”“下周找个时间”
|
|
114
|
+
|
|
115
|
+
### 4. 明确时间
|
|
116
|
+
|
|
117
|
+
明确时间时,需先判断是否需要会议室,如果需要,提前查询会议室;然后判断是否有时间冲突。这里的“明确时间”既可以来自用户直接表达,也可以来自已定位日程的原始时间。
|
|
118
|
+
详见 [`+room-find`](./lark-calendar-room-find.md) 与 [`+freebusy`](./lark-calendar-freebusy.md)。
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# 1. 如果需要会议室,提前查询会议室
|
|
122
|
+
lark-cli calendar +room-find \
|
|
123
|
+
--slot "<start>~<end>" \
|
|
124
|
+
--attendee-ids "<ids>" \
|
|
125
|
+
--city "<city>" \
|
|
126
|
+
--building "<building>" \
|
|
127
|
+
--floor "<F2>" \
|
|
128
|
+
--room-name "<room_name>"
|
|
129
|
+
|
|
130
|
+
# 2. 查询当前用户及其他参会人忙闲
|
|
131
|
+
# (如果有多名参会人,需分别调用查询:--user-id "<ou_xxx>")
|
|
132
|
+
lark-cli calendar +freebusy --start "<start>" --end "<end>"
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
规则:
|
|
136
|
+
|
|
137
|
+
- **参会人过多或包含群组时的处理**:
|
|
138
|
+
- 如果参与人过多(例如超过 5 人),为避免高耗时,仅需查询**当前用户(自己)**及少数核心人员的忙闲状态即可。
|
|
139
|
+
- 如果参与人中包含**群组**,无需展开群组成员查询其忙闲状态。
|
|
140
|
+
- **编辑已有日程且不改时间,只新增会议室时**:这里的 `--slot` 必须来自已定位日程的当前 `start/end`。
|
|
141
|
+
- **编辑已有日程且既改时间又加会议室时**:这里的 `--slot` 必须来自候选新时间,而不是旧时间;如果用户是“新增会议室”,后续落地只做添加,不删除旧会议室。
|
|
142
|
+
- **如果没有冲突**:直接让用户选择会议室(如需),然后进入最终落地操作:创建新日程,或更新既有日程
|
|
143
|
+
- **如果有冲突**:必须先说明冲突情况,询问用户继续选择这个时间还是换个时间
|
|
144
|
+
- **如果说换个时间**:放弃当前时间,转入【模糊时间】流程,调用 `+suggestion` 推荐多个可用时间块
|
|
145
|
+
- **如果继续选择这个时间**:直接让用户选择会议室(如需),然后进入最终落地操作:创建新日程,或更新既有日程
|
|
146
|
+
- 位置信息要优先拆到结构化字段:用户明确说了城市才提取 `--city`;`--building` 不要再重复携带城市前缀。
|
|
147
|
+
- 参数归类顺序应为:`city/building/floor` > `floor + room-name` 复合表达 > `room-name`。像 `2L`、`2F` 这类更像楼层或区域定位的短词,优先视为 `--floor`,不要默认当作 `--room-name`。像 `学清2层` 这种表达,通常拆为 `--building "学清"` 与 `--floor "F2"`。
|
|
148
|
+
- 会议室名要做轻量归一化:`木星会议室` -> `--room-name "木星"`;`会议室 02` / `02会议室` -> `--room-name "02"`。
|
|
149
|
+
- 对 `F3-05` / `F5-07` / `3楼-08` 这类复合表达,若能稳定识别楼层与会议室号,应优先提取为 `--floor + --room-name`,不要把整段直接退化成 `--room-name`。
|
|
150
|
+
|
|
151
|
+
### 5. 模糊时间或无时间信息
|
|
152
|
+
|
|
153
|
+
先调用:
|
|
154
|
+
详见 [`+suggestion`](./lark-calendar-suggestion.md);若需要会议室,再结合 [`+room-find`](./lark-calendar-room-find.md)。
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
lark-cli calendar +suggestion \
|
|
158
|
+
--start "<range_start>" \
|
|
159
|
+
--end "<range_end>" \
|
|
160
|
+
--attendee-ids "<ids>" \
|
|
161
|
+
--duration-minutes <n> \
|
|
162
|
+
--event-rrule "<rrule>"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
规则:
|
|
166
|
+
|
|
167
|
+
- 若用户完全没有提供时间信息,应先默认一个合理区间后再调用 `+suggestion`
|
|
168
|
+
- 编辑流中,若用户表达的是“改到明天下午”“下周找个时间再约”这类模糊新时间,则基于用户期望的新时间范围调用 `+suggestion`;不要继续沿用旧时间。
|
|
169
|
+
- **不需要会议室**:获取多个推荐时间块后,直接向用户展示候选时间,用户确认后进入最终落地操作:创建新日程,或更新既有日程。
|
|
170
|
+
- **需要会议室**:获取多个候选时间块后,**不要急于让用户选时间**。先将这些时间块一次性交给 `calendar +room-find` 批量查询可用会议室,然后将【候选时间】与【对应的可用会议室列表】结构化分行展示,让用户一次性完成选择。(**注意:即使用户最初只说“查会议室”,且未带时间,也必须强制走到这一步,先 suggestion 再 room-find**)。
|
|
171
|
+
- 用户一旦选择了 `+suggestion` 返回的时间块,**无需再次调用 `+freebusy`**
|
|
172
|
+
|
|
173
|
+
### 6. 模糊语义消解与长期记忆构建
|
|
174
|
+
|
|
175
|
+
针对用户专属的时间表达习惯或存在歧义的时间场景,严禁主观臆断。典型例子包括:
|
|
176
|
+
|
|
177
|
+
- “上班后”
|
|
178
|
+
- “下班前”
|
|
179
|
+
- 未明确上下午的 12 小时制时间表达
|
|
180
|
+
|
|
181
|
+
处理规则:
|
|
182
|
+
|
|
183
|
+
- 应主动澄清真实意图,而不是自行猜测
|
|
184
|
+
- 当用户给出澄清后,应将这类个性化定义沉淀为长期偏好,推动后续直接理解类似表达
|
|
185
|
+
|
|
186
|
+
### 7. 重复性日程
|
|
187
|
+
|
|
188
|
+
若当前会议为重复性日程,调用 `+room-find` 时需携带 `--event-rrule`。
|
|
189
|
+
|
|
190
|
+
必须检查返回中的:
|
|
191
|
+
|
|
192
|
+
- `reserve_until_time`
|
|
193
|
+
|
|
194
|
+
若候选会议室的可预约上限早于重复规则覆盖范围,**不要直接按原规则落地日程**。应:
|
|
195
|
+
|
|
196
|
+
- 向用户明确说明该会议室最长可约至何时。
|
|
197
|
+
- 若用户确认继续选用该会议室,你必须**自动将日程的重复规则结束时间缩短**至该 `reserve_until_time`,以防止会议室预约失败。
|
|
198
|
+
|
|
199
|
+
### 8. 落地日程变更
|
|
200
|
+
|
|
201
|
+
用户确认后调用:
|
|
202
|
+
如果是新建会议,详见 [`+create`](./lark-calendar-create.md)。
|
|
203
|
+
如果是更新既有日程,详见 [`+update`](./lark-calendar-update.md)。必须先定位目标 `event_id`,再按用户意图用 `+update` 独立执行字段更新、添加参会人/会议室、移除参会人/会议室,或组合这些动作。若用户意图是“新增会议室”,默认仅追加 `room_id`,不移除已有会议室。
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
lark-cli calendar +create \
|
|
207
|
+
--summary "..." \
|
|
208
|
+
--start "<start>" \
|
|
209
|
+
--end "<end>" \
|
|
210
|
+
--attendee-ids "ou_xxx,oc_xxx,omm_xxx"
|
|
211
|
+
|
|
212
|
+
lark-cli calendar +update \
|
|
213
|
+
--event-id "<event_id>" \
|
|
214
|
+
--start "<start>" \
|
|
215
|
+
--end "<end>" \
|
|
216
|
+
--add-attendee-ids "omm_new_room"
|
|
217
|
+
|
|
218
|
+
# 仅当用户明确要求“更换会议室”时,才同时移除旧会议室并添加新会议室
|
|
219
|
+
lark-cli calendar +update \
|
|
220
|
+
--event-id "<event_id>" \
|
|
221
|
+
--remove-attendee-ids "omm_old_room" \
|
|
222
|
+
--add-attendee-ids "omm_new_room"
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
规则:
|
|
226
|
+
- 新建日程时,可使用 `+create`
|
|
227
|
+
- 更新既有日程时,优先使用 `+update`。改时间/标题/描述、添加参会人/会议室、移除参会人/会议室可以分别独立执行;
|
|
228
|
+
- 编辑流必须始终沿用前面定位得到的目标 `event_id`;禁止在最后一步重新按标题猜测一次目标日程。
|
|
229
|
+
- 编辑流中如果只是新增群组或普通参会人,不涉及时间和会议室,可直接 `+update --add-attendee-ids ...`。
|
|
230
|
+
- 编辑流中如果是“新增会议室但不改时间”,必须先基于目标日程原始时间查到可用会议室,再 `+update --add-attendee-ids "<room_id>"`;默认保留已有会议室。
|
|
231
|
+
- 编辑流中如果是“既改时间又新增会议室”,顺序必须是:先确定最终时间,再查会议室,最后一次性 `+update` 时间与新增会议室;默认保留已有会议室。
|
|
232
|
+
- 编辑流中如果是“既改时间又更换会议室”,顺序必须是:先确定最终时间,再查会议室,最后一次性 `+update` 时间、移除旧会议室并添加新会议室。
|
|
233
|
+
- 需要会议室时,将选中的 `room_id` 写入最终落地请求的参与人列表
|
|
234
|
+
- 展示会议室候选时,必须保留 CLI/API 返回的完整 `room_name` 原值;允许附加“推断说明”,但禁止用摘要名、楼层及会议室号、容量/视频标签重组后的名称替换原值
|
|
235
|
+
|
|
236
|
+
## 用户展示建议
|
|
237
|
+
|
|
238
|
+
当向用户展示多个时间块及对应的多个会议室时,**必须使用结构化清晰的格式排版**。**严禁将时间与会议室名称放在同一行展示**,必须分行并使用编号列表呈现可用会议室,严禁将所有信息揉成一团纯文本堆叠。
|
|
239
|
+
|
|
240
|
+
**推荐展示格式参考:**
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
## 2026-03-27 周五
|
|
244
|
+
|
|
245
|
+
[选项 1] 14:00 - 15:00(参会人均空闲)
|
|
246
|
+
可用会议室:
|
|
247
|
+
1. 学清嘉创大厦B座-F2-02🎦(7人)
|
|
248
|
+
2. 学清嘉创大厦B座-F2-05🎦(10人)
|
|
249
|
+
|
|
250
|
+
[选项 2] 16:00 - 17:00(参会人均空闲)
|
|
251
|
+
可用会议室:
|
|
252
|
+
1. 学清嘉创大厦B座-F3-01🎦(6人)
|
|
253
|
+
2. 学清嘉创大厦B座-F3-06🎦(8人)
|
|
254
|
+
|
|
255
|
+
💡 请回复您倾向的选项编号以及对应的会议室序号,我来为您完成预定。
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## 参考
|
|
259
|
+
|
|
260
|
+
- [lark-calendar-room-find.md](./lark-calendar-room-find.md)
|
|
261
|
+
- [lark-calendar-freebusy.md](./lark-calendar-freebusy.md)
|
|
262
|
+
- [lark-calendar-suggestion.md](./lark-calendar-suggestion.md)
|
|
263
|
+
- [lark-calendar-create.md](./lark-calendar-create.md)
|
|
264
|
+
- [lark-shared](../../lark-shared/SKILL.md)
|
|
265
|
+
- [lark-calendar](../SKILL.md)
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# calendar +suggestion
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md)。
|
|
4
|
+
|
|
5
|
+
根据非明确时间或一段时间范围,推荐多个可用时间块方案。帮助用户解决协调时间的难题。
|
|
6
|
+
|
|
7
|
+
**调用时机 (Agent Guidance):**
|
|
8
|
+
- ✅ **当用户需求涉及寻找时间块,且时间未完全确定**(如`今天`、`近三天`、`本周`、`下午`, `无时间描述`)时,调用此工具来获取推荐时间块给用户选择(包括但不限于预约日程)。
|
|
9
|
+
- ❌ **当用户已经明确了具体的时间点**(如`今天下午3点`),则**不需要**调用此工具
|
|
10
|
+
|
|
11
|
+
需要的scopes: ["calendar:calendar.free_busy:read"]
|
|
12
|
+
|
|
13
|
+
## 命令
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# 获取默认的时间推荐方案(搜索范围:当前时刻至当天结束)
|
|
17
|
+
lark-cli calendar +suggestion
|
|
18
|
+
|
|
19
|
+
# 获取指定时间区间内的推荐方案(支持日期简写或完整 ISO 8601)
|
|
20
|
+
lark-cli calendar +suggestion \
|
|
21
|
+
--start "2026-03-19" \
|
|
22
|
+
--end "2026-03-20"
|
|
23
|
+
|
|
24
|
+
# 结合参与人及会议时长获取推荐方案(时长单位:分钟)
|
|
25
|
+
# --attendee-ids 支持传入用户(ou_ 前缀)和群组(oc_ 前缀)混合列表
|
|
26
|
+
lark-cli calendar +suggestion \
|
|
27
|
+
--start "2026-03-19T14:00:00+08:00" \
|
|
28
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
29
|
+
--attendee-ids ou_xxx,oc_yyy \
|
|
30
|
+
--duration-minutes 60
|
|
31
|
+
|
|
32
|
+
# 排除特定时间段
|
|
33
|
+
lark-cli calendar +suggestion \
|
|
34
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
35
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
36
|
+
--exclude "2026-03-19T12:00:00+08:00~2026-03-19T13:00:00+08:00"
|
|
37
|
+
|
|
38
|
+
# JSON 格式输出
|
|
39
|
+
lark-cli calendar +suggestion \
|
|
40
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
41
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
42
|
+
--format json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 参数
|
|
46
|
+
|
|
47
|
+
| 参数 | 必填 | 说明 |
|
|
48
|
+
| ------------------------------- | ----- | ------------------------------------------------------------------- |
|
|
49
|
+
| `--start <time>` | 否 | 搜索区间开始时间(支持日期/ISO 8601等格式,默认**当前时间**) |
|
|
50
|
+
| `--end <time>` | 否 | 搜索区间结束时间(默认与 `--start` 属于同一天,自动取当天结束时间) |
|
|
51
|
+
| `--attendee-ids <id_list>` | 否 | 目标参与人 ID 列表。提取对应实体的 ID。支持用户(`ou_` 前缀)和群组(`oc_` 前缀)。多个 ID 使用英文逗号分隔 |
|
|
52
|
+
| `--event-rrule <rrule>` | 否 | 重复日程的重复性规则,规则设置方式参考rfc5545。**【⚠️注意:系统绝对不支持 COUNT,如需限制重复次数,必须转为 UNTIL】**。示例值:"FREQ=DAILY;INTERVAL=1" |
|
|
53
|
+
| `--duration-minutes <min>` | 否 | 会议时长(分钟)。优先使用用户显式指定的值,若未指定则尝试根据上下文推断,推断失败则不传 |
|
|
54
|
+
| `--timezone <tz>` | 否 | 对话中明确提及的预约日程所使用的时区(默认取用户设备时区,例如 `Asia/Shanghai`) |
|
|
55
|
+
| `--exclude <times>` | 否 | 排除的时间块,支持 `start~end` 格式(如 `2026-03-19T12:00:00+08:00~2026-03-19T13:00:00+08:00`),多个用逗号分隔 |
|
|
56
|
+
| `--format <flag>` | 否 | 输出格式(固定为 `json`) |
|
|
57
|
+
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
|
58
|
+
|
|
59
|
+
## 时间格式
|
|
60
|
+
|
|
61
|
+
`--start`、`--end` 以及 `--exclude` 支持以下格式自动解析:
|
|
62
|
+
|
|
63
|
+
| 格式 | 示例 | 说明 |
|
|
64
|
+
| ------------- | --------------------------- | -------------------- |
|
|
65
|
+
| ISO 8601 | `2026-03-19T08:40:29+08:00` | 完整格式,精确包含日期、时间及带冒号的时区偏移 |
|
|
66
|
+
| 日期+时间 | `2026-03-19 08:40:29` | 自动补全时区 |
|
|
67
|
+
| 仅日期 | `2026-03-19` | start 取 00:00:00,end 取 23:59:59 |
|
|
68
|
+
| Unix 时间戳 | `1741564800` | 秒级时间戳 |
|
|
69
|
+
|
|
70
|
+
## 输出格式
|
|
71
|
+
|
|
72
|
+
**将推荐结果整理为易读的选项列表,并附上润色后的推荐理由:**
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
## 2026-03-19 周四
|
|
76
|
+
|
|
77
|
+
- **选项 1:10:00 - 10:30**
|
|
78
|
+
推荐理由:所有参与者均空闲。
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
> **AI 行为指导:**
|
|
82
|
+
> - **结构化展示选项与理由**:以清晰的列表呈现推荐时间方案,并直接询问用户意向。**必须**结合“用户原始需求”与“推荐理由”说明每个时间块的优势,输出话术需简明、直接、无歧义。
|
|
83
|
+
> - **如实反馈冲突情况**:注意,返回的推荐方案不一定都是完全空闲的(即使明确要求找空闲时间,系统在难以满足时也会返回包含忙闲冲突的方案)。判断推荐方案是否完全空闲,可以从推荐理由中是否表达了“完全空闲”或“没有任何忙闲冲突”来判断。如果推荐方案存在忙闲冲突,**必须**在展示方案时向用户如实说明冲突情况,绝不能误导用户认为是完全空闲。
|
|
84
|
+
> - **主动提供优化建议**:当满足以下任一条件时(1. 返回结果包含 `ai_action_guidance` 字段内容;2. 用户要求找个空闲时间,但所有推荐方案都不是完全空闲的),你**必须**主动提供优化建议。若存在 `ai_action_guidance` 字段,需严格依据其核心意图生成引导话术;否则,请基于实际冲突情况主动提供合理的替代方案(如:建议调整时间范围、会议时长或参与人)。
|
|
85
|
+
|
|
86
|
+
## 典型场景
|
|
87
|
+
|
|
88
|
+
### 1. 查找多人的共同空闲会议时间
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# 指定两名参与人,并要求找一个 45 分钟的空闲时段
|
|
92
|
+
lark-cli calendar +suggestion \
|
|
93
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
94
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
95
|
+
--attendee-ids ou_member_a,ou_member_b \
|
|
96
|
+
--duration-minutes 45
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 2. 用户对当前推荐不满意,要求“换一批”
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# 将上一次推荐的时段作为排除条件传入
|
|
103
|
+
lark-cli calendar +suggestion \
|
|
104
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
105
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
106
|
+
--exclude "2026-03-19T10:00:00+08:00~2026-03-19T10:30:00+08:00"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 与其他命令对比
|
|
110
|
+
|
|
111
|
+
| 命令 | 用途 | 输出内容 |
|
|
112
|
+
| ---------------------- | -------- | ------------------- |
|
|
113
|
+
| `calendar +suggestion` | 根据非明确时间或一段时间范围,推荐多个可用时间块方案 | 返回多个推荐时段及其理由,以及后续建议 |
|
|
114
|
+
| `calendar +freebusy` | 查询忙闲时段 | 只返回忙碌时段列表和rsvp状态(无日程详情) |
|
|
115
|
+
|
|
116
|
+
**选择建议**:
|
|
117
|
+
|
|
118
|
+
- **寻找可用时间(含开会等场景)** → 优先使用 `+suggestion`,直接获取智能推荐方案
|
|
119
|
+
- **了解个人当前忙碌情况** → 使用 `+freebusy`
|
|
120
|
+
|
|
121
|
+
## 参考
|
|
122
|
+
|
|
123
|
+
- [lark-calendar-create](lark-calendar-create.md) — 创建日程
|
|
124
|
+
- [lark-calendar-freebusy](lark-calendar-freebusy.md) — 查询忙闲时段和rsvp状态
|
|
125
|
+
- [lark-calendar](../SKILL.md) — 日历完整 API
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# calendar +update
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
|
+
|
|
5
|
+
更新既有日程字段,或独立增量添加/移除参会人和会议室。
|
|
6
|
+
|
|
7
|
+
`+update` 支持三类互相独立的动作:更新日程字段、添加参会人/会议室、移除参会人/会议室。它们可以单独执行,也可以在同一次命令中组合执行。
|
|
8
|
+
|
|
9
|
+
需要的 scopes: ["calendar:calendar.event:update"]
|
|
10
|
+
|
|
11
|
+
## 推荐命令
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 更新标题、描述、时间
|
|
15
|
+
lark-cli calendar +update \
|
|
16
|
+
--event-id "<EVENT_ID>" \
|
|
17
|
+
--summary "产品评审" \
|
|
18
|
+
--description "评审需求范围、排期与风险" \
|
|
19
|
+
--start "2026-03-12T14:00+08:00" \
|
|
20
|
+
--end "2026-03-12T15:00+08:00"
|
|
21
|
+
|
|
22
|
+
# 增量添加参会人和会议室
|
|
23
|
+
lark-cli calendar +update \
|
|
24
|
+
--event-id "<EVENT_ID>" \
|
|
25
|
+
--add-attendee-ids "ou_aaa,ou_bbb,omm_room"
|
|
26
|
+
|
|
27
|
+
# 移除参会人和会议室
|
|
28
|
+
lark-cli calendar +update \
|
|
29
|
+
--event-id "<EVENT_ID>" \
|
|
30
|
+
--remove-attendee-ids "ou_aaa,omm_room"
|
|
31
|
+
|
|
32
|
+
# 同时更新日程信息、移除旧会议室、添加新会议室
|
|
33
|
+
lark-cli calendar +update \
|
|
34
|
+
--event-id "<EVENT_ID>" \
|
|
35
|
+
--summary "产品评审" \
|
|
36
|
+
--start "2026-03-12T15:00+08:00" \
|
|
37
|
+
--end "2026-03-12T16:00+08:00" \
|
|
38
|
+
--remove-attendee-ids "omm_old_room" \
|
|
39
|
+
--add-attendee-ids "omm_new_room"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
参数:
|
|
43
|
+
|
|
44
|
+
| 参数 | 必填 | 说明 |
|
|
45
|
+
|------|------|------|
|
|
46
|
+
| `--event-id <id>` | 是 | 要更新的日程 ID。重复性日程要先定位到目标实例的 `event_id`,不要直接使用原重复日程 ID |
|
|
47
|
+
| `--calendar-id <id>` | 否 | 日历 ID(省略则使用 `primary`) |
|
|
48
|
+
| `--summary <text>` | 否 | 新日程标题。仅在显式传入 `--summary` 时更新;若传空字符串,会把标题清空 |
|
|
49
|
+
| `--description <text>` | 否 | 新日程描述。目前 API 方式不支持编辑富文本描述;如果日程描述通过客户端编辑为富文本内容,则使用 API 更新描述会导致富文本格式丢失。仅在显式传入 `--description` 时更新;若传空字符串,会把描述清空 |
|
|
50
|
+
| `--start <time>` | 否 | 新开始时间(ISO 8601,如 `2026-03-12T14:00+08:00`)。更新日程时间时必须同时传 `--end` |
|
|
51
|
+
| `--end <time>` | 否 | 新结束时间(ISO 8601)。更新日程时间时必须同时传 `--start` |
|
|
52
|
+
| `--rrule <rrule>` | 否 | 新重复规则(RFC5545)。**不要使用 COUNT;如需限制次数,推算后转为 UNTIL** |
|
|
53
|
+
| `--add-attendee-ids <id_list>` | 否 | 增量添加参会人/会议室,逗号分隔。支持用户 `ou_`、群组 `oc_`、会议室 `omm_` |
|
|
54
|
+
| `--remove-attendee-ids <id_list>` | 否 | 增量移除参会人/会议室,逗号分隔。支持用户 `ou_`、群组 `oc_`、会议室 `omm_` |
|
|
55
|
+
| `--notify` | 否 | 是否发送更新通知,默认 `true`。可用 `--notify=false` 静默更新 |
|
|
56
|
+
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
|
57
|
+
|
|
58
|
+
至少需要提供一个动作:`--summary`、`--description`、`--start/--end`、`--rrule`、`--add-attendee-ids` 或 `--remove-attendee-ids`。
|
|
59
|
+
|
|
60
|
+
## 使用规则
|
|
61
|
+
|
|
62
|
+
- `--add-attendee-ids` 是**增量添加**,不是替换最终参与人列表。不要用它表达“只保留这些人”。
|
|
63
|
+
- 对 `--summary`、`--description`,CLI 以“是否显式传入该 flag”判断是否更新,而不是以“值是否为空”判断;如果显式传入空字符串,会把对应字段清空。
|
|
64
|
+
- 只想增删参会人或会议室时,不需要同时传 `--summary`、`--start`、`--end` 等日程字段。
|
|
65
|
+
- 只想修改标题、描述、时间或重复规则时,不需要同时传 `--add-attendee-ids` 或 `--remove-attendee-ids`。
|
|
66
|
+
- 如需替换某个参与人、群组或会议室,使用 `--remove-attendee-ids <旧ID>` + `--add-attendee-ids <新ID>`。
|
|
67
|
+
- 会议室是 resource attendee,必须使用 `omm_` ID 添加到参会人列表,不能脱离日程单独预定。
|
|
68
|
+
- 更新重复性日程的某一次实例时,必须先通过 `+agenda`、`events search_event` 或实例视图定位该实例的 `event_id`。
|
|
69
|
+
- 如果需要验证更新结果,等待至少 2 秒后再查询,避免同步延迟导致读到旧数据。
|
|
70
|
+
- 当同一次命令组合多个动作时,执行顺序为“日程字段 -> 移除参会人 -> 添加参会人”。若中途失败,不会自动回滚已成功步骤;错误信息会说明已完成的步骤。
|
|
71
|
+
|
|
72
|
+
## 高级用法(完整 API 命令)
|
|
73
|
+
|
|
74
|
+
`+update` 只覆盖标题、描述、时间、重复规则,以及参会人/会议室的增量添加或移除。
|
|
75
|
+
|
|
76
|
+
如需更新 `location`(地理位置,不含会议室位置)、`visibility`(日程公开范围)、自定义 `reminders`(提醒设置)、自定义 `attendee_ability`(参与人权限)、自定义 `free_busy_status`(日程忙闲状态)、`color`(颜色)、附件、视频会议信息、全天日程,或在新增参会人时配置可选参加状态 等高级参数,请改用完整的 API 命令。建议先通过 `lark-cli schema calendar.events.patch`、`lark-cli schema calendar.event.attendees.create`、`lark-cli schema calendar.event.attendees.batch_delete` 查看完整参数定义。
|
|
77
|
+
|
|
78
|
+
> 完整 API 命令的时间参数是 **Unix 秒字符串**(非 ISO 8601)。
|
|
79
|
+
|
|
80
|
+
## 预约/改约会议室场景
|
|
81
|
+
|
|
82
|
+
如果用户要“改会议时间”“换会议室”“给现有日程加会议室”,必须先阅读 [`lark-calendar-schedule-meeting.md`](lark-calendar-schedule-meeting.md) 并按其中工作流处理:
|
|
83
|
+
|
|
84
|
+
- 明确时间且需要会议室:先 `+room-find`,再按需 `+freebusy`,用户确认后再 `+update`。
|
|
85
|
+
- 模糊时间或无时间:先 `+suggestion`,如需会议室再批量 `+room-find`,用户确认后再 `+update`。
|
|
86
|
+
- 面临时间方案或会议室方案选择时,必须先展示候选方案并等待用户确认。
|
|
87
|
+
|
|
88
|
+
## 参会人类型
|
|
89
|
+
|
|
90
|
+
| 前缀 | 类型 | 说明 |
|
|
91
|
+
|------|------|------|
|
|
92
|
+
| `ou_` | user | 飞书用户 open_id |
|
|
93
|
+
| `oc_` | chat | 飞书群组 |
|
|
94
|
+
| `omm_` | resource | 会议室 |
|
|
95
|
+
|
|
96
|
+
> [!CAUTION]
|
|
97
|
+
> 这是**写入操作**。执行前必须确认用户意图,特别是移除参会人/会议室或移动会议时间。
|
|
98
|
+
|
|
99
|
+
## 参考
|
|
100
|
+
|
|
101
|
+
- [lark-calendar](../SKILL.md) -- 日历全部命令
|
|
102
|
+
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|
|
103
|
+
- [lark-calendar-schedule-meeting](lark-calendar-schedule-meeting.md) -- 预约/改约会议与会议室工作流
|
|
104
|
+
- [lark-calendar-room-find](lark-calendar-room-find.md) -- 查找可用会议室
|
|
105
|
+
- [lark-calendar-freebusy](lark-calendar-freebusy.md) -- 查询忙闲
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lark-contact
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "飞书 / Lark 通讯录,用于按姓名 / 邮箱把员工解析成 open_id,以及按 open_id 反查员工的姓名 / 部门 / 邮箱 / 联系方式。当用户说出某人姓名而下一步需要发消息 / 加群 / 排日程时,先用本 skill 把姓名换成 ID;当输出里出现 open_id 需要展示成姓名给用户看,或用户直接询问某人的部门 / 邮箱 / 联系方式时,用本 skill 查。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["lark-cli"]
|
|
8
|
+
cliHelp: "lark-cli contact --help"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# lark-contact
|
|
12
|
+
|
|
13
|
+
## 选哪个命令
|
|
14
|
+
|
|
15
|
+
**user 身份和 bot 身份是两条完全独立的路径**。先确定当前身份,再按下表选命令:
|
|
16
|
+
|
|
17
|
+
| 想做什么 | user 身份 | bot 身份 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 按姓名 / 邮箱搜员工拿 open_id | [`+search-user`](references/lark-contact-search-user.md) | 不支持 |
|
|
20
|
+
| 已知 open_id 取他人资料 | `+search-user --user-ids <id>` | [`+get-user --user-id <id>`](references/lark-contact-get-user.md) |
|
|
21
|
+
| 查看自己 | `+get-user` 或 `+search-user --user-ids me` | 不支持 |
|
|
22
|
+
|
|
23
|
+
已知 open_id 只是想发消息 / 排日程,不必经过 contact —— 直接 [`lark-im`](../lark-im/SKILL.md) / [`lark-calendar`](../lark-calendar/SKILL.md)。
|
|
24
|
+
|
|
25
|
+
## 典型场景
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# 找张三给他发消息:先搜,确认 open_id,再发
|
|
29
|
+
lark-cli contact +search-user --query "张三" --has-chatted --as user
|
|
30
|
+
lark-cli im +messages-send --user-id ou_xxx --text "Hi!"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
搜索命中多条且后续操作有副作用(发消息、邀请会议等),把候选列给用户挑;不要擅自选第一条。
|
|
34
|
+
|
|
35
|
+
## 注意事项
|
|
36
|
+
|
|
37
|
+
- **41050 / Permission denied** 受当前身份的可见范围限制(两条命令都可能遇到)。换 bot 身份或让管理员调整可见范围,细节见 [`lark-shared`](../lark-shared/SKILL.md)。
|
|
38
|
+
- **跨租户用户**(`is_cross_tenant=true`)多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。
|
|
39
|
+
- **ID 类型**:默认 `open_id`。`+get-user` 可改 `--user-id-type union_id|user_id`;`+search-user` 只接受 `open_id`。
|
|
40
|
+
|
|
41
|
+
## 不在本 skill 范围
|
|
42
|
+
|
|
43
|
+
- 发消息 / 查聊天记录 → [`lark-im`](../lark-im/SKILL.md)
|
|
44
|
+
- 排日程 / 邀请会议 → [`lark-calendar`](../lark-calendar/SKILL.md)
|
|
45
|
+
- 部门树 / 按部门列员工 / 组织架构 ,通过 [`lark-openapi-explorer`](../lark-openapi-explorer/SKILL.md) 查找原生接口
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# +get-user
|
|
2
|
+
|
|
3
|
+
按 ID 取用户基本信息(姓名等)。
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# 取自己
|
|
7
|
+
lark-cli contact +get-user --as user
|
|
8
|
+
|
|
9
|
+
# bot 按 ID 取他人
|
|
10
|
+
lark-cli contact +get-user --user-id ou_xxx --as bot
|
|
11
|
+
|
|
12
|
+
# 按 union_id / user_id 取(默认 open_id)
|
|
13
|
+
lark-cli contact +get-user --user-id <id> --user-id-type union_id --as bot
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 注意事项
|
|
17
|
+
|
|
18
|
+
- **user 身份按 ID 取他人请用 `+search-user --user-ids <id>`**,字段比本命令多(部门 / 邮箱 / 是否激活等)。本命令的 user 模式只回很少字段。
|
|
19
|
+
- **`--as bot` 必须传 `--user-id`**:不传会直接报错(只有 user 身份能省略 `--user-id` 取自己)。
|