@amaster.ai/pi-lark 0.1.4 → 0.1.6
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/package.json +3 -3
- package/skills/lark-approval/SKILL.md +99 -0
- package/skills/lark-approval/references/lark-approval-approvals-get.md +128 -0
- package/skills/lark-approval/references/lark-approval-approvals-search.md +103 -0
- package/skills/lark-approval/references/lark-approval-initiate.md +221 -0
- package/skills/lark-approval/references/lark-approval-instance-form-control-parameters.md +606 -0
- package/skills/lark-approval/references/lark-approval-instance-value-sourcing.md +108 -0
- package/skills/lark-approval/references/lark-approval-instances-cancel.md +78 -0
- package/skills/lark-approval/references/lark-approval-instances-cc.md +105 -0
- package/skills/lark-approval/references/lark-approval-instances-get.md +145 -0
- package/skills/lark-approval/references/lark-approval-instances-initiated.md +128 -0
- package/skills/lark-approval/references/lark-approval-tasks-add-sign.md +120 -0
- package/skills/lark-approval/references/lark-approval-tasks-approve.md +81 -0
- package/skills/lark-approval/references/lark-approval-tasks-query.md +85 -0
- package/skills/lark-approval/references/lark-approval-tasks-reject.md +73 -0
- package/skills/lark-approval/references/lark-approval-tasks-remind.md +82 -0
- package/skills/lark-approval/references/lark-approval-tasks-rollback.md +89 -0
- package/skills/lark-approval/references/lark-approval-tasks-transfer.md +91 -0
- package/skills/lark-apps/SKILL.md +110 -0
- package/skills/lark-apps/references/lark-apps-access-scope-get.md +28 -0
- package/skills/lark-apps/references/lark-apps-access-scope-set.md +40 -0
- package/skills/lark-apps/references/lark-apps-automation.md +164 -0
- package/skills/lark-apps/references/lark-apps-cloud-dev.md +120 -0
- package/skills/lark-apps/references/lark-apps-create.md +40 -0
- package/skills/lark-apps/references/lark-apps-db-execute.md +228 -0
- package/skills/lark-apps/references/lark-apps-db.md +162 -0
- package/skills/lark-apps/references/lark-apps-env-pull.md +37 -0
- package/skills/lark-apps/references/lark-apps-env.md +48 -0
- package/skills/lark-apps/references/lark-apps-file.md +96 -0
- package/skills/lark-apps/references/lark-apps-get.md +43 -0
- package/skills/lark-apps/references/lark-apps-git-credential.md +37 -0
- package/skills/lark-apps/references/lark-apps-html-publish.md +62 -0
- package/skills/lark-apps/references/lark-apps-init.md +36 -0
- package/skills/lark-apps/references/lark-apps-list.md +37 -0
- package/skills/lark-apps/references/lark-apps-local-dev.md +78 -0
- package/skills/lark-apps/references/lark-apps-observability.md +48 -0
- package/skills/lark-apps/references/lark-apps-openapi-key.md +79 -0
- package/skills/lark-apps/references/lark-apps-plugin-install.md +36 -0
- package/skills/lark-apps/references/lark-apps-plugin-list.md +23 -0
- package/skills/lark-apps/references/lark-apps-plugin-uninstall.md +25 -0
- package/skills/lark-apps/references/lark-apps-release-create.md +32 -0
- package/skills/lark-apps/references/lark-apps-release-get.md +28 -0
- package/skills/lark-apps/references/lark-apps-release-list.md +31 -0
- package/skills/lark-apps/references/lark-apps-role.md +133 -0
- package/skills/lark-apps/references/lark-apps-session-messages-list.md +53 -0
- package/skills/lark-apps/references/lark-apps-update.md +30 -0
- package/skills/lark-attendance/SKILL.md +57 -0
- package/skills/lark-base/SKILL.md +161 -0
- package/skills/lark-base/references/dashboard-block-data-config.md +376 -0
- package/skills/lark-base/references/formula-field-guide.md +737 -0
- package/skills/lark-base/references/lark-base-cell-value.md +158 -0
- package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +717 -0
- package/skills/lark-base/references/lark-base-dashboard.md +247 -0
- package/skills/lark-base/references/lark-base-data-analysis-sop.md +210 -0
- package/skills/lark-base/references/lark-base-data-query-guide.md +61 -0
- package/skills/lark-base/references/lark-base-data-query.md +454 -0
- package/skills/lark-base/references/lark-base-field-create.md +105 -0
- package/skills/lark-base/references/lark-base-field-json.md +527 -0
- package/skills/lark-base/references/lark-base-field-update.md +173 -0
- package/skills/lark-base/references/lark-base-form-detail.md +71 -0
- package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
- package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
- package/skills/lark-base/references/lark-base-form-submit.md +170 -0
- package/skills/lark-base/references/lark-base-record-batch-create.md +57 -0
- package/skills/lark-base/references/lark-base-record-batch-update.md +52 -0
- package/skills/lark-base/references/lark-base-record-history-list.md +43 -0
- package/skills/lark-base/references/lark-base-record-upsert.md +63 -0
- package/skills/lark-base/references/lark-base-role-guide.md +65 -0
- package/skills/lark-base/references/lark-base-view-set-filter.md +191 -0
- package/skills/lark-base/references/lark-base-workflow-guide.md +830 -0
- package/skills/lark-base/references/lark-base-workflow-schema.md +1071 -0
- package/skills/lark-base/references/lookup-field-guide.md +512 -0
- package/skills/lark-base/references/role-config.md +549 -0
- package/skills/lark-calendar/SKILL.md +198 -0
- package/skills/lark-calendar/references/lark-calendar-create.md +83 -0
- package/skills/lark-calendar/references/lark-calendar-meeting.md +40 -0
- package/skills/lark-calendar/references/lark-calendar-recurring.md +90 -0
- package/skills/lark-calendar/references/lark-calendar-room-find.md +109 -0
- package/skills/lark-calendar/references/lark-calendar-rsvp.md +38 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-clear-time.md +59 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-fuzzy-time.md +88 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +122 -0
- package/skills/lark-calendar/references/lark-calendar-suggestion.md +121 -0
- package/skills/lark-calendar/references/lark-calendar-update.md +100 -0
- package/skills/lark-contact/SKILL.md +55 -0
- package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
- package/skills/lark-contact/references/lark-contact-search-user.md +123 -0
- package/skills/lark-doc/SKILL.md +84 -0
- package/skills/lark-doc/references/lark-doc-create.md +80 -0
- package/skills/lark-doc/references/lark-doc-fetch.md +140 -0
- package/skills/lark-doc/references/lark-doc-history.md +107 -0
- package/skills/lark-doc/references/lark-doc-md.md +76 -0
- package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
- package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
- package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
- package/skills/lark-doc/references/lark-doc-mindnote.md +128 -0
- package/skills/lark-doc/references/lark-doc-resource-cover.md +70 -0
- package/skills/lark-doc/references/lark-doc-update.md +260 -0
- package/skills/lark-doc/references/lark-doc-whiteboard.md +158 -0
- package/skills/lark-doc/references/lark-doc-word-stat.md +93 -0
- package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +35 -0
- package/skills/lark-doc/references/lark-doc-xml.md +182 -0
- package/skills/lark-doc/references/style/lark-doc-create-workflow.md +47 -0
- package/skills/lark-doc/references/style/lark-doc-style.md +68 -0
- package/skills/lark-doc/references/style/lark-doc-update-workflow.md +48 -0
- package/skills/lark-doc/scripts/doc_word_stat.py +1243 -0
- package/skills/lark-drive/SKILL.md +232 -0
- package/skills/lark-drive/references/lark-drive-add-comment.md +193 -0
- package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
- package/skills/lark-drive/references/lark-drive-comment-location.md +205 -0
- package/skills/lark-drive/references/lark-drive-comments-guide.md +80 -0
- package/skills/lark-drive/references/lark-drive-cover.md +79 -0
- package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
- package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
- package/skills/lark-drive/references/lark-drive-delete.md +103 -0
- package/skills/lark-drive/references/lark-drive-download.md +31 -0
- package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
- package/skills/lark-drive/references/lark-drive-export.md +174 -0
- package/skills/lark-drive/references/lark-drive-files-list.md +183 -0
- package/skills/lark-drive/references/lark-drive-import.md +178 -0
- package/skills/lark-drive/references/lark-drive-inspect.md +52 -0
- package/skills/lark-drive/references/lark-drive-list-comments.md +125 -0
- package/skills/lark-drive/references/lark-drive-member-add.md +66 -0
- package/skills/lark-drive/references/lark-drive-move.md +122 -0
- package/skills/lark-drive/references/lark-drive-permission-guide.md +53 -0
- package/skills/lark-drive/references/lark-drive-preview.md +87 -0
- package/skills/lark-drive/references/lark-drive-pull.md +137 -0
- package/skills/lark-drive/references/lark-drive-push.md +189 -0
- package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
- package/skills/lark-drive/references/lark-drive-search.md +273 -0
- package/skills/lark-drive/references/lark-drive-secure-label.md +52 -0
- package/skills/lark-drive/references/lark-drive-status.md +135 -0
- package/skills/lark-drive/references/lark-drive-task-result.md +355 -0
- package/skills/lark-drive/references/lark-drive-upload.md +101 -0
- package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
- package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
- package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
- package/skills/lark-drive/references/lark-drive-version-revert.md +35 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-analysis.md +249 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-discovery.md +253 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-execution.md +200 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md +336 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-rollback.md +308 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +232 -0
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md +168 -0
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance-outputs.md +424 -0
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +207 -0
- package/skills/lark-drive/references/lark-drive-workflow.md +131 -0
- package/skills/lark-event/SKILL.md +155 -0
- package/skills/lark-event/references/lark-event-approval.md +170 -0
- package/skills/lark-event/references/lark-event-im.md +87 -0
- package/skills/lark-event/references/lark-event-minutes.md +54 -0
- package/skills/lark-event/references/lark-event-task.md +78 -0
- package/skills/lark-event/references/lark-event-vc.md +106 -0
- package/skills/lark-event/references/lark-event-whiteboard.md +67 -0
- package/skills/lark-im/SKILL.md +249 -0
- package/skills/lark-im/references/card/card-2.0-schema.md +107 -0
- package/skills/lark-im/references/card/components/button.md +63 -0
- package/skills/lark-im/references/card/components/chart.md +57 -0
- package/skills/lark-im/references/card/components/checker.md +38 -0
- package/skills/lark-im/references/card/components/collapsible_panel.md +46 -0
- package/skills/lark-im/references/card/components/column_set.md +53 -0
- package/skills/lark-im/references/card/components/date_picker.md +34 -0
- package/skills/lark-im/references/card/components/div.md +36 -0
- package/skills/lark-im/references/card/components/form.md +51 -0
- package/skills/lark-im/references/card/components/header.md +34 -0
- package/skills/lark-im/references/card/components/hr.md +17 -0
- package/skills/lark-im/references/card/components/img.md +34 -0
- package/skills/lark-im/references/card/components/img_combination.md +30 -0
- package/skills/lark-im/references/card/components/input.md +43 -0
- package/skills/lark-im/references/card/components/interactive_container.md +46 -0
- package/skills/lark-im/references/card/components/markdown.md +56 -0
- package/skills/lark-im/references/card/components/multi_select_person.md +40 -0
- package/skills/lark-im/references/card/components/multi_select_static.md +40 -0
- package/skills/lark-im/references/card/components/overflow.md +36 -0
- package/skills/lark-im/references/card/components/person.md +30 -0
- package/skills/lark-im/references/card/components/person_list.md +31 -0
- package/skills/lark-im/references/card/components/picker_datetime.md +34 -0
- package/skills/lark-im/references/card/components/picker_time.md +34 -0
- package/skills/lark-im/references/card/components/recycling_container.md +35 -0
- package/skills/lark-im/references/card/components/select_img.md +42 -0
- package/skills/lark-im/references/card/components/select_person.md +39 -0
- package/skills/lark-im/references/card/components/select_static.md +43 -0
- package/skills/lark-im/references/card/components/table.md +53 -0
- package/skills/lark-im/references/card/lark-im-card-create.md +180 -0
- package/skills/lark-im/references/card/lark-im-card-style.md +281 -0
- package/skills/lark-im/references/card/resource/colors.md +34 -0
- package/skills/lark-im/references/card/resource/icons.md +38 -0
- package/skills/lark-im/references/lark-im-card-action-reply.md +175 -0
- package/skills/lark-im/references/lark-im-chat-create.md +162 -0
- package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
- package/skills/lark-im/references/lark-im-chat-list.md +166 -0
- package/skills/lark-im/references/lark-im-chat-members-list.md +83 -0
- package/skills/lark-im/references/lark-im-chat-messages-list.md +157 -0
- package/skills/lark-im/references/lark-im-chat-search.md +142 -0
- package/skills/lark-im/references/lark-im-chat-update.md +84 -0
- package/skills/lark-im/references/lark-im-feed-group-list-item.md +68 -0
- package/skills/lark-im/references/lark-im-feed-group-list.md +65 -0
- package/skills/lark-im/references/lark-im-feed-group-query-item.md +44 -0
- package/skills/lark-im/references/lark-im-feed-groups.md +452 -0
- package/skills/lark-im/references/lark-im-feed-shortcut-create.md +97 -0
- package/skills/lark-im/references/lark-im-feed-shortcut-list.md +103 -0
- package/skills/lark-im/references/lark-im-feed-shortcut-remove.md +48 -0
- package/skills/lark-im/references/lark-im-flag-cancel.md +67 -0
- package/skills/lark-im/references/lark-im-flag-create.md +67 -0
- package/skills/lark-im/references/lark-im-flag-list.md +100 -0
- package/skills/lark-im/references/lark-im-message-enrichment.md +54 -0
- package/skills/lark-im/references/lark-im-messages-mget.md +99 -0
- package/skills/lark-im/references/lark-im-messages-reply.md +277 -0
- package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
- package/skills/lark-im/references/lark-im-messages-search.md +234 -0
- package/skills/lark-im/references/lark-im-messages-send.md +279 -0
- package/skills/lark-im/references/lark-im-reactions.md +299 -0
- package/skills/lark-im/references/lark-im-threads-messages-list.md +115 -0
- package/skills/lark-mail/SKILL.md +290 -0
- package/skills/lark-mail/assets/templates/job-application--resume.html +33 -0
- package/skills/lark-mail/assets/templates/newsletter--weekly-brief.html +50 -0
- package/skills/lark-mail/assets/templates/research--market-report.html +256 -0
- package/skills/lark-mail/assets/templates/weekly--personal-report.html +43 -0
- package/skills/lark-mail/assets/templates/weekly--team-report.html +9 -0
- package/skills/lark-mail/references/lark-mail-calendar-invite.md +36 -0
- package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
- package/skills/lark-mail/references/lark-mail-draft-create.md +127 -0
- package/skills/lark-mail/references/lark-mail-draft-edit.md +404 -0
- package/skills/lark-mail/references/lark-mail-forward.md +239 -0
- package/skills/lark-mail/references/lark-mail-html.md +333 -0
- package/skills/lark-mail/references/lark-mail-lint-html.md +243 -0
- package/skills/lark-mail/references/lark-mail-message-modify.md +48 -0
- package/skills/lark-mail/references/lark-mail-message-trash.md +41 -0
- package/skills/lark-mail/references/lark-mail-message.md +233 -0
- package/skills/lark-mail/references/lark-mail-messages.md +108 -0
- package/skills/lark-mail/references/lark-mail-recall.md +66 -0
- package/skills/lark-mail/references/lark-mail-recipient-search.md +59 -0
- package/skills/lark-mail/references/lark-mail-reply-all.md +213 -0
- package/skills/lark-mail/references/lark-mail-reply.md +249 -0
- package/skills/lark-mail/references/lark-mail-rules.md +31 -0
- package/skills/lark-mail/references/lark-mail-send-as.md +44 -0
- package/skills/lark-mail/references/lark-mail-send-receipt.md +120 -0
- package/skills/lark-mail/references/lark-mail-send-status.md +46 -0
- package/skills/lark-mail/references/lark-mail-send.md +222 -0
- package/skills/lark-mail/references/lark-mail-share-to-chat.md +87 -0
- package/skills/lark-mail/references/lark-mail-signature.md +98 -0
- package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
- package/skills/lark-mail/references/lark-mail-template-update.md +150 -0
- package/skills/lark-mail/references/lark-mail-template.md +54 -0
- package/skills/lark-mail/references/lark-mail-thread.md +111 -0
- package/skills/lark-mail/references/lark-mail-triage.md +131 -0
- package/skills/lark-mail/references/lark-mail-watch.md +94 -0
- package/skills/lark-markdown/SKILL.md +70 -0
- package/skills/lark-markdown/references/lark-markdown-create.md +114 -0
- package/skills/lark-markdown/references/lark-markdown-diff.md +156 -0
- package/skills/lark-markdown/references/lark-markdown-fetch.md +79 -0
- package/skills/lark-markdown/references/lark-markdown-overwrite.md +85 -0
- package/skills/lark-markdown/references/lark-markdown-patch.md +160 -0
- package/skills/lark-minutes/SKILL.md +207 -0
- package/skills/lark-minutes/references/lark-minutes-detail.md +62 -0
- package/skills/lark-minutes/references/lark-minutes-download.md +135 -0
- package/skills/lark-minutes/references/lark-minutes-search.md +202 -0
- package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +107 -0
- package/skills/lark-minutes/references/lark-minutes-summary.md +120 -0
- package/skills/lark-minutes/references/lark-minutes-todo.md +136 -0
- package/skills/lark-minutes/references/lark-minutes-update.md +39 -0
- package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
- package/skills/lark-note/SKILL.md +94 -0
- package/skills/lark-note/references/lark-note-detail.md +26 -0
- package/skills/lark-note/references/lark-note-transcript.md +23 -0
- package/skills/lark-okr/SKILL.md +122 -0
- package/skills/lark-okr/references/lark-okr-alignments.md +180 -0
- package/skills/lark-okr/references/lark-okr-batch-create.md +106 -0
- package/skills/lark-okr/references/lark-okr-contentblock.md +427 -0
- package/skills/lark-okr/references/lark-okr-cycle-detail.md +91 -0
- package/skills/lark-okr/references/lark-okr-cycle-list.md +93 -0
- package/skills/lark-okr/references/lark-okr-entities.md +329 -0
- package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
- package/skills/lark-okr/references/lark-okr-indicator-update.md +80 -0
- package/skills/lark-okr/references/lark-okr-indicators.md +223 -0
- package/skills/lark-okr/references/lark-okr-patch.md +104 -0
- package/skills/lark-okr/references/lark-okr-progress-create.md +85 -0
- package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
- package/skills/lark-okr/references/lark-okr-progress-get.md +93 -0
- package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
- package/skills/lark-okr/references/lark-okr-progress-update.md +85 -0
- package/skills/lark-okr/references/lark-okr-reorder.md +81 -0
- package/skills/lark-okr/references/lark-okr-weight.md +96 -0
- package/skills/lark-openapi-explorer/SKILL.md +153 -0
- package/skills/lark-shared/SKILL.md +211 -0
- package/skills/lark-shared/references/lark-wiki-token-routing.md +42 -0
- package/skills/lark-sheets/SKILL.md +234 -0
- package/skills/lark-sheets/references/lark-sheets-batch-update.md +200 -0
- package/skills/lark-sheets/references/lark-sheets-changeset.md +105 -0
- package/skills/lark-sheets/references/lark-sheets-chart.md +332 -0
- package/skills/lark-sheets/references/lark-sheets-conditional-format.md +181 -0
- package/skills/lark-sheets/references/lark-sheets-filter-view.md +137 -0
- package/skills/lark-sheets/references/lark-sheets-filter.md +130 -0
- package/skills/lark-sheets/references/lark-sheets-float-image.md +159 -0
- package/skills/lark-sheets/references/lark-sheets-formula-translation.md +276 -0
- package/skills/lark-sheets/references/lark-sheets-formula-verify.md +77 -0
- package/skills/lark-sheets/references/lark-sheets-history.md +93 -0
- package/skills/lark-sheets/references/lark-sheets-pivot-table.md +171 -0
- package/skills/lark-sheets/references/lark-sheets-range-operations.md +297 -0
- package/skills/lark-sheets/references/lark-sheets-read-data.md +235 -0
- package/skills/lark-sheets/references/lark-sheets-search-replace.md +111 -0
- package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +212 -0
- package/skills/lark-sheets/references/lark-sheets-sparkline.md +149 -0
- package/skills/lark-sheets/references/lark-sheets-visual-standards.md +205 -0
- package/skills/lark-sheets/references/lark-sheets-workbook.md +420 -0
- package/skills/lark-sheets/references/lark-sheets-write-cells.md +575 -0
- package/skills/lark-sheets/scripts/sheets_df.py +32 -0
- package/skills/lark-skill-maker/SKILL.md +85 -0
- package/skills/lark-slides/SKILL.md +285 -0
- package/skills/lark-slides/references/asset-planning.md +135 -0
- package/skills/lark-slides/references/examples.md +91 -0
- package/skills/lark-slides/references/iconpark-index.json +41901 -0
- package/skills/lark-slides/references/iconpark.md +46 -0
- package/skills/lark-slides/references/lark-slides-create.md +156 -0
- package/skills/lark-slides/references/lark-slides-edit-workflows.md +144 -0
- package/skills/lark-slides/references/lark-slides-media-upload.md +127 -0
- package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +89 -0
- package/skills/lark-slides/references/lark-slides-replace-pages.md +95 -0
- package/skills/lark-slides/references/lark-slides-replace-slide.md +240 -0
- package/skills/lark-slides/references/lark-slides-screenshot.md +97 -0
- package/skills/lark-slides/references/lark-slides-whiteboard.md +331 -0
- package/skills/lark-slides/references/lark-slides-xml-get.md +100 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +125 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +189 -0
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +99 -0
- package/skills/lark-slides/references/planning-layer.md +246 -0
- package/skills/lark-slides/references/slide-templates.md +201 -0
- package/skills/lark-slides/references/slides_chart_demo.xml +1 -0
- package/skills/lark-slides/references/slides_demo.xml +226 -0
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +3054 -0
- package/skills/lark-slides/references/troubleshooting.md +45 -0
- package/skills/lark-slides/references/validation-checklist.md +119 -0
- package/skills/lark-slides/references/visual-planning.md +255 -0
- package/skills/lark-slides/references/xml-format-guide.md +433 -0
- package/skills/lark-slides/references/xml-schema-quick-ref.md +249 -0
- package/skills/lark-slides/scripts/iconpark_tool.py +362 -0
- package/skills/lark-slides/scripts/iconpark_tool_test.py +177 -0
- package/skills/lark-slides/scripts/xml_text_overlap_lint.py +1220 -0
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +1170 -0
- package/skills/lark-task/SKILL.md +168 -0
- package/skills/lark-task/references/lark-task-assign.md +38 -0
- package/skills/lark-task/references/lark-task-comment.md +28 -0
- package/skills/lark-task/references/lark-task-complete.md +27 -0
- package/skills/lark-task/references/lark-task-create.md +70 -0
- package/skills/lark-task/references/lark-task-followers.md +35 -0
- package/skills/lark-task/references/lark-task-get-my-tasks.md +61 -0
- package/skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
- package/skills/lark-task/references/lark-task-reminder.md +36 -0
- package/skills/lark-task/references/lark-task-reopen.md +27 -0
- package/skills/lark-task/references/lark-task-search.md +41 -0
- package/skills/lark-task/references/lark-task-set-ancestor.md +32 -0
- package/skills/lark-task/references/lark-task-tasklist-create.md +35 -0
- package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
- package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
- package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
- package/skills/lark-task/references/lark-task-update.md +37 -0
- package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
- package/skills/lark-vc/SKILL.md +205 -0
- package/skills/lark-vc/references/lark-vc-detail.md +44 -0
- package/skills/lark-vc/references/lark-vc-recording.md +152 -0
- package/skills/lark-vc/references/lark-vc-search.md +163 -0
- package/skills/lark-vc/references/vc-domain-boundaries.md +196 -0
- package/skills/lark-vc-agent/SKILL.md +201 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +315 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +141 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +105 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md +91 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-message-send.md +134 -0
- package/skills/lark-whiteboard/SKILL.md +47 -0
- package/skills/lark-whiteboard/elements/connectors.md +102 -0
- package/skills/lark-whiteboard/elements/content.md +40 -0
- package/skills/lark-whiteboard/elements/image.md +80 -0
- package/skills/lark-whiteboard/elements/layout.md +374 -0
- package/skills/lark-whiteboard/elements/schema.md +357 -0
- package/skills/lark-whiteboard/elements/style.md +318 -0
- package/skills/lark-whiteboard/elements/typography.md +73 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-query.md +60 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-update.md +122 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +97 -0
- package/skills/lark-whiteboard/routes/dsl.md +107 -0
- package/skills/lark-whiteboard/routes/mermaid.md +27 -0
- package/skills/lark-whiteboard/routes/svg-edit.md +85 -0
- package/skills/lark-whiteboard/routes/svg.md +54 -0
- package/skills/lark-whiteboard/scenes/architecture.md +433 -0
- package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
- package/skills/lark-whiteboard/scenes/comparison.md +135 -0
- package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
- package/skills/lark-whiteboard/scenes/flowchart.md +185 -0
- package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
- package/skills/lark-whiteboard/scenes/funnel.md +101 -0
- package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
- package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
- package/skills/lark-whiteboard/scenes/milestone.md +139 -0
- package/skills/lark-whiteboard/scenes/organization.md +173 -0
- package/skills/lark-whiteboard/scenes/photo-showcase.md +126 -0
- package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
- package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
- package/skills/lark-whiteboard/scenes/treemap.md +216 -0
- package/skills/lark-wiki/SKILL.md +114 -0
- package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
- package/skills/lark-wiki/references/lark-wiki-member-add.md +67 -0
- package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
- package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
- package/skills/lark-wiki/references/lark-wiki-move-to-drive.md +122 -0
- package/skills/lark-wiki/references/lark-wiki-move.md +185 -0
- package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
- package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
- package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
- package/skills/lark-wiki/references/lark-wiki-node-get.md +57 -0
- package/skills/lark-wiki/references/lark-wiki-node-list.md +95 -0
- package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
- package/skills/lark-wiki/references/lark-wiki-space-list.md +68 -0
- package/skills/lark-workflow-meeting-summary/SKILL.md +122 -0
- package/skills/lark-workflow-standup-report/SKILL.md +122 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# 模糊时间 / 无时间信息分支:suggestion + 批量查询
|
|
2
|
+
|
|
3
|
+
> 本文档处理**时间模糊**(如"明天下午""下周找个时间")或**完全无时间信息**的场景。核心动作是调用 `+suggestion` 产出候选时间块,再根据是否需要会议室决定后续步骤。
|
|
4
|
+
|
|
5
|
+
## 前置条件
|
|
6
|
+
|
|
7
|
+
进入此分支前,调度器([schedule-meeting.md](./lark-calendar-schedule-meeting.md))已完成:
|
|
8
|
+
- 任务类型判定(新建 / 编辑)
|
|
9
|
+
- 编辑流:目标 event_id 已定位
|
|
10
|
+
- 新建流:默认值已补全
|
|
11
|
+
- 时间已判定为**模糊**或**无时间信息**
|
|
12
|
+
|
|
13
|
+
## 流程
|
|
14
|
+
|
|
15
|
+
### 1. 调用 suggestion
|
|
16
|
+
|
|
17
|
+
详见 [`lark-calendar-suggestion.md`](./lark-calendar-suggestion.md)。
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
lark-cli calendar +suggestion \
|
|
21
|
+
--start "<range_start>" \
|
|
22
|
+
--end "<range_end>" \
|
|
23
|
+
--attendee-ids "<ids>" \
|
|
24
|
+
--duration-minutes <n> \
|
|
25
|
+
--event-rrule "<rrule>"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
规则:
|
|
29
|
+
- 用户完全没有提供时间信息时,先默认一个合理区间(如"今天剩余时间"或"近两天")再调用
|
|
30
|
+
- 编辑流中,若用户说"改到明天下午""下周找个时间再约",基于用户期望的**新时间范围**调用,不要沿用旧时间
|
|
31
|
+
- **不要在用户完全没给时间时反问"你想约什么时候"** — 先补合理区间再进入 suggestion
|
|
32
|
+
|
|
33
|
+
### 2. 分支处理
|
|
34
|
+
|
|
35
|
+
#### 不需要会议室
|
|
36
|
+
|
|
37
|
+
获取多个推荐时间块后,直接向用户展示候选时间,用户确认后进入落地操作。
|
|
38
|
+
|
|
39
|
+
#### 需要会议室
|
|
40
|
+
|
|
41
|
+
获取候选时间块后,**不要急于让用户只选时间**。先将这些时间块一次性交给 `+room-find` 批量查询可用会议室,然后将【候选时间】与【对应的可用会议室列表】结构化展示,让用户一次性完成选择。
|
|
42
|
+
|
|
43
|
+
> **注意**:即使用户最初只说"查会议室"且未带时间,也必须强制走 suggestion → room-find 路径。
|
|
44
|
+
|
|
45
|
+
详见 [`lark-calendar-room-find.md`](./lark-calendar-room-find.md)。
|
|
46
|
+
|
|
47
|
+
### 3. 用户确认后
|
|
48
|
+
|
|
49
|
+
- 用户选中 `+suggestion` 返回的时间块后,**无需再次调用 `+freebusy`**,直接进入落地操作
|
|
50
|
+
- **BLOCKING REQUIREMENT**:必须先向用户展示选项并等待确认,禁止在未获用户确认时直接创建/更新日程
|
|
51
|
+
|
|
52
|
+
## 模糊语义消解与长期记忆
|
|
53
|
+
|
|
54
|
+
针对存在歧义的时间场景,严禁主观臆断。典型例子:
|
|
55
|
+
- "上班后" / "下班前"
|
|
56
|
+
- 未明确上下午的 12 小时制时间
|
|
57
|
+
|
|
58
|
+
处理规则:
|
|
59
|
+
- 主动澄清真实意图,不自行猜测
|
|
60
|
+
- 用户澄清后,将个性化定义沉淀为长期偏好
|
|
61
|
+
|
|
62
|
+
## 用户展示格式
|
|
63
|
+
|
|
64
|
+
向用户展示多个时间块及对应会议室时,**必须结构化分行排版**,严禁将时间与会议室放在同一行:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
## 2026-03-27 周五
|
|
68
|
+
|
|
69
|
+
[选项 1] 14:00 - 15:00(参会人均空闲)
|
|
70
|
+
可用会议室:
|
|
71
|
+
1. 学清嘉创大厦B座-F2-02🎦(7人)
|
|
72
|
+
2. 学清嘉创大厦B座-F2-05🎦(10人)
|
|
73
|
+
|
|
74
|
+
[选项 2] 16:00 - 17:00(参会人均空闲)
|
|
75
|
+
可用会议室:
|
|
76
|
+
1. 学清嘉创大厦B座-F3-01🎦(6人)
|
|
77
|
+
2. 学清嘉创大厦B座-F3-06🎦(8人)
|
|
78
|
+
|
|
79
|
+
💡 请回复您倾向的选项编号以及对应的会议室序号,我来为您完成预定。
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 落地
|
|
83
|
+
|
|
84
|
+
根据任务类型:
|
|
85
|
+
- 新建 → [`+create`](./lark-calendar-create.md)
|
|
86
|
+
- 编辑 → [`+update`](./lark-calendar-update.md)
|
|
87
|
+
|
|
88
|
+
落地规则详见 [schedule-meeting.md § 落地日程变更](./lark-calendar-schedule-meeting.md#落地日程变更)。
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# 预约/改约日程或会议、查询/搜索可用会议室的工作流
|
|
2
|
+
|
|
3
|
+
## 执行摘要
|
|
4
|
+
|
|
5
|
+
- **第一步永远是判断任务类型:新建日程,还是编辑已有日程。**
|
|
6
|
+
- **编辑已有日程时,必须先定位目标日程或实例的 `event_id`。**
|
|
7
|
+
- **默认做智能助理,不做表单填写机。** 能根据上下文补全的默认值就直接补全,仅在必须决策的冲突或无法唯一确定的场景下才发起询问。
|
|
8
|
+
- **新建流先补默认值,编辑流先继承已定位日程信息。**
|
|
9
|
+
- **明确时间** → 进入 [明确时间分支](./lark-calendar-schedule-clear-time.md)
|
|
10
|
+
- **模糊时间或无时间信息** → 进入 [模糊时间分支](./lark-calendar-schedule-fuzzy-time.md)
|
|
11
|
+
- **BLOCKING REQUIREMENT**: 面临时间方案或会议室方案的选择时,必须先向用户展示选项并等待确认,禁止未经确认直接创建/更新日程。
|
|
12
|
+
- **必须按顺序执行。** 不要跳过"任务类型判定""目标日程定位(编辑流)""补默认值/继承基线信息""判断时间明确性"这些前置步骤。
|
|
13
|
+
|
|
14
|
+
## 严禁行为
|
|
15
|
+
|
|
16
|
+
- **严禁在未读取对应子命令文档前直接调用命令。**
|
|
17
|
+
- **严禁在尚未判断"新建"还是"编辑"之前,就直接进入创建日程或查会议室动作。**
|
|
18
|
+
- **严禁把带有既有日程锚点 + 修改动词的请求当成新建日程。**
|
|
19
|
+
- **严禁在编辑已有日程时跳过目标定位步骤。** 未拿到唯一 `event_id` 前,不得调用 `+update`。
|
|
20
|
+
- **严禁在面临时间/会议室方案选择时,未经用户确认就擅自创建/更新日程。**
|
|
21
|
+
|
|
22
|
+
## 适用场景
|
|
23
|
+
|
|
24
|
+
- "帮我约个会" / "下周找时间和 XX 开会"
|
|
25
|
+
- "帮我订/找/搜索一个可用会议室"
|
|
26
|
+
- "明天下午3点约个日程"
|
|
27
|
+
- "把明天上午的日程加上 小明"
|
|
28
|
+
- "给下周一的周会换个会议室"
|
|
29
|
+
- "把这个日程改到明天下午,并加上学清 F201"
|
|
30
|
+
|
|
31
|
+
## 核心概念
|
|
32
|
+
|
|
33
|
+
- **会议室是日程的一种参与人(attendee / resource),不能脱离日程单独预定。**
|
|
34
|
+
- **预定或查找会议室,均需先确定时间块。**
|
|
35
|
+
- **当用户说"查会议室""找会议室",默认意图是查会议室可用性,不是检索会议室资源名录。**
|
|
36
|
+
|
|
37
|
+
## 任务类型判定
|
|
38
|
+
|
|
39
|
+
| 类型 | 典型语言信号 | 第一动作 |
|
|
40
|
+
|------|--------------|----------|
|
|
41
|
+
| 新建日程 | "约个会""安排会议""新建日程""订个会议室开会" | 补默认值,再进入时间判断 |
|
|
42
|
+
| 编辑已有日程 | "给某日程加人/删人/加会议室""把某日程改到…""换会议室" | 先定位目标 `event_id` |
|
|
43
|
+
|
|
44
|
+
规则:
|
|
45
|
+
- 只要同时出现**既有日程锚点**(标题、时间段、`这个日程`、`这场会`)和**修改动词**(添加、移除、改到、换),默认判定为编辑。
|
|
46
|
+
- 对重复性日程的编辑,必须先定位到对应实例的 `event_id`。
|
|
47
|
+
|
|
48
|
+
## 编辑流:先定位目标日程
|
|
49
|
+
|
|
50
|
+
定位规则:
|
|
51
|
+
- 优先利用用户给出的标题、日期、时间范围等锚点,通过 `+agenda`、`+search-event` 或实例视图缩小范围
|
|
52
|
+
- 命中多个候选日程时,必须向用户展示候选项并要求确认
|
|
53
|
+
- 重复性日程必须继续定位到该次实例的 `event_id`
|
|
54
|
+
|
|
55
|
+
编辑流分支路由:
|
|
56
|
+
|
|
57
|
+
| 编辑子场景 | 下一步 |
|
|
58
|
+
|-----------|--------|
|
|
59
|
+
| 仅增删普通参会人/群组,不改时间,不涉及会议室 | 直接 `+update`(详见 [lark-calendar-update.md](./lark-calendar-update.md)) |
|
|
60
|
+
| 新增会议室,不改时间 | 基于已定位日程 start/end → [明确时间分支](./lark-calendar-schedule-clear-time.md) |
|
|
61
|
+
| 只改时间,不涉及会议室 | 判断时间明确性 → 对应分支 |
|
|
62
|
+
| 既改时间,又新增/更换会议室 | 先确定最终时间 → 再查会议室 → 落地 |
|
|
63
|
+
|
|
64
|
+
## 新建日程:智能推断默认值
|
|
65
|
+
|
|
66
|
+
- **标题**:根据上下文自动生成;如无法推断,默认"会议"
|
|
67
|
+
- **参会人**:如未指定,默认仅用户自己
|
|
68
|
+
- **时长**:基于上下文推断;默认 30 分钟
|
|
69
|
+
- **无时间信息**:默认推断合理区间(如"今天"或"近两天"),进入时间推荐流程,禁止询问用户
|
|
70
|
+
|
|
71
|
+
搜索参与人出现多个结果无法唯一确定时,必须询问用户并记录长期记忆。
|
|
72
|
+
|
|
73
|
+
## 判断时间是否明确
|
|
74
|
+
|
|
75
|
+
时间基准规则:
|
|
76
|
+
- **新建流**:使用用户给出的时间,或默认补全出的时间范围
|
|
77
|
+
- **编辑流且不改时间**:已定位日程的当前 `start/end` 就是明确时间
|
|
78
|
+
- **编辑流且改时间**:用户想改到的新时间;若表达模糊,进入模糊时间分支
|
|
79
|
+
**注意**: 在执行修改日程/会议时间的任务时,必须先获取原日程的持续时长。如果用户只提供了新的开始时间,你必须根据原时长自动计算出新的结束时间,严格保持原时长不变,禁止擅自改变原日程的时长。
|
|
80
|
+
|
|
81
|
+
## 分支路由
|
|
82
|
+
|
|
83
|
+
| 判定结果 | 下一步读取 |
|
|
84
|
+
|----------|-----------|
|
|
85
|
+
| 明确时间 | [schedule-clear-time.md](./lark-calendar-schedule-clear-time.md) |
|
|
86
|
+
| 模糊时间 / 无时间信息 | [schedule-fuzzy-time.md](./lark-calendar-schedule-fuzzy-time.md) |
|
|
87
|
+
|
|
88
|
+
## 落地日程变更
|
|
89
|
+
|
|
90
|
+
用户确认后调用:
|
|
91
|
+
- 新建 → [`+create`](./lark-calendar-create.md)
|
|
92
|
+
- 编辑 → [`+update`](./lark-calendar-update.md)
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
lark-cli calendar +create \
|
|
96
|
+
--summary "..." \
|
|
97
|
+
--start "<start>" \
|
|
98
|
+
--end "<end>" \
|
|
99
|
+
--attendee-ids "ou_xxx,oc_xxx,omm_xxx"
|
|
100
|
+
|
|
101
|
+
lark-cli calendar +update \
|
|
102
|
+
--event-id "<event_id>" \
|
|
103
|
+
--start "<start>" \
|
|
104
|
+
--end "<end>" \
|
|
105
|
+
--add-attendee-ids "omm_new_room"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
落地规则:
|
|
109
|
+
- 编辑流必须始终沿用前面定位得到的目标 `event_id`;禁止在最后一步重新猜测目标日程
|
|
110
|
+
- 编辑流中"新增会议室"默认仅追加 `room_id`,不移除已有会议室
|
|
111
|
+
- 仅当用户明确说"更换会议室"时,才同时 `--remove-attendee-ids` 旧 + `--add-attendee-ids` 新
|
|
112
|
+
- 需要会议室时,将选中的 `room_id` 写入参与人列表
|
|
113
|
+
|
|
114
|
+
## 参考
|
|
115
|
+
|
|
116
|
+
- [lark-calendar-schedule-clear-time.md](./lark-calendar-schedule-clear-time.md)
|
|
117
|
+
- [lark-calendar-schedule-fuzzy-time.md](./lark-calendar-schedule-fuzzy-time.md)
|
|
118
|
+
- [lark-calendar-room-find.md](./lark-calendar-room-find.md)
|
|
119
|
+
- [lark-calendar-suggestion.md](./lark-calendar-suggestion.md)
|
|
120
|
+
- [lark-calendar-create.md](./lark-calendar-create.md)
|
|
121
|
+
- [lark-calendar-update.md](./lark-calendar-update.md)
|
|
122
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# calendar +suggestion
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
根据非明确时间或一段时间范围,推荐多个可用时间块方案。帮助用户解决协调时间的难题。
|
|
5
|
+
|
|
6
|
+
**调用时机 (Agent Guidance):**
|
|
7
|
+
- ✅ **当用户需求涉及寻找时间块,且时间未完全确定**(如`今天`、`近三天`、`本周`、`下午`, `无时间描述`)时,调用此工具来获取推荐时间块给用户选择(包括但不限于预约日程)。
|
|
8
|
+
- ❌ **当用户已经明确了具体的时间点**(如`今天下午3点`),则**不需要**调用此工具
|
|
9
|
+
|
|
10
|
+
## 命令
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# 获取默认的时间推荐方案(搜索范围:当前时刻至当天结束)
|
|
14
|
+
lark-cli calendar +suggestion
|
|
15
|
+
|
|
16
|
+
# 获取指定时间区间内的推荐方案(支持日期简写或完整 ISO 8601)
|
|
17
|
+
lark-cli calendar +suggestion \
|
|
18
|
+
--start "2026-03-19" \
|
|
19
|
+
--end "2026-03-20"
|
|
20
|
+
|
|
21
|
+
# 结合参与人及会议时长获取推荐方案(时长单位:分钟)
|
|
22
|
+
# --attendee-ids 支持传入用户(ou_ 前缀)和群组(oc_ 前缀)混合列表
|
|
23
|
+
lark-cli calendar +suggestion \
|
|
24
|
+
--start "2026-03-19T14:00:00+08:00" \
|
|
25
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
26
|
+
--attendee-ids ou_xxx,oc_yyy \
|
|
27
|
+
--duration-minutes 60
|
|
28
|
+
|
|
29
|
+
# 排除特定时间段
|
|
30
|
+
lark-cli calendar +suggestion \
|
|
31
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
32
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
33
|
+
--exclude "2026-03-19T12:00:00+08:00~2026-03-19T13:00:00+08:00"
|
|
34
|
+
|
|
35
|
+
# JSON 格式输出
|
|
36
|
+
lark-cli calendar +suggestion \
|
|
37
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
38
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
39
|
+
--format json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 参数
|
|
43
|
+
|
|
44
|
+
| 参数 | 必填 | 说明 |
|
|
45
|
+
| ------------------------------- | ----- | ------------------------------------------------------------------- |
|
|
46
|
+
| `--start <time>` | 否 | 搜索区间开始时间(支持日期/ISO 8601等格式,默认**当前时间**) |
|
|
47
|
+
| `--end <time>` | 否 | 搜索区间结束时间(默认与 `--start` 属于同一天,自动取当天结束时间) |
|
|
48
|
+
| `--attendee-ids <id_list>` | 否 | 目标参与人 ID 列表。提取对应实体的 ID。支持用户(`ou_` 前缀)和群组(`oc_` 前缀)。多个 ID 使用英文逗号分隔 |
|
|
49
|
+
| `--event-rrule <rrule>` | 否 | 重复日程的重复性规则,规则设置方式参考rfc5545。**【⚠️注意:系统绝对不支持 COUNT,如需限制重复次数,必须转为 UNTIL】**。示例值:"FREQ=DAILY;INTERVAL=1" |
|
|
50
|
+
| `--duration-minutes <min>` | 否 | 会议时长(分钟)。优先使用用户显式指定的值,若未指定则尝试根据上下文推断,推断失败则不传 |
|
|
51
|
+
| `--timezone <tz>` | 否 | 对话中明确提及的预约日程所使用的时区(默认取用户设备时区,例如 `Asia/Shanghai`) |
|
|
52
|
+
| `--exclude <times>` | 否 | 排除的时间块,支持 `start~end` 格式(如 `2026-03-19T12:00:00+08:00~2026-03-19T13:00:00+08:00`),多个用逗号分隔 |
|
|
53
|
+
| `--format <flag>` | 否 | 输出格式(固定为 `json`) |
|
|
54
|
+
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
|
55
|
+
|
|
56
|
+
## 时间格式
|
|
57
|
+
|
|
58
|
+
`--start`、`--end` 以及 `--exclude` 支持以下格式自动解析:
|
|
59
|
+
|
|
60
|
+
| 格式 | 示例 | 说明 |
|
|
61
|
+
| ------------- | --------------------------- | -------------------- |
|
|
62
|
+
| ISO 8601 | `2026-03-19T08:40:29+08:00` | 完整格式,精确包含日期、时间及带冒号的时区偏移 |
|
|
63
|
+
| 日期+时间 | `2026-03-19 08:40:29` | 自动补全时区 |
|
|
64
|
+
| 仅日期 | `2026-03-19` | start 取 00:00:00,end 取 23:59:59 |
|
|
65
|
+
| Unix 时间戳 | `1741564800` | 秒级时间戳 |
|
|
66
|
+
|
|
67
|
+
## 输出格式
|
|
68
|
+
|
|
69
|
+
**将推荐结果整理为易读的选项列表,并附上润色后的推荐理由:**
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
## 2026-03-19 周四
|
|
73
|
+
|
|
74
|
+
- **选项 1:10:00 - 10:30**
|
|
75
|
+
推荐理由:所有参与者均空闲。
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
> **AI 行为指导:**
|
|
79
|
+
> - **结构化展示选项与理由**:以清晰的列表呈现推荐时间方案,并直接询问用户意向。**必须**结合“用户原始需求”与“推荐理由”说明每个时间块的优势,输出话术需简明、直接、无歧义。
|
|
80
|
+
> - **如实反馈冲突情况**:注意,返回的推荐方案不一定都是完全空闲的(即使明确要求找空闲时间,系统在难以满足时也会返回包含忙闲冲突的方案)。判断推荐方案是否完全空闲,可以从推荐理由中是否表达了“完全空闲”或“没有任何忙闲冲突”来判断。如果推荐方案存在忙闲冲突,**必须**在展示方案时向用户如实说明冲突情况,绝不能误导用户认为是完全空闲。
|
|
81
|
+
> - **主动提供优化建议**:当满足以下任一条件时(1. 返回结果包含 `ai_action_guidance` 字段内容;2. 用户要求找个空闲时间,但所有推荐方案都不是完全空闲的),你**必须**主动提供优化建议。若存在 `ai_action_guidance` 字段,需严格依据其核心意图生成引导话术;否则,请基于实际冲突情况主动提供合理的替代方案(如:建议调整时间范围、会议时长或参与人)。
|
|
82
|
+
|
|
83
|
+
## 典型场景
|
|
84
|
+
|
|
85
|
+
### 1. 查找多人的共同空闲会议时间
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# 指定两名参与人,并要求找一个 45 分钟的空闲时段
|
|
89
|
+
lark-cli calendar +suggestion \
|
|
90
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
91
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
92
|
+
--attendee-ids ou_member_a,ou_member_b \
|
|
93
|
+
--duration-minutes 45
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 2. 用户对当前推荐不满意,要求“换一批”
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# 将上一次推荐的时段作为排除条件传入
|
|
100
|
+
lark-cli calendar +suggestion \
|
|
101
|
+
--start "2026-03-19T08:00:00+08:00" \
|
|
102
|
+
--end "2026-03-19T18:00:00+08:00" \
|
|
103
|
+
--exclude "2026-03-19T10:00:00+08:00~2026-03-19T10:30:00+08:00"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## 与其他命令对比
|
|
107
|
+
|
|
108
|
+
| 命令 | 用途 | 输出内容 |
|
|
109
|
+
| ---------------------- | -------- | ------------------- |
|
|
110
|
+
| `calendar +suggestion` | 根据非明确时间或一段时间范围,推荐多个可用时间块方案 | 返回多个推荐时段及其理由,以及后续建议 |
|
|
111
|
+
| `calendar +freebusy` | 查询忙闲时段 | 只返回忙碌时段列表和rsvp状态(无日程详情) |
|
|
112
|
+
|
|
113
|
+
**选择建议**:
|
|
114
|
+
|
|
115
|
+
- **寻找可用时间(含开会等场景)** → 优先使用 `+suggestion`,直接获取智能推荐方案
|
|
116
|
+
- **了解个人当前忙碌情况** → 使用 `+freebusy`
|
|
117
|
+
|
|
118
|
+
## 参考
|
|
119
|
+
|
|
120
|
+
- [lark-calendar-create](lark-calendar-create.md) — 创建日程
|
|
121
|
+
- [lark-calendar](../SKILL.md) — skill 入口与路由
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# calendar +update
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
更新既有日程字段,或独立增量添加/移除参会人和会议室。
|
|
5
|
+
|
|
6
|
+
`+update` 支持三类互相独立的动作:更新日程字段、添加参会人/会议室、移除参会人/会议室。它们可以单独执行,也可以在同一次命令中组合执行。
|
|
7
|
+
|
|
8
|
+
## 推荐命令
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# 更新标题、描述、时间
|
|
12
|
+
lark-cli calendar +update \
|
|
13
|
+
--event-id "<EVENT_ID>" \
|
|
14
|
+
--summary "产品评审" \
|
|
15
|
+
--description "评审需求范围、排期与风险" \
|
|
16
|
+
--start "2026-03-12T14:00+08:00" \
|
|
17
|
+
--end "2026-03-12T15:00+08:00"
|
|
18
|
+
|
|
19
|
+
# 增量添加参会人和会议室
|
|
20
|
+
lark-cli calendar +update \
|
|
21
|
+
--event-id "<EVENT_ID>" \
|
|
22
|
+
--add-attendee-ids "ou_aaa,ou_bbb,omm_room"
|
|
23
|
+
|
|
24
|
+
# 移除参会人和会议室
|
|
25
|
+
lark-cli calendar +update \
|
|
26
|
+
--event-id "<EVENT_ID>" \
|
|
27
|
+
--remove-attendee-ids "ou_aaa,omm_room"
|
|
28
|
+
|
|
29
|
+
# 同时更新日程信息、移除旧会议室、添加新会议室
|
|
30
|
+
lark-cli calendar +update \
|
|
31
|
+
--event-id "<EVENT_ID>" \
|
|
32
|
+
--summary "产品评审" \
|
|
33
|
+
--start "2026-03-12T15:00+08:00" \
|
|
34
|
+
--end "2026-03-12T16:00+08:00" \
|
|
35
|
+
--remove-attendee-ids "omm_old_room" \
|
|
36
|
+
--add-attendee-ids "omm_new_room"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
参数:
|
|
40
|
+
|
|
41
|
+
| 参数 | 必填 | 说明 |
|
|
42
|
+
|------|------|------|
|
|
43
|
+
| `--event-id <id>` | 是 | 要更新的日程 ID。重复性日程请根据操作范围选择 ID,详见 [重复性日程操作规范](lark-calendar-recurring.md) |
|
|
44
|
+
| `--calendar-id <id>` | 否 | 日历 ID(省略则使用 `primary`) |
|
|
45
|
+
| `--summary <text>` | 否 | 新日程标题。仅在显式传入 `--summary` 时更新;若传空字符串,会把标题清空 |
|
|
46
|
+
| `--description <text>` | 否 | 新日程描述。目前 API 方式不支持编辑富文本描述;如果日程描述通过客户端编辑为富文本内容,则使用 API 更新描述会导致富文本格式丢失。仅在显式传入 `--description` 时更新;若传空字符串,会把描述清空 |
|
|
47
|
+
| `--start <time>` | 否 | 新开始时间(ISO 8601,如 `2026-03-12T14:00+08:00`)。更新日程时间时必须同时传 `--end` |
|
|
48
|
+
| `--end <time>` | 否 | 新结束时间(ISO 8601)。更新日程时间时必须同时传 `--start` |
|
|
49
|
+
| `--rrule <rrule>` | 否 | 新重复规则(RFC5545)。**不要使用 COUNT;如需限制次数,推算后转为 UNTIL** |
|
|
50
|
+
| `--add-attendee-ids <id_list>` | 否 | 增量添加参会人/会议室,逗号分隔。支持用户 `ou_`、群组 `oc_`、会议室 `omm_` |
|
|
51
|
+
| `--remove-attendee-ids <id_list>` | 否 | 增量移除参会人/会议室,逗号分隔。支持用户 `ou_`、群组 `oc_`、会议室 `omm_` |
|
|
52
|
+
| `--notify` | 否 | 是否发送更新通知,默认 `true`。可用 `--notify=false` 静默更新 |
|
|
53
|
+
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
|
54
|
+
|
|
55
|
+
至少需要提供一个动作:`--summary`、`--description`、`--start/--end`、`--rrule`、`--add-attendee-ids` 或 `--remove-attendee-ids`。
|
|
56
|
+
|
|
57
|
+
## 使用规则
|
|
58
|
+
|
|
59
|
+
- `--add-attendee-ids` 是**增量添加**,不是替换最终参与人列表。不要用它表达“只保留这些人”。
|
|
60
|
+
- 对 `--summary`、`--description`,CLI 以“是否显式传入该 flag”判断是否更新,而不是以“值是否为空”判断;如果显式传入空字符串,会把对应字段清空。
|
|
61
|
+
- 只想增删参会人或会议室时,不需要同时传 `--summary`、`--start`、`--end` 等日程字段。
|
|
62
|
+
- 只想修改标题、描述、时间或重复规则时,不需要同时传 `--add-attendee-ids` 或 `--remove-attendee-ids`。
|
|
63
|
+
- 如需替换某个参与人、群组或会议室,使用 `--remove-attendee-ids <旧ID>` + `--add-attendee-ids <新ID>`。
|
|
64
|
+
- 会议室是 resource attendee,必须使用 `omm_` ID 添加到参会人列表,不能脱离日程单独预定。
|
|
65
|
+
- 更新重复性日程时,必须先确定操作范围(仅此次/全部/此次及后续),然后按 [重复性日程操作规范](lark-calendar-recurring.md) 执行。
|
|
66
|
+
- 当同一次命令组合多个动作时,执行顺序为“日程字段 -> 移除参会人 -> 添加参会人”。若中途失败,不会自动回滚已成功步骤;错误信息会说明已完成的步骤。
|
|
67
|
+
**⚠️ 高风险操作**: 修改时间时必须先读取原日程时长并计算新 end。如果 end 计算错误,会导致日程时长变化,用户会直接感知,禁止擅自改变原日程的时长。
|
|
68
|
+
|
|
69
|
+
## 高级用法(完整 API 命令)
|
|
70
|
+
|
|
71
|
+
`+update` 只覆盖标题、描述、时间、重复规则,以及参会人/会议室的增量添加或移除。
|
|
72
|
+
|
|
73
|
+
如需更新 `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` 查看完整参数定义。
|
|
74
|
+
|
|
75
|
+
> 完整 API 命令的时间参数是 **Unix 秒字符串**(非 ISO 8601)。
|
|
76
|
+
|
|
77
|
+
## 预约/改约会议室场景
|
|
78
|
+
|
|
79
|
+
如果用户要“改会议时间”“换会议室”“给现有日程加会议室”,必须先阅读 [`lark-calendar-schedule-meeting.md`](lark-calendar-schedule-meeting.md) 并按其中工作流处理:
|
|
80
|
+
|
|
81
|
+
- 明确时间且需要会议室:先 `+room-find`,再按需 `+freebusy`,用户确认后再 `+update`。
|
|
82
|
+
- 模糊时间或无时间:先 `+suggestion`,如需会议室再批量 `+room-find`,用户确认后再 `+update`。
|
|
83
|
+
- 面临时间方案或会议室方案选择时,必须先展示候选方案并等待用户确认。
|
|
84
|
+
|
|
85
|
+
## 参会人类型
|
|
86
|
+
|
|
87
|
+
| 前缀 | 类型 | 说明 |
|
|
88
|
+
|------|------|------|
|
|
89
|
+
| `ou_` | user | 飞书用户 open_id |
|
|
90
|
+
| `oc_` | chat | 飞书群组 |
|
|
91
|
+
| `omm_` | resource | 会议室 |
|
|
92
|
+
|
|
93
|
+
> [!CAUTION]
|
|
94
|
+
> 这是**写入操作**。执行前必须确认用户意图,特别是移除参会人/会议室或移动会议时间。
|
|
95
|
+
|
|
96
|
+
## 参考
|
|
97
|
+
|
|
98
|
+
- [lark-calendar](../SKILL.md) -- skill 入口与路由
|
|
99
|
+
- [lark-calendar-schedule-meeting](lark-calendar-schedule-meeting.md) -- 预约/改约会议与会议室工作流
|
|
100
|
+
- [lark-calendar-room-find](lark-calendar-room-find.md) -- 查找可用会议室
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lark-contact
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名。当用户提到某人姓名要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["lark-cli"]
|
|
8
|
+
cliHelp: "lark-cli contact --help"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 选哪个命令
|
|
12
|
+
|
|
13
|
+
**user 身份和 bot 身份是两条完全独立的路径**。先确定当前身份,再按下表选命令:
|
|
14
|
+
|
|
15
|
+
| 想做什么 | user 身份 | bot 身份 |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| 按姓名 / 邮箱搜员工拿 open_id | [`+search-user`](references/lark-contact-search-user.md) | 不支持 |
|
|
18
|
+
| 已知 open_id 取他人资料 | `+search-user --user-ids <id>` | [`+get-user --user-id <id>`](references/lark-contact-get-user.md) |
|
|
19
|
+
| 查看自己 | `+get-user` 或 `+search-user --user-ids me` | 不支持 |
|
|
20
|
+
| 查同事的个人状态 / 签名 | `user_profiles batch_query` | 不支持 |
|
|
21
|
+
|
|
22
|
+
已知 open_id 只是想发消息 / 排日程,不必经过 contact —— 直接 [`lark-im`](../lark-im/SKILL.md) / [`lark-calendar`](../lark-calendar/SKILL.md)。
|
|
23
|
+
|
|
24
|
+
## 典型场景
|
|
25
|
+
|
|
26
|
+
找张三给他发消息:先搜,确认 open_id,再发:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
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
|
+
批量查同事的个人状态 / 个性签名(先用 schema 看参数)。
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
lark-cli schema contact.user_profiles.batch_query
|
|
37
|
+
lark-cli contact user_profiles batch_query \
|
|
38
|
+
--params '{"user_id_type":"open_id"}' \
|
|
39
|
+
--data '{"user_ids":["ou_xxx","ou_yyy"],"query_option":{"include_personal_status":true,"include_description":true}}' \
|
|
40
|
+
--as user
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
搜索命中多条且后续操作有副作用(发消息、邀请会议等),把候选列给用户挑;不要擅自选第一条。
|
|
44
|
+
|
|
45
|
+
## 注意事项
|
|
46
|
+
|
|
47
|
+
- **41050 / Permission denied** 受当前身份的可见范围限制(两条命令都可能遇到)。换 bot 身份或让管理员调整可见范围,细节见 [`lark-shared`](../lark-shared/SKILL.md)。
|
|
48
|
+
- **跨租户用户**(`is_cross_tenant=true`)多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。
|
|
49
|
+
- **ID 类型**:默认 `open_id`。`+get-user` 可改 `--user-id-type union_id|user_id`;`+search-user` 只接受 `open_id`。
|
|
50
|
+
|
|
51
|
+
## 不在本 skill 范围
|
|
52
|
+
|
|
53
|
+
- 发消息 / 查聊天记录 → [`lark-im`](../lark-im/SKILL.md)
|
|
54
|
+
- 排日程 / 邀请会议 → [`lark-calendar`](../lark-calendar/SKILL.md)
|
|
55
|
+
- 部门树 / 按部门列员工 / 组织架构 → [`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` 取自己)。
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# +search-user
|
|
2
|
+
|
|
3
|
+
仅支持 user 身份。
|
|
4
|
+
|
|
5
|
+
## 适用范围
|
|
6
|
+
|
|
7
|
+
- ✅ 已知姓名 / 邮箱 / 「聊过的人」想找出 open_id
|
|
8
|
+
- ✅ 已知一组 open_id 想批量校验或回填字段(`--user-ids`,最多 100,支持 `me`)
|
|
9
|
+
- ✅ 按聊天关系 / 在职状态 / 租户边界 / 企业邮箱等维度筛选员工
|
|
10
|
+
- ❌ 已知 open_id 想发消息 → 直接走 `lark-im`,不经过本命令
|
|
11
|
+
|
|
12
|
+
## 关键 flag
|
|
13
|
+
|
|
14
|
+
`--query` / `--queries` / `--user-ids` / bool filter 至少传一个。bool filter 显式传 `=false` 会报错——不传等于不过滤。
|
|
15
|
+
|
|
16
|
+
| Flag | 作用 |
|
|
17
|
+
|---|---|
|
|
18
|
+
| `--query <text>` | 关键词(姓名 / 邮箱 / 手机号),≤ 50 rune |
|
|
19
|
+
| `--queries <csv>` | 多个关键词并行搜,**最多 20 条**;与 `--query` / `--user-ids` 互斥;输出新 shape(见下) |
|
|
20
|
+
| `--user-ids <csv>` | open_id 列表,≤ 100;支持 `me` 表示自己;与 `--query` 同传时把搜索范围限定在该集合 |
|
|
21
|
+
| `--has-chatted` | 仅搜聊过天的 |
|
|
22
|
+
| `--has-enterprise-email` | 仅搜有企业邮箱的 |
|
|
23
|
+
| `--exclude-external-users` | 仅搜同租户(排除外部联系人) |
|
|
24
|
+
| `--left-organization` | 仅搜已离职的 |
|
|
25
|
+
| `--lang <locale>` | 覆盖 `localized_name` 的语种(如 `zh_cn` / `en_us` / `ja_jp`) |
|
|
26
|
+
| `--page-size <n>` | 单页大小 1-30,默认 20 |
|
|
27
|
+
|
|
28
|
+
## 常用例子
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# 按姓名搜,看候选确认是哪个张三
|
|
32
|
+
lark-cli contact +search-user --query "张三" --has-chatted
|
|
33
|
+
|
|
34
|
+
# 按完整邮箱搜(命中通常唯一,适合作后续命令的输入)
|
|
35
|
+
lark-cli contact +search-user --query "alice@example.com"
|
|
36
|
+
|
|
37
|
+
# 查看自己
|
|
38
|
+
lark-cli contact +search-user --user-ids me
|
|
39
|
+
|
|
40
|
+
# 批量回填:已知一组 open_id,取姓名 / 邮箱 / 部门
|
|
41
|
+
lark-cli contact +search-user --user-ids "ou_a,ou_b,ou_c" --format json
|
|
42
|
+
|
|
43
|
+
# 多 filter 组合:同租户的、有企业邮箱的「王」姓员工
|
|
44
|
+
lark-cli contact +search-user --query "王" --exclude-external-users --has-enterprise-email
|
|
45
|
+
|
|
46
|
+
# filter-only 枚举:列出所有"聊过天的离职同事"(无关键词)
|
|
47
|
+
lark-cli contact +search-user --has-chatted --left-organization
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 批量并行查询 (fanout)
|
|
51
|
+
|
|
52
|
+
一次查多个名字:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
lark-cli contact +search-user --queries "Alice,Bob,张三"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
- 每行 user 带 `matched_query`,标识来自哪个 query
|
|
59
|
+
- `queries[]` 每个输入一条 `{query, error?, has_more}`,失败的有 `error`
|
|
60
|
+
- 部分失败不影响其它 query;全部失败才 exit 非 0
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# bool filter 对每个 query 都生效
|
|
64
|
+
lark-cli contact +search-user --queries "Alice,Bob" --has-chatted
|
|
65
|
+
|
|
66
|
+
# 与 --query / --user-ids 互斥
|
|
67
|
+
lark-cli contact +search-user --queries "a" --query "b" # ❌ exit 2
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
约束:
|
|
71
|
+
- 最多 20 条; 每条 ≤ 50 字符
|
|
72
|
+
- 重复条目静默去重;全空 csv (`,,,`) 报错
|
|
73
|
+
|
|
74
|
+
## 同名 disambiguation
|
|
75
|
+
|
|
76
|
+
搜常见姓名常返回多条同名结果。后续操作若有副作用(发消息、邀请会议等),把候选列给用户挑;**不要擅自选**。
|
|
77
|
+
|
|
78
|
+
筛选信号(可信度从高到低):`chat_recency_hint`(近期联系过) > `enterprise_email` 前缀 > `department` 关键词。`localized_name` 同名时无区分作用。
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# 用 jq 按部门精筛
|
|
82
|
+
lark-cli contact +search-user --query "张三" \
|
|
83
|
+
--jq '.data.users[] | select(.department | contains("<部门关键词>"))'
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 注意事项
|
|
87
|
+
|
|
88
|
+
- **不会自动翻页**。`has_more=true` 表示需要 refine query。
|
|
89
|
+
- **`--lang` 只影响输出展示名**,不影响匹配字段。
|
|
90
|
+
- **`--query` 与 `--user-ids` 同时设**:`--user-ids` 限定搜索范围,`--query` 在该集合内匹配。
|
|
91
|
+
|
|
92
|
+
## 输出字段 contract
|
|
93
|
+
|
|
94
|
+
跨租户用户(`is_cross_tenant=true`)的业务字段可能为空字符串,需做空值兜底。
|
|
95
|
+
|
|
96
|
+
| 字段 | 类型 | 说明 | 跨租户 |
|
|
97
|
+
|---|---|---|---|
|
|
98
|
+
| `open_id` | string | 稳定标识,后续命令的输入 | 始终非空 |
|
|
99
|
+
| `localized_name` | string | 按 `--lang` / brand 选出的展示名 | 始终非空(兜底为 open_id) |
|
|
100
|
+
| `email` | string | 个人邮箱 | 可能为空 |
|
|
101
|
+
| `enterprise_email` | string | 企业邮箱 | 可能为空 |
|
|
102
|
+
| `is_activated` | bool | 是否已激活飞书账号(未激活也可投递消息,但用户可能看不到) | 可能 false |
|
|
103
|
+
| `is_cross_tenant` | bool | 是否跨租户用户(同公司=false,外部联系人=true) | — |
|
|
104
|
+
| `p2p_chat_id` | string | 与当前用户的 P2P 会话 ID(`oc_...`);空表示从未私聊过。可作为接受 `--chat-id` 的 IM 命令的输入 | 可能为空 |
|
|
105
|
+
| `has_chatted` | bool | `p2p_chat_id != ""` 的派生字段 | — |
|
|
106
|
+
| `department` | string | 部门路径,服务端可能用 `-` 拼层级,层级数不固定。**按可子串匹配的字符串处理** | 可能为空 |
|
|
107
|
+
| `signature` | string (optional) | 用户个性签名;空时字段不出现 | 可能不出现 |
|
|
108
|
+
| `chat_recency_hint` | string | 最近联系的提示文案,仅供展示 | 可能为空 |
|
|
109
|
+
| `match_segments` | string[] | 关键词命中的字符串片段,用于高亮展示;无命中则为空数组 | — |
|
|
110
|
+
|
|
111
|
+
### `--queries` 模式额外字段
|
|
112
|
+
|
|
113
|
+
`data.users[]` 每条多 `matched_query` (string),指明本行来自哪个 query。
|
|
114
|
+
|
|
115
|
+
`data.queries[]` 按输入顺序、dedup 后每个 query 一条:
|
|
116
|
+
|
|
117
|
+
| 字段 | 类型 | 说明 |
|
|
118
|
+
|---|---|---|
|
|
119
|
+
| `query` | string | 该输入 |
|
|
120
|
+
| `error` | string (optional) | 失败原因;成功时不出现 |
|
|
121
|
+
| `has_more` | bool | 该 query 还有更多结果 |
|
|
122
|
+
|
|
123
|
+
fanout 模式无顶层 `data.has_more`。
|