@wagemule/daemon 0.1.2 → 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 -1
- package/dist/main.cjs +91 -32
- package/dist/main.cjs.map +2 -2
- 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,935 @@
|
|
|
1
|
+
# Workflow 数据结构参考
|
|
2
|
+
|
|
3
|
+
本文档定义 Workflow 的完整数据结构,适用于:
|
|
4
|
+
- **查询场景**:理解 `+workflow-get` 返回的 `steps` 结构
|
|
5
|
+
- **创建/修改场景**:构造 `+workflow-create` / `+workflow-update` 的 `--json` body
|
|
6
|
+
> 💡 **本文档是纯字段参考**。如需**创建/修改**工作流的完整示例,请阅读 [workflow-guide.md](lark-base-workflow-guide.md)。
|
|
7
|
+
---
|
|
8
|
+
## 📖 快速导航
|
|
9
|
+
|
|
10
|
+
根据你的需求跳转到对应章节:
|
|
11
|
+
|
|
12
|
+
| 需求 | 章节 |
|
|
13
|
+
|------|------|
|
|
14
|
+
| 了解 Step 基础结构 | [WorkflowStep 基础结构](#workflowstep-基础结构) |
|
|
15
|
+
| 查询 Trigger 类型及 data 字段 | [Trigger data](#trigger-data-详细结构) |
|
|
16
|
+
| 查询 Action 类型及 data 字段 | [Action data](#action-data-详细结构) |
|
|
17
|
+
| 查询 Branch/Loop 结构 | [Branch data](#branch-data-详细结构) / [System data](#system-data-详细结构) |
|
|
18
|
+
| 查询 ValueInfo/Condition 等公共类型 | [公共类型](#公共类型) |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## WorkflowStep 基础结构
|
|
23
|
+
|
|
24
|
+
每个步骤(Trigger / Action / Branch / System)共享以下字段:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"id": "step_xxx",
|
|
29
|
+
"type": "AddRecordTrigger",
|
|
30
|
+
"title": "监控新订单",
|
|
31
|
+
"next": "step_yyy",
|
|
32
|
+
"data": {}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
37
|
+
|------|------|------|------|
|
|
38
|
+
| `id` | string | 是 | 步骤唯一 ID(用户自定义,被 `next` 和 `children.links[].to` 引用) |
|
|
39
|
+
| `type` | string | 是 | 步骤类型,见下方枚举 |
|
|
40
|
+
| `title` | string | 否 | 步骤标题 |
|
|
41
|
+
| `children` | StepChildren | 否 | 子关系边,承担所有分支/循环 |
|
|
42
|
+
| `next` | string | null | 否 | 线性后继节点 ID;`null` 表示流程结束 |
|
|
43
|
+
| `data` | object | 是 | 步骤详细配置,按 `type` 区分,见后续各节 |
|
|
44
|
+
|
|
45
|
+
> **总原则**:连线写 `children`,扩展标识写 `meta`,输入参数写 `data`。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## StepChildren 与 ChildLink
|
|
50
|
+
|
|
51
|
+
### StepChildren
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"links": [ /* ChildLink[] */ ]
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
| 字段 | 类型 | 说明 |
|
|
60
|
+
|------|------|------|
|
|
61
|
+
| `links` | ChildLink[] | 子关系边列表;无子关系时为空数组 `[]` |
|
|
62
|
+
|
|
63
|
+
### ChildLink
|
|
64
|
+
|
|
65
|
+
每条关系边描述从当前节点到目标节点的有向连线:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{ "kind": "if_true", "to": "step_4", "label": "branch_1", "desc": "金额大于1000" }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
72
|
+
|------|------|------|------|
|
|
73
|
+
| `kind` | string | 是 | 关系类型:`if_true` / `if_false` / `case` / `loop_start` / `slot` |
|
|
74
|
+
| `to` | string | 是 | 目标节点 ID |
|
|
75
|
+
| `label` | string | 否 | 可选标签(如 `branch_1`、`tool`、`llm`、`memory`) |
|
|
76
|
+
| `desc` | string | 否 | 可选语义说明(如"销售部门"、"积极情绪") |
|
|
77
|
+
|
|
78
|
+
`kind` 使用场景:
|
|
79
|
+
|
|
80
|
+
| kind | 使用节点 | 说明 |
|
|
81
|
+
|------|---------|------|
|
|
82
|
+
| `if_true` | IfElseBranch | 条件为真时跳转 |
|
|
83
|
+
| `if_false` | IfElseBranch | 条件为假时跳转 |
|
|
84
|
+
| `case` | SwitchBranch / AIClassificationBranch | 多路分支,`label` 建议用 `branch_1` 等中性标签,`desc` 写语义 |
|
|
85
|
+
| `loop_start` | Loop | 循环体入口 |
|
|
86
|
+
| `slot` | AIAgentAction | 挂载 LLM / 工具 / 记忆子节点,`label` 为 `llm` / `tool` / `memory` |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## StepType 枚举
|
|
91
|
+
|
|
92
|
+
### Trigger 类型
|
|
93
|
+
|
|
94
|
+
| type | 说明 |
|
|
95
|
+
|------|------|
|
|
96
|
+
| `AddRecordTrigger` | 新增记录时触发 |
|
|
97
|
+
| `SetRecordTrigger` | 记录被修改时触发 |
|
|
98
|
+
| `ChangeRecordTrigger` | 记录满足条件时触发 |
|
|
99
|
+
| `TimerTrigger` | 定时触发 |
|
|
100
|
+
| `ReminderTrigger` | 日期提醒触发 |
|
|
101
|
+
| `LarkMessageTrigger` | 接收飞书消息触发 |
|
|
102
|
+
|
|
103
|
+
> 所有 Trigger 节点**请勿设置** `children` ,通过 `next` 串联后继。
|
|
104
|
+
|
|
105
|
+
### 触发器选型指南
|
|
106
|
+
|
|
107
|
+
| 需求描述 | 触发器 |
|
|
108
|
+
|---------|--------|
|
|
109
|
+
| 新增记录时 | `AddRecordTrigger` |
|
|
110
|
+
| 字段变为特定值时(**仅修改**) | `SetRecordTrigger` |
|
|
111
|
+
| **新增或修改**都触发 | `ChangeRecordTrigger` |
|
|
112
|
+
| 拿不准用哪个 | `ChangeRecordTrigger` |
|
|
113
|
+
|
|
114
|
+
> ⚠️ `SetRecordTrigger` 仅监听修改,`ChangeRecordTrigger` 同时监听新增 + 修改。
|
|
115
|
+
|
|
116
|
+
### Action 类型
|
|
117
|
+
|
|
118
|
+
| type | 说明 |
|
|
119
|
+
|------|------|
|
|
120
|
+
| `AddRecordAction` | 新增记录 |
|
|
121
|
+
| `SetRecordAction` | 更新记录 |
|
|
122
|
+
| `FindRecordAction` | 查找记录 |
|
|
123
|
+
| `Delay` | 延迟 |
|
|
124
|
+
| `LarkMessageAction` | 发送飞书消息 |
|
|
125
|
+
| `GenerateAiTextAction` | AI 生成文本 |
|
|
126
|
+
|
|
127
|
+
> 所有 Action 节点**请勿设置** `children` ,通过 `next` 串联后继。
|
|
128
|
+
|
|
129
|
+
### Branch 类型
|
|
130
|
+
|
|
131
|
+
| type | 说明 |
|
|
132
|
+
|------|------|
|
|
133
|
+
| `IfElseBranch` | 条件分支,`children.links` 含 `if_true` 和 `if_false` |
|
|
134
|
+
| `SwitchBranch` | 多路分支,`children.links` 含多个 `case` |
|
|
135
|
+
|
|
136
|
+
### System 类型
|
|
137
|
+
|
|
138
|
+
| type | 说明 |
|
|
139
|
+
|------|------|
|
|
140
|
+
| `Loop` | 循环,`children.links` 含 `loop_start` 指向循环体入口 |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Trigger data 详细结构
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
### AddRecordTrigger
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"table_name": "订单表",
|
|
152
|
+
"watched_field_name": "状态",
|
|
153
|
+
"trigger_control_list": ["pasteUpdate", "automationBatchUpdate"],
|
|
154
|
+
"condition_list": [] /* AndCondition 数组 */
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
| 字段 | 必填 | 说明 |
|
|
159
|
+
|------|------|------|
|
|
160
|
+
| `table_name` | 是 | 监控的数据表名 |
|
|
161
|
+
| `watched_field_name` | 是 | 监控的字段名 |
|
|
162
|
+
| `trigger_control_list` | 否 | 触发控制,可选值:`pasteUpdate` / `automationBatchUpdate` / `syncUpdate` / `appendImport` / `openAPIBatchUpdate` |
|
|
163
|
+
| `condition_list` | 否 | 过滤条件数组,数组中每个元素为 AndCondition 结构,多个 AndCondition 之间为 OR 关系 |
|
|
164
|
+
|
|
165
|
+
### ChangeRecordTrigger
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"table_name": "任务表",
|
|
170
|
+
"trigger_control_list": [],
|
|
171
|
+
"condition": null
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
| 字段 | 必填 | 说明 |
|
|
176
|
+
|------|------|------|
|
|
177
|
+
| `table_name` | 是 | 监控的数据表名 |
|
|
178
|
+
| `trigger_control_list` | 否 | 触发控制,可选值:`pasteUpdate` / `automationBatchUpdate` / `syncUpdate` / `appendImport` |
|
|
179
|
+
| `condition_list` | 否 | 过滤条件数组,数组中每个元素为 AndCondition 结构,多个 AndCondition 之间为 OR 关系 |
|
|
180
|
+
|
|
181
|
+
### SetRecordTrigger
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"table_name": "订单表",
|
|
186
|
+
"record_watch_conjunction": "and",
|
|
187
|
+
"record_watch_info": [ /* FieldCondition[] */ ],
|
|
188
|
+
"field_watch_info": [
|
|
189
|
+
{ "field_name": "状态", "operator": "is", "value": [{ "value_type": "text", "value": "已发货" }] }
|
|
190
|
+
],
|
|
191
|
+
"trigger_control_list": [],
|
|
192
|
+
"condition_list": null
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
| 字段 | 必填 | 说明 |
|
|
197
|
+
|------|----|------|
|
|
198
|
+
| `table_name` | 是 | 监控的数据表名 |
|
|
199
|
+
| `record_watch_conjunction` | 否 | 记录筛选组合方式:`and` / `or`,默认 `and` |
|
|
200
|
+
| `record_watch_info` | 否 | 记录级过滤条件(修改前值匹配),为空则监听全部 |
|
|
201
|
+
| `field_watch_info` | 是 | 字段级监控条件列表,至少一个 |
|
|
202
|
+
| `trigger_control_list` | 否 | 触发控制,可选值:`pasteUpdate` / `automationBatchUpdate` / `syncUpdate` / `appendImport` |
|
|
203
|
+
| `condition_list` | 否 | 过滤条件数组,数组中每个元素为 AndCondition 结构,多个 AndCondition 之间为 OR 关系 |
|
|
204
|
+
|
|
205
|
+
`FieldWatchItem`:
|
|
206
|
+
|
|
207
|
+
| 字段 | 类型 | 说明 |
|
|
208
|
+
|------|------|------|
|
|
209
|
+
| `field_name` | string | 监听字段名称 |
|
|
210
|
+
| `operator` | string | 操作符(仅明确要求字段满足条件时填) |
|
|
211
|
+
| `value` | ValueInfo[] | 触发值 |
|
|
212
|
+
|
|
213
|
+
### TimerTrigger
|
|
214
|
+
|
|
215
|
+
```json
|
|
216
|
+
{
|
|
217
|
+
"rule": "WEEKLY",
|
|
218
|
+
"start_time": "2025-01-01 09:00",
|
|
219
|
+
"sub_unit": [1, 3, 5],
|
|
220
|
+
"is_never_end": true
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
| 字段 | 必填 | 说明 |
|
|
225
|
+
|------|------|------|
|
|
226
|
+
| `rule` | 是 | `NO_REPEAT` / `DAILY` / `WEEKLY` / `MONTHLY` / `YEARLY` / `WORKDAY` / `CUSTOM` |
|
|
227
|
+
| `start_time` | 否 | 开始时间,格式 `yyyy-MM-dd HH:mm` |
|
|
228
|
+
| `interval` | 否 | 自定义间隔 [1,30](仅 CUSTOM) |
|
|
229
|
+
| `unit` | 否 | 自定义单位:`SECOND` / `MINUTE` / `HOUR` / `DAY` / `WEEK` / `MONTH` / `YEAR` |
|
|
230
|
+
| `sub_unit` | 否 | 子单位(`WEEKLY` 时为星期几数组 0-6,`MONTHLY` 时为几号数组 1-31) |
|
|
231
|
+
| `end_time` | 否 | 结束时间 |
|
|
232
|
+
| `is_never_end` | 否 | 是否永不结束 |
|
|
233
|
+
|
|
234
|
+
### ReminderTrigger
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"table_name": "项目表",
|
|
239
|
+
"field_name": "截止日期",
|
|
240
|
+
"offset": 1,
|
|
241
|
+
"unit": "DAY",
|
|
242
|
+
"hour": 9,
|
|
243
|
+
"minute": 0,
|
|
244
|
+
"condition_list": null
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
| 字段 | 必填 | 说明 |
|
|
249
|
+
|------|------|------|
|
|
250
|
+
| `table_name` | 是 | 数据表名 |
|
|
251
|
+
| `field_name` | 是 | 日期字段名(必须为 `datetime` / `created_at` / `formula` / `lookup` 类型) |
|
|
252
|
+
| `unit` | 是 | 偏移单位:`MINUTE` / `HOUR` / `DAY` / `WEEK` / `MONTH` |
|
|
253
|
+
| `offset` | 是 | 提前/延后的偏移量(正数=提前,负数=延后;范围由 `unit` 决定):`MINUTE` ∈ {0, 5, 15, 30, -5, -15, -30};`HOUR` ∈ [-6, -1] ∪ [1, 6];`DAY` ∈ [-7, 7];`WEEK` ∈ [-7, -1] ∪ [1, 7];`MONTH` ∈ [-7, -1] ∪ [1, 7] |
|
|
254
|
+
| `hour` | 是 | 触发小时 (0-23),默认 9 |
|
|
255
|
+
| `minute` | 是 | 触发分钟 (0-59),默认 0 |
|
|
256
|
+
| `condition_list` | 否 | 过滤条件数组,数组中每个元素为 AndCondition 结构,多个 AndCondition 之间为 OR 关系 |
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
### LarkMessageTrigger
|
|
260
|
+
|
|
261
|
+
```json
|
|
262
|
+
{
|
|
263
|
+
"receive_scene": "group",
|
|
264
|
+
"receiver": [{ "value_type": "group", "value": {"id": "oc_xxxx", "name": "测试群"} }],
|
|
265
|
+
"scope": "all",
|
|
266
|
+
"filter": {
|
|
267
|
+
"conjunction": "and",
|
|
268
|
+
"content_contains": ["关键词"],
|
|
269
|
+
"sender_contains": [{ "value_type": "user", "value": {"id": "ou_xxxx", "name": ""} }],
|
|
270
|
+
"is_new_message": true,
|
|
271
|
+
"is_message_contain_attachment": false
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
| 字段 | 必填 | 说明|
|
|
277
|
+
|------|------|---|
|
|
278
|
+
| `receive_scene` | 是 | 接收场景:`group`(群聊)/ `chat`(单聊)|
|
|
279
|
+
| `receiver` | 是 | 触发来源,支持 `user` / `group` / `ref`。在单聊场景下,该字段指“可以和机器人单聊的用户”;在群聊场景下,该字段指“接收信息的群组”|
|
|
280
|
+
| `scope` | 是 | 触发范围:`at`(@提及)/ `all`(所有消息)。该参数仅在群聊场景有效,单聊场景请勿指定该参数|
|
|
281
|
+
| `filter` | 是 | MessageFilter 消息过滤条件|
|
|
282
|
+
|
|
283
|
+
`MessageFilter`:
|
|
284
|
+
|
|
285
|
+
| 字段 | 类型 | 说明 |
|
|
286
|
+
|------|------|----|
|
|
287
|
+
| `conjunction` | string | `and` 满足所有条件 / `or` 任一条件|
|
|
288
|
+
| `content_contains` | string[] | 关键词列表|
|
|
289
|
+
| `sender_contains` | ValueInfo[] | 筛选发送人(仅群聊+群组来源时生效,单聊场景请勿指定该参数)|
|
|
290
|
+
| `is_new_message` | boolean | 仅新话题消息(仅群聊时有效,单聊场景请勿指定该参数)|
|
|
291
|
+
| `is_message_contain_attachment` | boolean | 是否仅附件消息触发|
|
|
292
|
+
|
|
293
|
+
## Action data 详细结构
|
|
294
|
+
|
|
295
|
+
### AddRecordAction
|
|
296
|
+
|
|
297
|
+
```json
|
|
298
|
+
{
|
|
299
|
+
"table_name": "订单表",
|
|
300
|
+
"field_values": [
|
|
301
|
+
{ "field_name": "客户名称", "value": [{ "value_type": "text", "value": "张三" }] },
|
|
302
|
+
{ "field_name": "金额", "value": [{ "value_type": "number", "value": 100 }] },
|
|
303
|
+
{ "field_name": "创建人", "value": [{ "value_type": "ref", "value": "$.trigger_1.fieldIdxxx" }] }
|
|
304
|
+
]
|
|
305
|
+
}
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
| 字段 | 必填 | 说明 |
|
|
309
|
+
|------|------|------|
|
|
310
|
+
| `table_name` | 是 | 目标数据表名 |
|
|
311
|
+
| `field_values` | 是 | RecordFieldValue[] |
|
|
312
|
+
|
|
313
|
+
### SetRecordAction
|
|
314
|
+
|
|
315
|
+
```json
|
|
316
|
+
{
|
|
317
|
+
"table_name": "订单表",
|
|
318
|
+
"max_set_record_num": 10,
|
|
319
|
+
"field_values": [
|
|
320
|
+
{ "field_name": "状态", "value": [{ "value_type": "option", "value": { "id": "opt1", "name": "已完成" } }] }
|
|
321
|
+
],
|
|
322
|
+
"filter_info": { /* RecordFilterInfo */ },
|
|
323
|
+
"ref_info": { "step_id": "step_trigger" }
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
| 字段 | 必填 | 说明 |
|
|
328
|
+
|------|------|------|
|
|
329
|
+
| `table_name` | 是 | 目标数据表名 |
|
|
330
|
+
| `max_set_record_num` | 否 | 最大更新记录数,默认 100,范围 1-15000 |
|
|
331
|
+
| `field_values` | 是 | RecordFieldValue[] |
|
|
332
|
+
| `filter_info` | 否* | RecordFilterInfo 过滤条件(与 `ref_info` 互斥) |
|
|
333
|
+
| `ref_info` | 否* | RefInfo 引用前置步骤的记录(与 `filter_info` 互斥) |
|
|
334
|
+
|
|
335
|
+
### FindRecordAction
|
|
336
|
+
|
|
337
|
+
```json
|
|
338
|
+
{
|
|
339
|
+
"table_name": "客户表",
|
|
340
|
+
"field_names": ["客户名称", "联系方式", "等级"],
|
|
341
|
+
"should_proceed_when_no_results": true,
|
|
342
|
+
"filter_info": { /* RecordFilterInfo */ }
|
|
343
|
+
}
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
| 字段 | 必填 | 说明 |
|
|
347
|
+
|------|------|------|
|
|
348
|
+
| `table_name` | 是 | 目标数据表名 |
|
|
349
|
+
| `field_names` | 是 | 要检索的字段名列表,至少一个 |
|
|
350
|
+
| `should_proceed_when_no_results` | 否 | 无结果时是否继续后续步骤,默认 `true` |
|
|
351
|
+
| `filter_info` | 否* | RecordFilterInfo(与 `ref_info` 互斥) |
|
|
352
|
+
| `ref_info` | 否* | RefInfo(与 `filter_info` 互斥) |
|
|
353
|
+
|
|
354
|
+
### Delay
|
|
355
|
+
|
|
356
|
+
```json
|
|
357
|
+
{ "duration": 30 }
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
| 字段 | 必填 | 说明 |
|
|
361
|
+
|------|------|------|
|
|
362
|
+
| `duration` | 是 | 延迟时长(分钟),范围 [1, 120] |
|
|
363
|
+
|
|
364
|
+
### LarkMessageAction
|
|
365
|
+
|
|
366
|
+
```json
|
|
367
|
+
{
|
|
368
|
+
"receiver": [{ "value_type": "user", "value": {"id": "ou_xxxx"} }],
|
|
369
|
+
"send_to_everyone": false,
|
|
370
|
+
"title": [{ "value_type": "text", "value": "新订单通知" }],
|
|
371
|
+
"content": [
|
|
372
|
+
{ "value_type": "text", "value": "客户 " },
|
|
373
|
+
{ "value_type": "ref", "value": "$.trigger_1.fldCustomerName" },
|
|
374
|
+
{ "value_type": "text", "value": " 创建了新订单" }
|
|
375
|
+
],
|
|
376
|
+
"btn_list": [
|
|
377
|
+
{ "text": "查看详情", "btn_action": "openLink", "link": [{ "value_type": "text", "value": "https://example.com" }] }
|
|
378
|
+
]
|
|
379
|
+
}
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
| 字段 | 必填 | 说明 |
|
|
383
|
+
|------|------|------|
|
|
384
|
+
| `receiver` | 是 | ValueInfo[] |
|
|
385
|
+
| `send_to_everyone` | 是 | 是否发送给所有人 |
|
|
386
|
+
| `title` | 否 | TextRefItem[] 消息标题 |
|
|
387
|
+
| `content` | 是 | TextRefItem[] 消息内容 |
|
|
388
|
+
| `btn_list` | 是 | 按钮列表,不需要时为空数组 |
|
|
389
|
+
|
|
390
|
+
`ButtonConfig`:
|
|
391
|
+
|
|
392
|
+
| 字段 | 类型 | 说明 |
|
|
393
|
+
|------|------|------|
|
|
394
|
+
| `text` | string | 按钮文字 |
|
|
395
|
+
| `btn_action` | string | `addRecord` / `setRecord` / `openLink` |
|
|
396
|
+
| `link` | ValueInfo[] | 跳转链接(`openLink` 时使用) |
|
|
397
|
+
| `table_name` | string | 操作表名(`addRecord` 时使用) |
|
|
398
|
+
| `record_values` | RecordFieldValue[] | 记录赋值(`addRecord` / `setRecord` 时使用) |
|
|
399
|
+
|
|
400
|
+
### GenerateAiTextAction
|
|
401
|
+
|
|
402
|
+
```json
|
|
403
|
+
{
|
|
404
|
+
"prompt": [
|
|
405
|
+
{ "value_type": "text", "value": "请总结以下内容:" },
|
|
406
|
+
{ "value_type": "ref", "value": "$.step_1.fieldxxx" }
|
|
407
|
+
]
|
|
408
|
+
}
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
| 字段 | 必填 | 说明 |
|
|
412
|
+
|------|------|------|
|
|
413
|
+
| `prompt` | 是 | TextRefItem[] 提示词,支持 `text` / `ref` |
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
## Branch data 详细结构
|
|
417
|
+
|
|
418
|
+
### IfElseBranch
|
|
419
|
+
|
|
420
|
+
`children.links` 包含 `if_true` 和 `if_false` 两条边,`next` 指向两个分支汇合后的后继节点。
|
|
421
|
+
|
|
422
|
+
**如果涉及到复杂的多分支场景(分支数目 >= 3时),你应该采用 SwitchBranch,而不是嵌套的 IfElseBranch**
|
|
423
|
+
|
|
424
|
+
```json
|
|
425
|
+
{
|
|
426
|
+
"condition": {
|
|
427
|
+
"conjunction": "or",
|
|
428
|
+
"conditions": [
|
|
429
|
+
{
|
|
430
|
+
"conjunction": "and",
|
|
431
|
+
"conditions": [
|
|
432
|
+
{
|
|
433
|
+
"left_value": { "value_type": "ref", "value": "$.step_1.fieldxxx" },
|
|
434
|
+
"operator": "isGreater",
|
|
435
|
+
"right_value": [{ "value_type": "number", "value": 1000 }]
|
|
436
|
+
}
|
|
437
|
+
]
|
|
438
|
+
}
|
|
439
|
+
]
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
| 字段 | 必填 | 说明 |
|
|
445
|
+
|------|------|------|
|
|
446
|
+
| `condition` | 是 | OrGroup 判断条件,结构为 `(A and B) or (C and D)` |
|
|
447
|
+
|
|
448
|
+
### SwitchBranch
|
|
449
|
+
|
|
450
|
+
`children.links` 包含多个 `case` 边(`label` 建议用 `branch_1`、`branch_2`,语义写在 `desc`)。
|
|
451
|
+
|
|
452
|
+
```json
|
|
453
|
+
{
|
|
454
|
+
"mode": "exclusive",
|
|
455
|
+
"no_match_action": "classifyToOther",
|
|
456
|
+
"child_branch_list": [
|
|
457
|
+
{
|
|
458
|
+
"name": "高优先级",
|
|
459
|
+
"condition": {
|
|
460
|
+
"conjunction": "or",
|
|
461
|
+
"conditions": [
|
|
462
|
+
{
|
|
463
|
+
"conjunction": "and",
|
|
464
|
+
"conditions": [
|
|
465
|
+
{
|
|
466
|
+
"left_value": { "value_type": "ref", "value": "$.step_1.fieldxxx" },
|
|
467
|
+
"operator": "is",
|
|
468
|
+
"right_value": [{ "value_type": "text", "value": "P0" }]
|
|
469
|
+
}
|
|
470
|
+
]
|
|
471
|
+
}
|
|
472
|
+
]
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
]
|
|
476
|
+
}
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
| 字段 | 必填 | 说明 |
|
|
480
|
+
|------|------|------|
|
|
481
|
+
| `mode` | 否 | 分支模式。`exclusive`:排他模式,仅执行一个满足条件的子分支;`parallel`:并行模式,执行所有满足条件的子分支。默认 `exclusive` |
|
|
482
|
+
| `no_match_action` | 否 | `mode=exclusive` 时使用,无匹配时的处理策略。`classifyToOther`:归类到其他分支;`fail`:报错终止。默认 `classifyToOther` |
|
|
483
|
+
| `fail_mode` | 否 | `mode=parallel` 时使用,部分分支出错时策略。`partialSuccess`:部分成功即继续;`fail`:任一失败即终止。默认 `partialSuccess` |
|
|
484
|
+
| `match_mode` | 否 | `mode=parallel` 时使用,所有分支不满足时策略。`noneMatchSkip`:跳过继续;`noneMatchFail`:报错终止。默认 `noneMatchSkip` |
|
|
485
|
+
| `child_branch_list` | 是 | BranchItem[],1-10 个条件分支 |
|
|
486
|
+
|
|
487
|
+
`BranchItem`:
|
|
488
|
+
|
|
489
|
+
| 字段 | 类型 | 说明 |
|
|
490
|
+
|------|------|------|
|
|
491
|
+
| `name` | string | 分支名称 |
|
|
492
|
+
| `condition` | OrGroup | 分支条件 |
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
## System data 详细结构
|
|
496
|
+
|
|
497
|
+
### Loop
|
|
498
|
+
|
|
499
|
+
`children.links` 包含 `loop_start` 边指向循环体入口,`next` 指向循环结束后的后继节点。
|
|
500
|
+
|
|
501
|
+
```json
|
|
502
|
+
{
|
|
503
|
+
"loop_mode": "continue",
|
|
504
|
+
"max_loop_times": 100,
|
|
505
|
+
"data": [{ "value_type": "ref", "value": "$.find_record_stepIdxxx.fieldRecords" }]
|
|
506
|
+
}
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
| 字段 | 必填 | 说明 |
|
|
510
|
+
|------|------|------|
|
|
511
|
+
| `data` | 是 | ValueInfo[](仅支持 `ref` 类型),循环数据源,只能填一个 |
|
|
512
|
+
| `loop_mode` | 否 | 单次错误时是否继续:`end`(终止)/ `continue`(继续) |
|
|
513
|
+
| `max_loop_times` | 否 | 最大循环次数 |
|
|
514
|
+
|
|
515
|
+
---
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
## 公共类型
|
|
519
|
+
|
|
520
|
+
### ValueInfo
|
|
521
|
+
|
|
522
|
+
所有值的基础类型,通过 `value_type` 区分:
|
|
523
|
+
|
|
524
|
+
| value_type | value 类型 | 说明 | 示例 |
|
|
525
|
+
|------------|-----------|------|------|
|
|
526
|
+
| `text` | string | 文本 | `"张三"` |
|
|
527
|
+
| `number` | number | 数字 | `100` |
|
|
528
|
+
| `boolean` | boolean | 布尔值 | `true` |
|
|
529
|
+
| `date` | string | 日期,可以是具体时间字符串,或者相对时间值 | `"2025/01/01"`、`"2025/01/01 11:00"`、`"now"`、`"now 11:00"`、`"today"`、`"today 11:00"`、`"yesterday"`、`"yesterday 11:00"`、`"lastWeek"`、`"currentMonth"`、`"lastMonth"`、`"theLastWeek"`、`"theNextWeek"`、`"theLastMonth"`、`"theNextMonth"` |
|
|
530
|
+
| `option` | `{ id, name }` | 选项 | `{ "id": "opt1", "name": "已完成" }` |
|
|
531
|
+
| `link` | `{ text, link }` | 链接(含文字和 URL), 文字和 URL 的格式可以是 ValueInfo 中的 text/ref 类型 | `{ "text": [{ "value_type": "text", "value": "查看详情" }], "link": [{ "value_type": "text", "value": "https://example.com" }] }`、`{ "text": [{ "value_type": "text", "value": "查看详情" }], "link": [{ "value_type": "ref", "value": "$.step_1.fldXXX" }] }` |
|
|
532
|
+
| `user` | `{ id, name }` | 用户 OpenID、名字 | `{ "id": "ou_xxxx", "name": "张三" }` |
|
|
533
|
+
| `group` | `{ id, name }` | 群 Chat ID、名字 | `{ "id": "oc_xxx", "name": "测试群" }` |
|
|
534
|
+
| `ref` | `string` | 引用前置节点输出的路径 | 参考 ref 引用变量详解 章节 |
|
|
535
|
+
|
|
536
|
+
> ⚠️ **所有涉及用户的 value 中的 id 统一使用 OpenID(`ou_xxxx` 格式)**,由 CLI 层来完成转换
|
|
537
|
+
> ⚠️ **所有涉及群的 value 中的 id 统一使用 ChatID(`oc_xxxx` 格式)**,由 CLI 层来完成转换
|
|
538
|
+
|
|
539
|
+
### ref 引用变量详解
|
|
540
|
+
|
|
541
|
+
`ref` 类型是工作流中节点间数据传递的核心机制。当 `value_type` 为 `ref` 时,`value` 指向前置节点的某个输出变量。本节详细描述每个节点可供引用的输出变量定义。
|
|
542
|
+
|
|
543
|
+
#### 引用路径格式
|
|
544
|
+
|
|
545
|
+
```
|
|
546
|
+
$.{stepId}
|
|
547
|
+
$.{stepId}.{pathId}
|
|
548
|
+
$.{stepId}.{pathId}.{childPathId}
|
|
549
|
+
$.{stepId}.{pathId}.{childPathId}.{grandChildPathId}
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
- `{stepId}`:前置节点的 `id`(即 WorkflowStep 中的 `id` 字段)
|
|
553
|
+
- `{pathId}`:节点输出的路径标识符
|
|
554
|
+
- 支持多层下钻,如引用字段的属性:`$.step_1.fldXXX.name`
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
#### 触发器节点输出
|
|
559
|
+
|
|
560
|
+
##### 记录触发器(AddRecordTrigger / ChangeRecordTrigger / SetRecordTrigger / ReminderTrigger)
|
|
561
|
+
|
|
562
|
+
这 4 个触发器的输出结构完全一致:
|
|
563
|
+
|
|
564
|
+
| pathId | 说明 | 引用示例 |
|
|
565
|
+
|--------|------|----------|
|
|
566
|
+
| `{fieldId}` | 字段id,从配置表的所有字段或者指定字段id生成,可下钻字段属性 | `$.{stepId}.{fieldId}` |
|
|
567
|
+
| `{fieldId}.fieldId` | 字段id属性 | `$.{stepId}.{fieldId}.fieldId}` |
|
|
568
|
+
| `{fieldId}.fieldName` | 字段名属性 | `$.{stepId}.{fieldId}.fieldName}` |
|
|
569
|
+
| `startTime` | 触发时间戳 | `$.{stepId}.startTime` |
|
|
570
|
+
| `recordId` | 记录 ID | `$.{stepId}.recordId` |
|
|
571
|
+
| `recordLink` | 记录链接 | `$.{stepId}.recordLink` |
|
|
572
|
+
| `recordCreatedUser` | 记录创建者 | `$.{stepId}.recordCreatedUser` |
|
|
573
|
+
| `recordCreatedTime` | 记录创建时间 | `$.{stepId}.recordCreatedTime` |
|
|
574
|
+
| `recordModifiedUser` | 最后修改者 | `$.{stepId}.recordModifiedUser` |
|
|
575
|
+
| `recordModifiedTime` | 最后修改时间 | `$.{stepId}.recordModifiedTime` |
|
|
576
|
+
|
|
577
|
+
**动态字段输出规则**:
|
|
578
|
+
|
|
579
|
+
- 读取触发器所配置的数据表的所有字段
|
|
580
|
+
- 每个字段生成一条输出:`pathId` = fieldId
|
|
581
|
+
- 若字段为关联字段,children 为关联表所有字段(单层下钻,不再递归)
|
|
582
|
+
- 每个字段可下钻特定的字段属性(见「字段属性下钻」)
|
|
583
|
+
|
|
584
|
+
**recordLink 的 children**:如果配置了数据表,则为该表所有视图的列表,每个视图 `{ pathId: viewId, pathName: viewName, pathType: 'string' }`。引用示例:`$.{stepId}.recordLink.{viewId}`。
|
|
585
|
+
|
|
586
|
+
##### TimerTrigger(定时触发器)
|
|
587
|
+
|
|
588
|
+
| pathId | 说明 | 引用示例 |
|
|
589
|
+
|--------|------|----------|
|
|
590
|
+
| `scheduleTime` | 定时触发时间 | `$.{stepId}.scheduleTime` |
|
|
591
|
+
|
|
592
|
+
##### LarkMessageTrigger(飞书消息触发器)
|
|
593
|
+
|
|
594
|
+
| pathId | 说明 | 引用示例 |
|
|
595
|
+
|--------|------|----------|
|
|
596
|
+
| `Sender` | 消息发送者 | `$.{stepId}.Sender` |
|
|
597
|
+
| `AtUser` | 消息中被@的用户 | `$.{stepId}.AtUser` |
|
|
598
|
+
| `SenderGroup` | 消息所在群(仅群聊场景) | `$.{stepId}.SenderGroup` |
|
|
599
|
+
| `MessageSendTime` | 消息发送时间 | `$.{stepId}.MessageSendTime` |
|
|
600
|
+
| `MessageContent` | 消息正文 | `$.{stepId}.MessageContent` |
|
|
601
|
+
| `MessageType` | 消息类型标识 | `$.{stepId}.MessageType` |
|
|
602
|
+
| `MessageID` | 消息唯一标识 | `$.{stepId}.MessageID` |
|
|
603
|
+
| `MessageLink` | 消息链接(仅群聊场景) | `$.{stepId}.MessageLink` |
|
|
604
|
+
| `ParentID` | 回复的消息 ID | `$.{stepId}.ParentID` |
|
|
605
|
+
| `ThreadID` | 所在话题消息 ID | `$.{stepId}.ThreadID` |
|
|
606
|
+
| `Attachments` | 消息中的附件 | `$.{stepId}.Attachments` |
|
|
607
|
+
|
|
608
|
+
条件限制:
|
|
609
|
+
|
|
610
|
+
- 若场景为单聊(`receive_scene = "Chat"`),则 `SenderGroup` 和 `MessageLink` 不可用
|
|
611
|
+
|
|
612
|
+
---
|
|
613
|
+
|
|
614
|
+
#### 操作节点输出
|
|
615
|
+
|
|
616
|
+
##### FindRecordAction(查找记录)
|
|
617
|
+
|
|
618
|
+
| pathId | 说明 | 引用示例|
|
|
619
|
+
|--------|------|-------|
|
|
620
|
+
| `fieldRecords` | 所有找到的记录的引用(可用于 Loop 遍历) | `$.{stepId}.fieldRecords`|
|
|
621
|
+
| `firstfieldsRecord` | 第一条匹配记录 | `$.{stepId}.firstfieldsRecord`|
|
|
622
|
+
| `firstfieldsRecord.{fieldId}` | 首条记录的字段值,可下钻字段属性 | `$.{stepId}.firstfieldsRecord.{fieldId}`|
|
|
623
|
+
| `firstfieldsRecord.recordId` | 记录 ID 数组 | `$.{stepId}.firstfieldsRecord.recordId`|
|
|
624
|
+
| `fields` | 查找到的所有记录某列值 | 不支持引用|
|
|
625
|
+
| `fields.{fieldId}` | 用户选择的字段 | `$.{stepId}.fields.{fieldId}`|
|
|
626
|
+
| `fields.{fieldId}.fieldId` | 用户选择的字段id数组 | `$.{stepId}.fields.{fieldId}.fieldId`|
|
|
627
|
+
| `fields.{fieldId}.fieldName` | 用户选择的字段名数组 | `$.{stepId}.fields.{fieldId}.fieldName`|
|
|
628
|
+
| `fields.recordId` | 记录 ID 数组 | `$.{stepId}.fields.recordId`|
|
|
629
|
+
| `recordNum` | 找到记录总数 | `$.{stepId}.recordNum`|
|
|
630
|
+
|
|
631
|
+
##### AddRecordAction(新增记录)
|
|
632
|
+
|
|
633
|
+
| pathId | 说明 | 引用示例 |
|
|
634
|
+
|--------|------|----------|
|
|
635
|
+
| `{fieldId}` | 用户配置的字段值,可下钻字段属性 | `$.{stepId}.{fieldId}` |
|
|
636
|
+
| `{fieldId}.fieldId` | 用户配置的字段id | `$.{stepId}.{fieldId}.fieldId}` |
|
|
637
|
+
| `{fieldId}.fieldName` | 用户配置的字段名 | `$.{stepId}.{fieldId}.fieldName}` |
|
|
638
|
+
| `recordId` | 新增的记录 ID | `$.{stepId}.recordId` |
|
|
639
|
+
| `recordLink` | 新增的记录 URL | `$.{stepId}.recordLink` |
|
|
640
|
+
|
|
641
|
+
##### SetRecordAction(更新记录)
|
|
642
|
+
|
|
643
|
+
| pathId | 说明 | 引用示例 |
|
|
644
|
+
|--------|------|----------|
|
|
645
|
+
| `{fieldId}` | 用户配置的字段值,可下钻字段属性 | `$.{stepId}.{fieldId}` |
|
|
646
|
+
| `{fieldId}.fieldId` | 用户配置的字段id | `$.{stepId}.{fieldId}.fieldId}` |
|
|
647
|
+
| `{fieldId}.fieldName` | 用户配置的字段名 | `$.{stepId}.{fieldId}.fieldName}` |
|
|
648
|
+
| `recordId` | 记录 ID 数组(因可能更新多条记录) | `$.{stepId}.recordId` |
|
|
649
|
+
|
|
650
|
+
##### GenerateAiTextAction(AI 生成文本)
|
|
651
|
+
|
|
652
|
+
| pathId | 说明 | 引用示例 |
|
|
653
|
+
|--------|------|----------|
|
|
654
|
+
| (整体出参) | AI 生成的文本内容(不支持下钻,只能引用 `$.{stepId}`) | `$.{stepId}` |
|
|
655
|
+
|
|
656
|
+
##### 无输出的操作节点
|
|
657
|
+
|
|
658
|
+
以下节点不产生任何可引用的输出数据:
|
|
659
|
+
|
|
660
|
+
- **Delay**(延时等待)
|
|
661
|
+
- **LarkMessageAction**(发送飞书消息)
|
|
662
|
+
|
|
663
|
+
---
|
|
664
|
+
|
|
665
|
+
#### 分支节点输出
|
|
666
|
+
|
|
667
|
+
以下分支节点均不产生任何可引用的输出数据:
|
|
668
|
+
|
|
669
|
+
- **IfElseBranch**(条件分支)
|
|
670
|
+
- **SwitchBranch**(多条件分支)
|
|
671
|
+
|
|
672
|
+
---
|
|
673
|
+
|
|
674
|
+
#### 系统节点输出
|
|
675
|
+
|
|
676
|
+
##### Loop(循环)
|
|
677
|
+
|
|
678
|
+
| pathId | 说明 | 引用示例 |
|
|
679
|
+
|--------|------|----------|
|
|
680
|
+
| `item` | 当前循环元素 | `$.{stepId}.item` |
|
|
681
|
+
| `index` | 从 0 开始的循环索引 | `$.{stepId}.index` |
|
|
682
|
+
|
|
683
|
+
**`item` 的类型推断规则**(由循环数据源决定):
|
|
684
|
+
|
|
685
|
+
**场景一:遍历组合记录** — 数据源为 `record` 类型时(如 FindRecordAction 的 `fieldRecords`),`item` 类型为 `record`,可向下选择具体字段:
|
|
686
|
+
|
|
687
|
+
| 说明 | 引用示例 |
|
|
688
|
+
|------|----------|
|
|
689
|
+
| 当前遍历的记录(record) | `$.{loopStepId}.item` |
|
|
690
|
+
| 记录的具体字段 | `$.{loopStepId}.item.{fieldId}` |
|
|
691
|
+
| 从 0 开始的索引(number) | `$.{loopStepId}.index` |
|
|
692
|
+
|
|
693
|
+
**场景二:遍历字段** — 数据源为某个多值类型字段时,比如附件字段、人员字段,`item` 继承该字段的类型并可继续下钻字段属性:
|
|
694
|
+
|
|
695
|
+
| 说明 | 引用示例 |
|
|
696
|
+
|------|----------|
|
|
697
|
+
| 当前遍历的元素(类型继承数据源字段类型,例如人员字段) | `$.{loopStepId}.item` |
|
|
698
|
+
| 用户姓名 | `$.{loopStepId}.item.name` |
|
|
699
|
+
| 从 0 开始的索引(number) | `$.{loopStepId}.index` |
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
#### 字段属性下钻
|
|
704
|
+
|
|
705
|
+
每个字段变量都可以进一步下钻选择字段的属性。所有字段至少支持 `fieldId` 和 `fieldName` 两个基础属性,部分字段还支持额外属性:
|
|
706
|
+
|
|
707
|
+
| 字段类型 | 属性名称 | 属性 pathId | 属性 pathType | 说明 |
|
|
708
|
+
|----------|---------|-------------|--------------|------|
|
|
709
|
+
| **所有字段(基础)** | 字段 ID | `fieldId` | `string` | 字段的唯一标识 |
|
|
710
|
+
| | 字段名称 | `fieldName` | `string` | 字段的显示名称 |
|
|
711
|
+
| **人员字段**(`user` / `created_by` / `updated_by`) | 姓名 | `name` | `string` | 用户姓名 |
|
|
712
|
+
| **日期字段**(`datetime` / `created_at` / `updated_at`) | 时间戳 | `timestamp` | `number` | 时间戳数值 |
|
|
713
|
+
| **附件字段**(`attachment`) | 文件名 | `fileName` | `string` | 附件文件名 |
|
|
714
|
+
| | 文件类型 | `fileType` | `string` | MIME 类型 |
|
|
715
|
+
| | 文件大小 | `size` | `number` | 文件字节数 |
|
|
716
|
+
| | 文件 Token | `fileToken` | `string` | 附件 token |
|
|
717
|
+
| **超链接文本字段**(`text` 且 `style.type=url`) | 文本 | `text` | `string` | 链接文本部分 |
|
|
718
|
+
| | 链接 | `link` | `string` | 链接 URL 部分 |
|
|
719
|
+
| **自动编号字段**(`auto_number`) | 序号 | `sequence` | `number` | 编号的纯数字序号 |
|
|
720
|
+
| **关联字段**(`link`) | 字段下钻 | `{fieldId}` | - | 可下钻到关联表的字段 |
|
|
721
|
+
|
|
722
|
+
> 其他字段类型(如 `text`、`number`、`checkbox`、`select`、`location`、`formula`、`lookup` 等)仅支持 `fieldId` 和 `fieldName` 两个基础属性。
|
|
723
|
+
|
|
724
|
+
下钻引用示例:
|
|
725
|
+
|
|
726
|
+
```
|
|
727
|
+
$.{stepId}.{fieldId} → 字段值本身
|
|
728
|
+
$.{stepId}.{fieldId}.fieldId → 字段 ID(string)
|
|
729
|
+
$.{stepId}.{fieldId}.fieldName → 字段名称(string)
|
|
730
|
+
$.{stepId}.{fieldId}.name → 人员姓名列表(array<string>,仅人员字段)
|
|
731
|
+
$.{stepId}.{fieldId}.unionId → 人员 unionId 列表(array<string>,仅人员字段)
|
|
732
|
+
$.{stepId}.{fieldId}.timestamp → 时间戳(array<number>,仅日期字段)
|
|
733
|
+
$.{stepId}.{fieldId}.fileName → 文件名列表(array<string>,仅附件字段)
|
|
734
|
+
$.{stepId}.{fieldId}.fileToken → 文件 Token 列表(array<string>,仅附件字段)
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
---
|
|
738
|
+
|
|
739
|
+
#### 节点输出能力总览
|
|
740
|
+
|
|
741
|
+
| 节点 | 类型 | 有输出 | 输出特性 |
|
|
742
|
+
|------|------|--------|---------|
|
|
743
|
+
| AddRecordTrigger | 触发器 | ✅ | 动态(表字段 + 记录属性) |
|
|
744
|
+
| ChangeRecordTrigger | 触发器 | ✅ | 动态(表字段 + 记录属性) |
|
|
745
|
+
| SetRecordTrigger | 触发器 | ✅ | 动态(表字段 + 记录属性) |
|
|
746
|
+
| ReminderTrigger | 触发器 | ✅ | 动态(表字段 + 记录属性) |
|
|
747
|
+
| TimerTrigger | 触发器 | ✅ | 静态(仅 scheduleTime) |
|
|
748
|
+
| LarkMessageTrigger | 触发器 | ✅ | 静态(消息属性列表) |
|
|
749
|
+
| FindRecordAction | 动作 | ✅ | 动态(用户选择的字段) |
|
|
750
|
+
| AddRecordAction | 动作 | ✅ | 动态(用户配置的字段) |
|
|
751
|
+
| SetRecordAction | 动作 | ✅ | 动态(用户配置的字段) |
|
|
752
|
+
| GenerateAiTextAction | 动作 | ✅ | 静态(单 string) |
|
|
753
|
+
| Delay | 动作 | ❌ | 无输出 |
|
|
754
|
+
| LarkMessageAction | 动作 | ❌ | 无输出 |
|
|
755
|
+
| IfElseBranch | 分支 | ❌ | 无输出 |
|
|
756
|
+
| SwitchBranch | 分支 | ❌ | 无输出 |
|
|
757
|
+
| Loop | 系统 | ✅ | 动态(取决于数据源) |
|
|
758
|
+
|
|
759
|
+
---
|
|
760
|
+
|
|
761
|
+
### TextRefItem
|
|
762
|
+
|
|
763
|
+
文本与引用混排,用于消息内容等动态拼接场景:
|
|
764
|
+
|
|
765
|
+
```json
|
|
766
|
+
[
|
|
767
|
+
{ "value_type": "text", "value": "客户 " },
|
|
768
|
+
{ "value_type": "ref", "value": "$.step_1.fieldxxx" },
|
|
769
|
+
{ "value_type": "text", "value": " 创建了新订单" }
|
|
770
|
+
]
|
|
771
|
+
```
|
|
772
|
+
|
|
773
|
+
### RecordFieldValue
|
|
774
|
+
|
|
775
|
+
```json
|
|
776
|
+
{ "field_name": "客户名称", "value": [{ "value_type": "text", "value": "张三" }] }
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
### AndCondition(Trigger 过滤条件)
|
|
780
|
+
|
|
781
|
+
```json
|
|
782
|
+
{
|
|
783
|
+
"conjunction": "and",
|
|
784
|
+
"conditions": [
|
|
785
|
+
{ "field_name": "状态", "operator": "is", "value": [{ "value_type": "text", "value": "进行中" }] }
|
|
786
|
+
]
|
|
787
|
+
}
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
### OrGroup(Branch 分支条件)
|
|
791
|
+
|
|
792
|
+
```json
|
|
793
|
+
{
|
|
794
|
+
"conjunction": "or",
|
|
795
|
+
"conditions": [
|
|
796
|
+
{
|
|
797
|
+
"conjunction": "and",
|
|
798
|
+
"conditions": [
|
|
799
|
+
{
|
|
800
|
+
"left_value": { "value_type": "ref", "value": "$.step_1.fieldxxx" },
|
|
801
|
+
"operator": "isGreater",
|
|
802
|
+
"right_value": [{ "value_type": "number", "value": 1000 }]
|
|
803
|
+
}
|
|
804
|
+
]
|
|
805
|
+
}
|
|
806
|
+
]
|
|
807
|
+
}
|
|
808
|
+
```
|
|
809
|
+
|
|
810
|
+
**operator 可选值:** `is` / `isNot` / `containsAny` / `doesNotContainAny` / /`containsAll`/ `isEmpty` / `isNotEmpty` / `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual`
|
|
811
|
+
|
|
812
|
+
### RecordFilterInfo
|
|
813
|
+
** 由于 conjunction 只支持 and,若需要实现 字段X 等于 A 或 B,你可以使用 containsAny
|
|
814
|
+
```json
|
|
815
|
+
{
|
|
816
|
+
"conjunction": "and",
|
|
817
|
+
"conditions": [
|
|
818
|
+
{ "field_name": "状态", "operator": "is", "value": [{ "value_type": "text", "value": "进行中" }] }
|
|
819
|
+
]
|
|
820
|
+
}
|
|
821
|
+
```
|
|
822
|
+
|
|
823
|
+
### `select` 字段多值匹配
|
|
824
|
+
|
|
825
|
+
| 操作 | operator | 正确写法 |
|
|
826
|
+
|------|---------|---------|
|
|
827
|
+
| 等于单个值 | `is` | `[{"value_type": "option", "value": {"name": "L2"}}]` |
|
|
828
|
+
| 匹配多个值(L2 或 L3) | `containsAny` | `[{"value_type": "option", "value": {"name": "L2"}}, {"value_type": "option", "value": {"name": "L3"}}]` |
|
|
829
|
+
|
|
830
|
+
> ⚠️ 不要用多个 `is` 条件(会被当作 OR,无法实现 AND)。推荐使用 `containsAny` 操作符匹配多个值。
|
|
831
|
+
|
|
832
|
+
> ⚠️ **Select 字段条件**:`value_type` 必须为 `option`,`value` 对象可只传 `name`(如 `{"name": "L2"}`),无需提供选项 ID。
|
|
833
|
+
|
|
834
|
+
### RefInfo
|
|
835
|
+
|
|
836
|
+
```json
|
|
837
|
+
{ "step_id": "step_trigger" }
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
---
|
|
841
|
+
|
|
842
|
+
## 完整示例:条件分支 + 发送消息
|
|
843
|
+
|
|
844
|
+
```json
|
|
845
|
+
{
|
|
846
|
+
"title": "新订单自动通知",
|
|
847
|
+
"steps": [
|
|
848
|
+
{
|
|
849
|
+
"id": "step_1",
|
|
850
|
+
"type": "AddRecordTrigger",
|
|
851
|
+
"title": "当「订单表」新增记录时触发",
|
|
852
|
+
"next": "step_2",
|
|
853
|
+
"data": {
|
|
854
|
+
"table_name": "订单表",
|
|
855
|
+
"watched_field_name": "订单编号"
|
|
856
|
+
}
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"id": "step_2",
|
|
860
|
+
"type": "IfElseBranch",
|
|
861
|
+
"title": "判断订单金额是否大于 1000",
|
|
862
|
+
"children": {
|
|
863
|
+
"links": [
|
|
864
|
+
{ "kind": "if_true", "to": "step_3" },
|
|
865
|
+
{ "kind": "if_false", "to": "step_4" }
|
|
866
|
+
]
|
|
867
|
+
},
|
|
868
|
+
"next": "step_5",
|
|
869
|
+
"data": {
|
|
870
|
+
"condition": {
|
|
871
|
+
"conjunction": "or",
|
|
872
|
+
"conditions": [{
|
|
873
|
+
"conjunction": "and",
|
|
874
|
+
"conditions": [{
|
|
875
|
+
"left_value": { "value_type": "ref", "value": "$.step_1.fieldxxx" },
|
|
876
|
+
"operator": "isGreater",
|
|
877
|
+
"right_value": [{ "value_type": "number", "value": 1000 }]
|
|
878
|
+
}]
|
|
879
|
+
}]
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"id": "step_3",
|
|
885
|
+
"type": "LarkMessageAction",
|
|
886
|
+
"title": "通知主管审批大额订单",
|
|
887
|
+
"next": null,
|
|
888
|
+
"data": {
|
|
889
|
+
"receiver": [{ "value_type": "ref", "value": "$.step_1.fieldxxx" }],
|
|
890
|
+
"send_to_everyone": false,
|
|
891
|
+
"title": [{ "value_type": "text", "value": "大额订单提醒" }],
|
|
892
|
+
"content": [
|
|
893
|
+
{ "value_type": "text", "value": "新订单金额为:" },
|
|
894
|
+
{ "value_type": "ref", "value": "$.step_1.fieldxxx" },
|
|
895
|
+
{ "value_type": "text", "value": "元,请及时审批。" }
|
|
896
|
+
],
|
|
897
|
+
"btn_list": []
|
|
898
|
+
}
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"id": "step_4",
|
|
902
|
+
"type": "SetRecordAction",
|
|
903
|
+
"title": "自动标记小额订单为已通过",
|
|
904
|
+
"next": null,
|
|
905
|
+
"data": {
|
|
906
|
+
"table_name": "订单表",
|
|
907
|
+
"ref_info": { "step_id": "step_1" },
|
|
908
|
+
"field_values": [
|
|
909
|
+
{ "field_name": "审批状态", "value": [{ "value_type": "text", "value": "已通过" }] }
|
|
910
|
+
]
|
|
911
|
+
}
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"id": "step_5",
|
|
915
|
+
"type": "GenerateAiTextAction",
|
|
916
|
+
"title": "AI 生成订单处理日报",
|
|
917
|
+
"next": null,
|
|
918
|
+
"data": {
|
|
919
|
+
"prompt": [
|
|
920
|
+
{ "value_type": "text", "value": "请根据以下订单信息生成一份简要的处理日报:" },
|
|
921
|
+
{ "value_type": "ref", "value": "$.step_1.fieldxxx" }
|
|
922
|
+
]
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
]
|
|
926
|
+
}
|
|
927
|
+
```
|
|
928
|
+
|
|
929
|
+
---
|
|
930
|
+
|
|
931
|
+
## 参考
|
|
932
|
+
|
|
933
|
+
- [lark-base-workflow-create](lark-base-workflow-create.md) — 创建工作流命令
|
|
934
|
+
- [lark-base-workflow-update](lark-base-workflow-update.md) — 更新工作流命令
|
|
935
|
+
- [lark-base-workflow-list](lark-base-workflow-list.md) — 列出工作流命令
|