@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,114 @@
|
|
|
1
|
+
|
|
2
|
+
# docs +media-insert(文档末尾插入图片/文件)
|
|
3
|
+
|
|
4
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
5
|
+
|
|
6
|
+
把"创建空 block → 上传文件 → 设置 token"三步合并成一个命令,在**文档末尾**插入本地图片或文件。
|
|
7
|
+
|
|
8
|
+
## 来源选择(Agent 必读)
|
|
9
|
+
|
|
10
|
+
> **最高优先级:用户明确指定了来源,就严格按用户的来。** 下面的启发式只在用户没表态时生效。
|
|
11
|
+
>
|
|
12
|
+
> - 用户说"把这张截图插进去"、"用剪切板里的图"、"我刚复制的" → 无条件走 `--from-clipboard`。
|
|
13
|
+
> - 用户说"用 `~/Downloads/foo.png`"、"插本地这个文件"、给了具体路径 → 无条件走 `--file`。
|
|
14
|
+
> - 用户两者都没说清 → 按下表的启发式推断。
|
|
15
|
+
>
|
|
16
|
+
> 即使推断看起来更"优"(比如用户说了路径但你觉得走剪切板更省事),也**不要自作主张**换来源。要换,先问。
|
|
17
|
+
|
|
18
|
+
按下列顺序判断,**不要反向做**:
|
|
19
|
+
|
|
20
|
+
| 用户的图片来源 | 命令 | 禁止做法 |
|
|
21
|
+
|----------------|------|----------|
|
|
22
|
+
| 图片已经在剪切板里(截图快捷键、从飞书/浏览器复制、从设计稿复制) | `--from-clipboard` | ❌ 不要先把剪切板存到本地文件再用 `--file`。多一步文件 I/O,还得清理临时文件。 |
|
|
23
|
+
| 图片是磁盘上的真实文件 | `--file <path>` | — |
|
|
24
|
+
| 图片是 URL | 先下载到本地 → `--file`;或用 `drive` 相关命令 | — |
|
|
25
|
+
|
|
26
|
+
`--from-clipboard` 走进程内存直传,不产生临时文件;macOS / Windows 内置支持,Linux 需要 `xclip` 或 `wl-paste` 或 `xsel` 任一。
|
|
27
|
+
|
|
28
|
+
### 剪切板为空时的 fallback
|
|
29
|
+
|
|
30
|
+
`--from-clipboard` 失败(剪切板里不是图片 / 没有图片 / Linux 上三个工具都没装)时,命令会返回 `clipboard contains no image data`(或类似的平台错误)。**这不是错误退出理由,而是 fallback 信号。**
|
|
31
|
+
|
|
32
|
+
**Agent 的标准处置顺序**(每一步失败再进下一步,不要并行):
|
|
33
|
+
|
|
34
|
+
1. 先用 `--from-clipboard` 试一次。
|
|
35
|
+
2. 如果返回"no image data"类错误,**向用户明确说明剪切板里没有可识别的图片**,请用户提供本地文件路径或重新复制一张图。
|
|
36
|
+
3. 拿到本地路径后,用 `--file <path>` 重试**同一条插入命令**(其他参数如 `--doc` / `--align` / `--caption` 保持不变)。
|
|
37
|
+
|
|
38
|
+
**禁止做法**:
|
|
39
|
+
- ❌ 不要悄悄把空剪切板当"成功但没插入"处理。必须提示用户。
|
|
40
|
+
- ❌ 不要在剪切板失败后自行瞎猜某个本地文件路径(比如最近修改的 png)。必须让用户给路径。
|
|
41
|
+
- ❌ 不要用"先让用户保存剪切板到磁盘再 `--file`"的建议绕过 `--from-clipboard`,当且仅当剪切板确实没图片时才退回本地路径。
|
|
42
|
+
|
|
43
|
+
## 命令
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# 🟢 推荐:从剪切板直接插入(无需先存盘)
|
|
47
|
+
lark-cli docs +media-insert --doc doxcnXXX --from-clipboard
|
|
48
|
+
|
|
49
|
+
# 从本地文件插入
|
|
50
|
+
# 除了上传本地文件,还可以在 `docs +update` 时直接通过网络 URL 插入图片,无需先下载到本地:
|
|
51
|
+
lark-cli docs +update --doc "<doc_id>" --command block_insert_after \
|
|
52
|
+
--block-id "目标 block_id" \
|
|
53
|
+
--content '<img href="https://example.com/photo.png"/>'
|
|
54
|
+
|
|
55
|
+
# 插入图片(默认)
|
|
56
|
+
lark-cli docs +media-insert --doc doxcnXXX --file ./image.png
|
|
57
|
+
|
|
58
|
+
# doc 支持直接传 docx URL(自动提取 document_id)
|
|
59
|
+
lark-cli docs +media-insert --doc "https://xxx.feishu.cn/docx/doxcnXXX" --from-clipboard
|
|
60
|
+
|
|
61
|
+
# 如果上一步是 create-doc,优先传返回值里的 doc_id
|
|
62
|
+
# 不要把 /wiki/... 形式的 doc_url 直接传给 docs +media-insert
|
|
63
|
+
lark-cli docs +media-insert --doc doxcnReturnedByCreateDoc --file ./image.png
|
|
64
|
+
|
|
65
|
+
# 插入文件(非图片)
|
|
66
|
+
lark-cli docs +media-insert --doc doxcnXXX --file ./spec.pdf --type file
|
|
67
|
+
|
|
68
|
+
# 图片对齐与描述(caption)
|
|
69
|
+
lark-cli docs +media-insert --doc doxcnXXX --from-clipboard --align center --caption "架构图"
|
|
70
|
+
|
|
71
|
+
# Insert image with explicit display width (height auto-computed from aspect ratio)
|
|
72
|
+
lark-cli docs +media-insert --doc doxcnXXX --file ./banner.png --width 800 --align center
|
|
73
|
+
|
|
74
|
+
# Insert image with explicit width and height
|
|
75
|
+
lark-cli docs +media-insert --doc doxcnXXX --from-clipboard --width 800 --height 447 --caption "architecture diagram"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## 参数
|
|
79
|
+
|
|
80
|
+
| 参数 | 必填 | 说明 |
|
|
81
|
+
|------|------|------|
|
|
82
|
+
| `--doc <id>` | 是 | 文档 ID 或 docx URL(仅支持 `/docx/<document_id>` 形式自动提取;**不支持 `/wiki/...` URL 自动提取**) |
|
|
83
|
+
| `--from-clipboard` | 二选一 | 从系统剪切板读取图片(与 `--file` 互斥)。macOS/Windows 内置支持,Linux 需要 `xclip` / `wl-paste` / `xsel` 之一。 |
|
|
84
|
+
| `--file <path>` | 二选一 | 本地文件路径(文件大于 20MB 时自动切换分片上传) |
|
|
85
|
+
| `--type <type>` | 否 | `image`(默认)或 `file`。`--from-clipboard` 目前只产出 image。 |
|
|
86
|
+
| `--align <align>` | 否 | 仅图片:`left` / `center`(默认)/ `right` |
|
|
87
|
+
| `--caption <text>` | 否 | 仅图片:图片描述 |
|
|
88
|
+
| `--width <px>` | 否 | Image display width in pixels (only for `--type=image`). If `--height` is omitted, it is auto-computed from the source image aspect ratio. Supported auto-detection formats: PNG, JPEG, GIF; other formats (WebP, BMP, etc.) require both `--width` and `--height`. |
|
|
89
|
+
| `--height <px>` | 否 | Image display height in pixels (only for `--type=image`). If `--width` is omitted, it is auto-computed from the source image aspect ratio. Supported auto-detection formats: PNG, JPEG, GIF; other formats (WebP, BMP, etc.) require both `--width` and `--height`. |
|
|
90
|
+
|
|
91
|
+
> [!IMPORTANT]
|
|
92
|
+
> 如果上一步是 [`lark-doc-create`](lark-doc-create.md),并且它在知识库/知识空间场景下返回的是 `/wiki/...` 形式的 `doc_url`,后续调用 `docs +media-insert` 时应优先传 `doc_id`,不要直接传这个 `doc_url`。
|
|
93
|
+
|
|
94
|
+
## 平台注意(仅 `--from-clipboard`)
|
|
95
|
+
|
|
96
|
+
| 平台 | 依赖 | 典型错误 |
|
|
97
|
+
|------|------|---------|
|
|
98
|
+
| macOS | osascript(内置) | 剪切板为空 / 不是图片 → "clipboard contains no image data" |
|
|
99
|
+
| Windows | PowerShell + System.Windows.Forms(内置) | 同上 |
|
|
100
|
+
| Linux | `xclip` 或 `wl-paste` 或 `xsel` 任一 | 都没安装 → 报错会提示用发行版包管理器安装 |
|
|
101
|
+
|
|
102
|
+
命令不支持读取 TIFF 等非 PNG/JPEG/GIF/WebP/BMP 的冷门格式;遇到这类剪切板会返回 "contains no image data",此时才考虑先用系统工具转成文件再 `--file`。
|
|
103
|
+
|
|
104
|
+
## 输出
|
|
105
|
+
|
|
106
|
+
命令成功后会输出 JSON,包含:`document_id`、`block_id`、`file_token`、`file_name`(剪切板路径下为 `clipboard.png`)、`type`。
|
|
107
|
+
|
|
108
|
+
> [!CAUTION]
|
|
109
|
+
> 这是**写入操作**(会修改文档内容)—— 执行前必须确认用户意图。
|
|
110
|
+
|
|
111
|
+
## 参考
|
|
112
|
+
|
|
113
|
+
- [lark-doc-fetch](lark-doc-fetch.md) — 获取文档内容(可用于确认插入后的结果、以及提取媒体 token)
|
|
114
|
+
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
# docs +media-preview(预览文档素材)
|
|
3
|
+
|
|
4
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
5
|
+
|
|
6
|
+
优先用于查看、预览文档中的图片或文件素材(`file_token`)。命令会把素材保存到本地路径,便于后续打开查看内容。
|
|
7
|
+
|
|
8
|
+
## 选择规则
|
|
9
|
+
|
|
10
|
+
- 用户说“看一下素材 / 图片 / 附件”“预览一下”时,优先使用 `docs +media-preview`
|
|
11
|
+
- 用户明确说“下载”时,使用 [`docs +media-download`](lark-doc-media-download.md)
|
|
12
|
+
- 如果目标明确是画板 / whiteboard / 画板缩略图,不要使用 `+media-preview`,改用 `docs +media-download --type whiteboard`
|
|
13
|
+
|
|
14
|
+
## 命令
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# 预览图片/文件素材
|
|
18
|
+
lark-cli docs +media-preview --token "Z1Fjxxxxxxxx" --output ./asset
|
|
19
|
+
|
|
20
|
+
# 指定输出文件名(带扩展名则不会自动补全)
|
|
21
|
+
lark-cli docs +media-preview --token "Z1Fjxxxxxxxx" --output ./asset.png
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 参数
|
|
25
|
+
|
|
26
|
+
| 参数 | 必填 | 说明 |
|
|
27
|
+
|------|------|------|
|
|
28
|
+
| `--token <token>` | 是 | 素材 token,即 `file_token` |
|
|
29
|
+
| `--output <path>` | 是 | 本地保存路径;不带扩展名会自动补全 |
|
|
30
|
+
|
|
31
|
+
## token 从哪里来
|
|
32
|
+
|
|
33
|
+
- 若你是从文档内容里提取:`lark-doc-fetch` 返回的内容里可能包含:
|
|
34
|
+
- 图片:`<img token="..." .../>`
|
|
35
|
+
- 文件:`<source token="..." name="..."/>`
|
|
36
|
+
|
|
37
|
+
## 参考
|
|
38
|
+
|
|
39
|
+
- [lark-doc-fetch](lark-doc-fetch.md) — 获取文档内容(用于提取 token)
|
|
40
|
+
- [lark-doc-media-download](lark-doc-media-download.md) — 明确下载素材,或下载画板缩略图
|
|
41
|
+
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# 飞书思维笔记(Mindnote)
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../SKILL.md`](../SKILL.md) 和 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和路由规则。
|
|
4
|
+
|
|
5
|
+
当用户要操作思维笔记时,入口属于 `lark-doc`,但实际执行命令使用 `lark-cli mindnotes nodes list/create`,不是 `docs +...`。
|
|
6
|
+
|
|
7
|
+
> [!IMPORTANT]
|
|
8
|
+
> 当前这条链路只支持**读取已有思维笔记**,以及在**已有思维笔记**里读取节点、创建子节点。
|
|
9
|
+
> `mindnotes nodes create` 是新增/更新节点命令,**不是**新建一个新的思维笔记。
|
|
10
|
+
> 如果用户要**新建思维笔记**,不要走本链路,改走 [lark-doc-whiteboard](lark-doc-whiteboard.md)。
|
|
11
|
+
|
|
12
|
+
## 获取 `mindnote_id`
|
|
13
|
+
|
|
14
|
+
`--mindnote-id` 传 **Mindnote 文档 token**,不是节点 ID。`lark-cli mindnotes` 只负责读取和写入思维笔记内部节点。
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# 用户给了 Mindnote URL,或给了可能包着 Mindnote 的 Wiki URL
|
|
18
|
+
lark-cli drive +inspect --url "<mindnote_or_wiki_url>"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
处理规则:
|
|
22
|
+
|
|
23
|
+
- 普通 Mindnote URL:`drive +inspect` 返回的 Mindnote token 可作为 `--mindnote-id`。
|
|
24
|
+
- Wiki URL:不要把 `/wiki/` 路径里的 wiki token 当作 `--mindnote-id`;必须先 `drive +inspect` 解包,确认底层类型是 `mindnote` 后再使用返回的真实 token。直接把 wiki token 传给 `mindnotes nodes list` 通常会返回 `3410003 resource not found`。
|
|
25
|
+
|
|
26
|
+
## 命令
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# 先看命令帮助
|
|
30
|
+
lark-cli mindnotes nodes list --help
|
|
31
|
+
lark-cli mindnotes nodes create --help
|
|
32
|
+
|
|
33
|
+
# 读取节点列表
|
|
34
|
+
lark-cli mindnotes nodes list --mindnote-id "<mindnote_token>"
|
|
35
|
+
|
|
36
|
+
# 创建子节点
|
|
37
|
+
lark-cli mindnotes nodes create \
|
|
38
|
+
--mindnote-id "<mindnote_token>" \
|
|
39
|
+
--data '{"client_token":"<client_token>","nodes":[{"parent_id":"node_parent123","texts":[{"element_type":"text","text":{"content":"子节点内容"}}],"highlight":"yellow","finish":false}]}'
|
|
40
|
+
|
|
41
|
+
# 更新已有节点
|
|
42
|
+
lark-cli mindnotes nodes create \
|
|
43
|
+
--mindnote-id "<mindnote_token>" \
|
|
44
|
+
--data '{"client_token":"<client_token>","nodes":[{"node_id":"node_existing123","texts":[{"element_type":"text","text":{"content":"更新后的节点内容"}}],"highlight":"blue","finish":true}]}'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 参数
|
|
48
|
+
|
|
49
|
+
### `mindnotes nodes list`
|
|
50
|
+
|
|
51
|
+
| 参数 | 必填 | 说明 |
|
|
52
|
+
|------|------|------|
|
|
53
|
+
| `--mindnote-id` | 是 | 思维笔记 token / 唯一标识 |
|
|
54
|
+
|
|
55
|
+
返回重点:`data.nodes` 中常见字段有 `node_id`、`parent_id`、`texts`、`notes`、`images`、`finish`、`highlight`。
|
|
56
|
+
|
|
57
|
+
### `mindnotes nodes create`
|
|
58
|
+
|
|
59
|
+
命令参数:
|
|
60
|
+
|
|
61
|
+
| 参数 | 必填 | 说明 |
|
|
62
|
+
|------|------|------|
|
|
63
|
+
| `--mindnote-id` | 是 | 思维笔记 token / 唯一标识 |
|
|
64
|
+
| `--data` | 是 | JSON 请求体 |
|
|
65
|
+
|
|
66
|
+
请求体字段:
|
|
67
|
+
|
|
68
|
+
| 字段 | 必填 | 说明 |
|
|
69
|
+
|------|------|------|
|
|
70
|
+
| `client_token` | 否 | 幂等 token,建议写操作传入;推荐使用时间戳或 UUID |
|
|
71
|
+
| `nodes` | 是 | 待创建或更新的节点数组 |
|
|
72
|
+
| `nodes[].node_id` | 否 | 节点 ID;传入已有 `node_id` 时表示更新对应节点 |
|
|
73
|
+
| `nodes[].parent_id` | 否 | 父节点 ID;创建子节点时传入 |
|
|
74
|
+
| `nodes[].texts` | 否 | 节点正文富文本数组 |
|
|
75
|
+
| `nodes[].notes` | 否 | 节点备注富文本数组 |
|
|
76
|
+
| `nodes[].images` | 否 | 节点图片列表 |
|
|
77
|
+
| `nodes[].highlight` | 否 | `red` / `yellow` / `pink` / `blue` / `cyan` / `olive` / `grey` |
|
|
78
|
+
| `nodes[].finish` | 否 | 节点完成状态 |
|
|
79
|
+
|
|
80
|
+
富文本字段 `texts` / `notes` 是元素数组。最常见的是:
|
|
81
|
+
|
|
82
|
+
```json
|
|
83
|
+
[{"element_type":"text","text":{"content":"节点内容"}}]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 节点图片(`nodes[].images`)
|
|
87
|
+
|
|
88
|
+
`nodes[].images` 接收的是**图片 token**,不是本地文件路径,也不是 URL。
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# 先上传图片,拿到 token
|
|
92
|
+
lark-cli docs +media-upload --file ./image.png --parent-type mindnote_image --parent-node <mindnote_token>
|
|
93
|
+
|
|
94
|
+
# 再把 token 写进节点
|
|
95
|
+
lark-cli mindnotes nodes create \
|
|
96
|
+
--mindnote-id "<mindnote_token>" \
|
|
97
|
+
--data '{"client_token":"<client_token>","nodes":[{"node_id":"node_existing123","images":[{"token":"canonical_token"}]}]}'
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
参数说明:
|
|
101
|
+
|
|
102
|
+
| 参数 | 必填 | 说明 |
|
|
103
|
+
|------|------|------|
|
|
104
|
+
| `--file` | 是 | 本地图片路径 |
|
|
105
|
+
| `--parent-type` | 是 | 上传目标类型;图片使用 `mindnote_image` |
|
|
106
|
+
| `--parent-node` | 是 | 传 Mindnote 的 token |
|
|
107
|
+
| `nodes[].images[].token` | 是 | 上传后返回的图片 token |
|
|
108
|
+
|
|
109
|
+
## 推荐工作流
|
|
110
|
+
|
|
111
|
+
1. 先判断用户目标是不是“新建一个思维笔记”。
|
|
112
|
+
2. 如果是新建思维笔记,切到 [lark-doc-whiteboard](lark-doc-whiteboard.md)。
|
|
113
|
+
3. 如果是操作已有思维笔记,先按上方「获取 `mindnote_id`」确认已拿到 Mindnote 文档 token。
|
|
114
|
+
4. 确认目标类型是 **Mindnote** 后,把真实 Mindnote token 作为 `--mindnote-id`。
|
|
115
|
+
5. 先执行 `mindnotes nodes list`,确认目标 `parent_id`。
|
|
116
|
+
6. 新增子节点时,在 `nodes[]` 里传 `parent_id`;更新已有节点时,在 `nodes[]` 里传已有 `node_id`。
|
|
117
|
+
7. 再执行 `mindnotes nodes create`。
|
|
118
|
+
8. 写操作优先带 `client_token`,推荐使用时间戳或 UUID,避免重试时重复创建或重复更新。
|
|
119
|
+
|
|
120
|
+
> [!CAUTION]
|
|
121
|
+
> `mindnotes nodes create` 是写操作。创建时确认插入位置,更新时确认 `node_id` 指向的就是目标节点。
|
|
122
|
+
|
|
123
|
+
## 参考
|
|
124
|
+
|
|
125
|
+
- [lark-doc-fetch](lark-doc-fetch.md) — 获取文档内容
|
|
126
|
+
- [lark-doc-whiteboard](lark-doc-whiteboard.md) — 新建思维笔记走画板链路
|
|
127
|
+
- [lark-drive](../../lark-drive/SKILL.md) — 解析 Mindnote / Wiki 等云空间资源
|
|
128
|
+
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# docs +resource-*(Docx 封面图资源)
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
|
+
|
|
5
|
+
Docx 封面图不是正文里的 `<img token="...">` 素材块。读取、更新、删除文档封面图时,使用 `docs +resource-download/+resource-update/+resource-delete --type cover`,不要使用 `+media-insert` 或 `+media-download --token <cover.token>` 让用户手动拼步骤。
|
|
6
|
+
|
|
7
|
+
## 选择规则
|
|
8
|
+
|
|
9
|
+
- 用户要下载文档封面图:`docs +resource-download --type cover`
|
|
10
|
+
- 用户要设置/替换文档封面图:`docs +resource-update --type cover`
|
|
11
|
+
- 用户要删除文档封面图:`docs +resource-delete --type cover`
|
|
12
|
+
- 用户要下载正文图片、附件、画板缩略图:继续使用 [`docs +media-download`](lark-doc-media-download.md)
|
|
13
|
+
|
|
14
|
+
## 命令
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# 下载封面图。CLI 会先读取 document.cover.token,再下载图片内容并保存到本地。
|
|
18
|
+
lark-cli docs +resource-download --doc doxcnXXX --type cover --output ./cover
|
|
19
|
+
|
|
20
|
+
# 使用本地文件更新封面图。
|
|
21
|
+
lark-cli docs +resource-update --doc doxcnXXX --type cover --file ./cover.png
|
|
22
|
+
|
|
23
|
+
# 使用剪切板图片更新封面图。
|
|
24
|
+
lark-cli docs +resource-update --doc doxcnXXX --type cover --from-clipboard
|
|
25
|
+
|
|
26
|
+
# 使用 HTTPS URL 更新封面图。CLI 会先下载 URL 内容,再上传并写入 cover.token。
|
|
27
|
+
lark-cli docs +resource-update --doc doxcnXXX --type cover --url "https://example.com/cover.png"
|
|
28
|
+
|
|
29
|
+
# 可选:设置封面图裁切偏移。
|
|
30
|
+
lark-cli docs +resource-update --doc doxcnXXX --type cover --file ./cover.png --offset-ratio-x 0.2 --offset-ratio-y 0.8
|
|
31
|
+
|
|
32
|
+
# 删除封面图;当文档本来没有封面图时也成功返回。
|
|
33
|
+
lark-cli docs +resource-delete --doc doxcnXXX --type cover
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 参数
|
|
37
|
+
|
|
38
|
+
| 命令 | 参数 | 必填 | 说明 |
|
|
39
|
+
|------|------|------|------|
|
|
40
|
+
| all | `--doc <id>` | 是 | 文档 ID、docx URL,或可解析为 docx 的 wiki URL |
|
|
41
|
+
| all | `--type cover` | 否 | 当前只支持 `cover`;默认值也是 `cover` |
|
|
42
|
+
| download | `--output <path>` | 是 | 本地保存路径;不带扩展名会根据响应类型自动补全 |
|
|
43
|
+
| download | `--overwrite` | 否 | 覆盖已存在的输出文件 |
|
|
44
|
+
| update | `--file <path>` | 三选一 | 磁盘上的真实图片文件;大于 20MiB 自动使用分片上传 |
|
|
45
|
+
| update | `--from-clipboard` | 三选一 | 从系统剪切板读取图片 |
|
|
46
|
+
| update | `--url <https-url>` | 三选一 | 从 HTTPS URL 下载图片后上传 |
|
|
47
|
+
| update | `--offset-ratio-x <number>` | 否 | 视图相对原图中心的横向偏移比例:水平偏移 px / 原图宽度 px;0 为居中,正数向右,负数向左 |
|
|
48
|
+
| update | `--offset-ratio-y <number>` | 否 | 视图相对原图中心的纵向偏移比例:垂直偏移 px / 原图高度 px;0 为居中,正数向上,负数向下 |
|
|
49
|
+
|
|
50
|
+
## 输出契约
|
|
51
|
+
|
|
52
|
+
- `+resource-download` 成功时 stdout JSON 的 `data` 包含 `document_id`、`type`、`saved_path`、`size_bytes`、`content_type`、`cover.token`。如果文档没有封面图,命令失败退出,错误包含 `document has no cover` 和脱敏 `document_id`,不会创建输出文件。
|
|
53
|
+
- `+resource-update` 成功时 stdout JSON 的 `data` 包含完整 `file_token` 和 `cover.token`;stderr 只打印脱敏 token。
|
|
54
|
+
- `+resource-delete` 成功时 stdout JSON 的 `data.deleted` 表示本次是否真的发起删除,`data.already_empty` 表示删除前是否没有封面图。空封面图是幂等成功,不报错。
|
|
55
|
+
|
|
56
|
+
## URL 来源安全边界
|
|
57
|
+
|
|
58
|
+
`+resource-update --url` 只用于下载公开 HTTPS 图片:
|
|
59
|
+
|
|
60
|
+
- 只允许 `https://`,拒绝 HTTP、空 host 和 URL userinfo。
|
|
61
|
+
- 拒绝解析到 private、loopback、link-local、multicast、unspecified 地址的 host。
|
|
62
|
+
- 最多跟随 3 次跳转,每次跳转都重新校验 URL。
|
|
63
|
+
- 响应 `Content-Type` 只允许 `image/png`、`image/jpeg`、`image/gif`、`image/webp`。
|
|
64
|
+
- 响应体最大 20MiB。
|
|
65
|
+
|
|
66
|
+
## 参考
|
|
67
|
+
|
|
68
|
+
- [lark-doc-media-download](lark-doc-media-download.md) — 下载正文素材或画板缩略图
|
|
69
|
+
- [lark-doc-media-insert](lark-doc-media-insert.md) — 在正文插入图片/文件
|
|
70
|
+
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
|
|
2
|
+
# docs +update(更新飞书云文档)
|
|
3
|
+
|
|
4
|
+
> **前置条件(MUST READ):** 生成文档内容前,必须先用 Read 工具读取以下文件,缺一不可:
|
|
5
|
+
> 1. [`lark-doc-xml.md`](lark-doc-xml.md) — XML 语法规则(使用 Markdown 格式时改读 [`lark-doc-md.md`](lark-doc-md.md))
|
|
6
|
+
> 2. [`lark-doc-style.md`](style/lark-doc-style.md) — 写作原则(默认段落、按体裁、组件克制)
|
|
7
|
+
> 3. [`lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) — 改写增强工作流(Code-Act Loop、单 Agent 串行改写)
|
|
8
|
+
>
|
|
9
|
+
> **未读完以上文件就生成内容会导致格式错误。**
|
|
10
|
+
|
|
11
|
+
通过八种指令精确更新飞书云文档。支持字符串级别和 block 级别的操作。
|
|
12
|
+
|
|
13
|
+
> **⚠️ 格式选择规则:**
|
|
14
|
+
> - **局部精修**(`str_replace` / `block_insert_after` / `block_replace` / `block_delete` / `block_move_after`):优先使用 XML(默认)。XML 能稳定表达 block 结构和样式,精准编辑更可控;不要因为 Markdown 写起来更简单就自行切换。
|
|
15
|
+
> - **整段写入**(`append` / `overwrite`):XML 和 Markdown 都可以。用户提供 `.md` 本地文件或明确要求 Markdown 时直接用 Markdown;否则默认 XML。
|
|
16
|
+
>
|
|
17
|
+
> **Markdown 局限 & block ID 前提:** Markdown 不携带 block ID,也无样式(颜色、对齐、callout 等)。需要按 block ID 定位(`block_*` 指令的 `--block-id`)时,先 `docs +fetch --detail with-ids` **配合 `--scope`(`outline` / `range` / `keyword` / `section`)局部获取**目标段落,不要全量 fetch。拿到 block ID 后 `--content` 仍可用 Markdown,只是写入内容不带样式。
|
|
18
|
+
|
|
19
|
+
## 参数
|
|
20
|
+
|
|
21
|
+
| 参数 | 必填 | 说明 |
|
|
22
|
+
|------|------|------|
|
|
23
|
+
| `--doc` | 是 | 文档 URL 或 token |
|
|
24
|
+
| `--command` | 是 | 操作指令(见下方指令速查表) |
|
|
25
|
+
| `--doc-format` | 否 | 内容格式:`xml`(默认,始终优先使用)\| `markdown`(仅用户明确要求时) |
|
|
26
|
+
| `--content` | 视指令 | 写入内容(`str_replace` 传空字符串可实现删除) |
|
|
27
|
+
| `--reference-map` | 否 | 结构化 `reference_map` JSON object;必须与 `--content` 一起使用。普通写入优先把结构写在正文里;该参数主要用于保留或回放已有 `document.reference_map`。支持直接 JSON、`@reference-map.json`(相对路径)或 `-` 从 stdin 读取。 |
|
|
28
|
+
| `--pattern` | 视指令 | 匹配文本(str_replace) |
|
|
29
|
+
| `--block-id` | 视指令 | 目标 block ID(block_* 操作),逗号分隔可批量删除,-1 表示末尾 |
|
|
30
|
+
| `--src-block-ids` | 视指令 | 源 block ID(逗号分隔),用于 block_copy_insert_after / block_move_after |
|
|
31
|
+
| `--revision-id` | 否 | 基准版本号,-1 = 最新(默认 `-1`) |
|
|
32
|
+
|
|
33
|
+
## 指令速查表
|
|
34
|
+
|
|
35
|
+
| 指令 | 说明 | 必需参数 |
|
|
36
|
+
|------|------|----------|
|
|
37
|
+
| `str_replace` | 全文文本查找替换(replacement 支持富文本标签;`--content` 传空字符串即为删除) | `--pattern` `--content` |
|
|
38
|
+
| `block_insert_after` | 在指定 block 之后插入新内容 | `--block-id` `--content` |
|
|
39
|
+
| `block_copy_insert_after` | 复制源 block 并插入到锚点之后(源块不变) | `--block-id` `--src-block-ids` |
|
|
40
|
+
| `block_replace` | 替换指定 block(同一 block 仅限一次) | `--block-id` `--content` |
|
|
41
|
+
| `block_delete` | 删除指定 block(逗号分隔可批量) | `--block-id` |
|
|
42
|
+
| `overwrite` | ⚠️ 清空文档后全文重写(可能丢失图片、评论) | `--content` |
|
|
43
|
+
| `append` | ⚠️ 在文档**末尾**追加内容(等价于 `block_insert_after --block-id -1`)。**不适用于逐章填充**——逐章写入请用 `block_insert_after` 并指定对应标题的 `--block-id` | `--content` |
|
|
44
|
+
| `block_move_after` | 移动已有 block 到指定位置 | `--block-id` `--src-block-ids` |
|
|
45
|
+
|
|
46
|
+
## Block ID 生命周期
|
|
47
|
+
|
|
48
|
+
写操作后不要默认复用之前 fetch 到的 block ID:
|
|
49
|
+
|
|
50
|
+
- `overwrite` / `block_replace` / `block_delete`:受影响旧 ID 失效,继续 block 级操作前重新 fetch
|
|
51
|
+
- `block_insert_after` / `append` / `block_copy_insert_after`:锚点 / 源 ID 通常保留,新内容是新 ID;要操作新内容先重新 fetch
|
|
52
|
+
- `block_move_after`:被移动 ID 通常保留,但位置、章节、range 语义变化;后续依赖位置时重新 fetch
|
|
53
|
+
- `str_replace`:简单行内替换通常不改变 ID;跨行 / 大段替换后如继续 block 级操作,先重新 fetch
|
|
54
|
+
|
|
55
|
+
## 指令示例
|
|
56
|
+
|
|
57
|
+
### str_replace — 全文文本替换
|
|
58
|
+
|
|
59
|
+
> **匹配范围:**
|
|
60
|
+
> - **XML 模式(默认)**:`--pattern` 只支持**行内匹配**,不能跨 block / 跨段落匹配。涉及整段或多 block 的改动,请改用 `block_replace`。
|
|
61
|
+
> - **Markdown 模式**(`--doc-format markdown`):`--pattern` 同时支持**行内和跨行匹配**,可以用多行字符串匹配并替换一整段内容。
|
|
62
|
+
> - 还支持**`前缀...后缀` 省略号语法**:用 `...`(三个英文句点)串联起始与结束片段,匹配从前缀到后缀之间的全部内容(含中间被省略部分)。适合一段很长、但首尾特征明显的文本,避免把整段都塞进 `--pattern`。
|
|
63
|
+
> - 前缀、后缀本身仍遵循 Markdown 转义规则;省略号中间的内容**会被替换**为 `--content` 的完整文本,不会被保留。
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# 简单文本替换
|
|
67
|
+
lark-cli docs +update --doc "<doc_id>" --command str_replace \
|
|
68
|
+
--pattern "张三" --content "李四"
|
|
69
|
+
|
|
70
|
+
# 替换为富文本(加粗 + 链接)
|
|
71
|
+
lark-cli docs +update --doc "<doc_id>" --command str_replace \
|
|
72
|
+
--pattern "旧链接" --content '<b>新链接</b> <a href="https://example.com">点击查看</a>'
|
|
73
|
+
|
|
74
|
+
# 仅当用户明确要求时才使用 Markdown
|
|
75
|
+
lark-cli docs +update --doc "<doc_id>" --command str_replace \
|
|
76
|
+
--doc-format markdown --pattern "旧内容" --content "新内容"
|
|
77
|
+
|
|
78
|
+
# Markdown 模式下支持跨行匹配(--pattern 与 --content 都需要真实换行;"..."/'...' 里的 \n 是字面量)
|
|
79
|
+
# 多行内容推荐 heredoc 或 --content @file.md,避免 shell 转义踩坑
|
|
80
|
+
lark-cli docs +update --doc "<doc_id>" --command str_replace \
|
|
81
|
+
--doc-format markdown \
|
|
82
|
+
--pattern "$(printf '## 旧标题\n\n第一段原文\n\n第二段原文')" \
|
|
83
|
+
--content - <<'EOF'
|
|
84
|
+
## 新标题
|
|
85
|
+
|
|
86
|
+
改写后的第一段
|
|
87
|
+
|
|
88
|
+
改写后的第二段
|
|
89
|
+
EOF
|
|
90
|
+
|
|
91
|
+
# Markdown 模式下使用 `前缀...后缀` 省略号匹配首尾特征明显的大段内容
|
|
92
|
+
# 下例会把「## 旧标题」到「结束语。」之间的所有内容整体替换
|
|
93
|
+
lark-cli docs +update --doc "<doc_id>" --command str_replace \
|
|
94
|
+
--doc-format markdown \
|
|
95
|
+
--pattern "## 旧标题...结束语。" \
|
|
96
|
+
--content - <<'EOF'
|
|
97
|
+
## 新标题
|
|
98
|
+
|
|
99
|
+
重写后的正文...
|
|
100
|
+
|
|
101
|
+
新的结束语。
|
|
102
|
+
EOF
|
|
103
|
+
|
|
104
|
+
# 删除文本:--content 传空字符串即可
|
|
105
|
+
lark-cli docs +update --doc "<doc_id>" --command str_replace \
|
|
106
|
+
--pattern "废弃的内容" --content ""
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### block_insert_after — 在指定 block 之后插入
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
lark-cli docs +update --doc "<doc_id>" --command block_insert_after \
|
|
113
|
+
--block-id "目标 block_id" \
|
|
114
|
+
--content '<h2>新章节</h2><ul><li>要点 1</li><li>要点 2</li></ul>'
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### block_replace — 替换指定 block
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
lark-cli docs +update --doc "<doc_id>" --command block_replace \
|
|
121
|
+
--block-id "目标 block_id" \
|
|
122
|
+
--content '<p>替换后的段落内容</p>'
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### block_delete — 删除指定 block
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# 删除多个块时用逗号 "," 分隔
|
|
129
|
+
lark-cli docs +update --doc "<doc_id>" --command block_delete \
|
|
130
|
+
--block-id "block_id_1,block_id_2,block_id_3"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### overwrite — 全文覆盖
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
lark-cli docs +update --doc "<doc_id>" --command overwrite \
|
|
137
|
+
--content '<title>全新文档</title><h1>概述</h1><p>新的内容</p>'
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
> ⚠️ 会清空文档后重写,可能丢失图片、评论等。仅在需要完全重建文档时使用。
|
|
141
|
+
|
|
142
|
+
### append — 在文档末尾追加
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
lark-cli docs +update --doc "<doc_id>" --command append \
|
|
146
|
+
--content '<h2>新增章节</h2><p>追加的内容</p>'
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
> 等价于 `block_insert_after --block-id -1`,无需先获取 block ID。
|
|
150
|
+
|
|
151
|
+
### block_copy_insert_after — 复制块并插入
|
|
152
|
+
|
|
153
|
+
将一个或多个源块复制到锚点块之后,源块保持不变。`--src-block-ids` 为逗号分隔的源块 ID,按顺序依次插入到锚点之后。
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# 复制多个块(按顺序插入:anchor → a → b → c)
|
|
157
|
+
lark-cli docs +update --doc "<doc_id>" --command block_copy_insert_after \
|
|
158
|
+
--block-id "锚点 block_id" \
|
|
159
|
+
--src-block-ids "block_a,block_b,block_c"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### block_move_after — 移动已有 block
|
|
163
|
+
|
|
164
|
+
将文档中已有的 block 移动到指定锚点之后。使用 `--src-block-ids` 指定要移动的块 ID,无需 `--content`。
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# 移动到页面末尾
|
|
168
|
+
lark-cli docs +update --doc "<doc_id>" --command block_move_after \
|
|
169
|
+
--block-id "-1表示末尾,page_id表示开头,blk" \
|
|
170
|
+
--src-block-ids "block_a,block_b"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## 返回值
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"ok": true,
|
|
178
|
+
"identity": "user",
|
|
179
|
+
"data": {
|
|
180
|
+
"document": {
|
|
181
|
+
"revision_id": 13,
|
|
182
|
+
"new_blocks": [
|
|
183
|
+
{ "block_id": "blkcnXXXX", "block_type": "whiteboard", "block_token": "boardXXXX" }
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
"result": "success",
|
|
187
|
+
"updated_blocks_count": 3,
|
|
188
|
+
"warnings": []
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
| 字段 | 说明 |
|
|
194
|
+
|------|------|
|
|
195
|
+
| `result` | `success` \| `partial_success` \| `failed` |
|
|
196
|
+
| `updated_blocks_count` | 实际更新的 block 数量 |
|
|
197
|
+
| `warnings` | 警告信息列表 |
|
|
198
|
+
| `document.new_blocks` | 本次操作新增的 block 列表(如画板)。`block_id` 可用于后续精确编辑;`block_token` 是资源块 token(如画板)可交给 `lark-whiteboard` 等 skill 继续操作 |
|
|
199
|
+
|
|
200
|
+
## 典型工作流
|
|
201
|
+
|
|
202
|
+
### 精确 block 级更新
|
|
203
|
+
|
|
204
|
+
1. **获取文档内容和 block ID**:
|
|
205
|
+
```bash
|
|
206
|
+
lark-cli docs +fetch --doc "<doc_id>" --detail with-ids
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
2. **定位目标 block**:从返回的 XML 中找到要修改的 block 及其 `id` 属性
|
|
210
|
+
|
|
211
|
+
3. **执行更新**:
|
|
212
|
+
```bash
|
|
213
|
+
# 替换特定 block
|
|
214
|
+
lark-cli docs +update --doc "<doc_id>" --command block_replace \
|
|
215
|
+
--block-id "blkcnXXXX" --content "<p>新内容</p>"
|
|
216
|
+
|
|
217
|
+
# 在某 block 后插入
|
|
218
|
+
lark-cli docs +update --doc "<doc_id>" --command block_insert_after \
|
|
219
|
+
--block-id "blkcnXXXX" --content "<h2>追加的章节</h2>"
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### 简单文本替换
|
|
223
|
+
|
|
224
|
+
不需要 block ID,直接匹配替换:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
lark-cli docs +update --doc "<doc_id>" --command str_replace \
|
|
228
|
+
--pattern "v1.0" --content "v2.0"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## 画板处理
|
|
232
|
+
|
|
233
|
+
> **`docs +update` 不能直接编辑已有画板的内容。** 本命令只能**新增**画板块;要修改已有画板,先用 `docs +fetch` 取到 `<whiteboard token="...">`,再按 [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md) 启动 SubAgent 读取 [`lark-whiteboard`](../../lark-whiteboard/SKILL.md) 并写入。
|
|
234
|
+
|
|
235
|
+
画板的语法选型与插入示例见 [`lark-doc-xml.md`](lark-doc-xml.md) 与 [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md)。
|
|
236
|
+
|
|
237
|
+
## 最佳实践
|
|
238
|
+
|
|
239
|
+
- **精确操作优于全文覆盖**:使用 `block_replace`/`block_insert_after` 精确修改,避免 `overwrite` 全文覆盖
|
|
240
|
+
- **str_replace 的匹配范围取决于格式**:
|
|
241
|
+
- **XML 模式(默认)**:`--pattern` 只支持**行内**匹配,不支持跨行 / 跨 block。段落、整块或容器级(列表、表格、分栏、引用块等)改动请改用 `block_replace` 指定 block_id 重建。
|
|
242
|
+
- **Markdown 模式**(`--doc-format markdown`):`--pattern` 同时支持**行内和跨行**匹配,还支持 `前缀...后缀` 省略号语法(用 `...` 串联首尾片段匹配一大段内容),可以一次替换多行文本;但仍建议优先按最小片段匹配,跨 block 容器级重写仍优先用 `block_replace`,避免副作用。
|
|
243
|
+
- **保护不可重建的内容**:图片、画板、电子表格等以 token 形式存储,替换时避开这些 block
|
|
244
|
+
- **str_replace 的 replacement 支持富文本**:可以用行内标签 `<b>`、`<a>`、`<cite>`、`<latex>` 等替换普通文本为富文本
|
|
245
|
+
- **同一 block 只能被 replace 一次**:多次修改同一 block 请合并为一次 block_replace
|
|
246
|
+
- **block_delete 支持批量**:用逗号分隔多个 block_id 一次删除
|
|
247
|
+
- **复杂结构重组**:将多个段落转换为 grid / table 等复杂布局时,分步操作比 overwrite 更安全:
|
|
248
|
+
1. 用 `block_insert_after` 在目标位置插入新的富文本结构
|
|
249
|
+
2. 用 `block_delete` 批量删除旧的 block
|
|
250
|
+
3. 这样可以保留文档中其他不相关的内容(图片、评论等)
|
|
251
|
+
- **表达形式**:插入或替换内容时,优先沿用用户要求和已有文档风格;需要结构化表达时可参考 [`lark-doc-style.md`](style/lark-doc-style.md),但不要为了固定丰富度主动添加组件
|
|
252
|
+
|
|
253
|
+
## 参考
|
|
254
|
+
|
|
255
|
+
- [`lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) — 改写增强工作流(Code-Act Loop、单 Agent 串行改写)
|
|
256
|
+
- [`lark-doc-style.md`](style/lark-doc-style.md) — 文档写作原则(默认段落、按体裁、组件克制)
|
|
257
|
+
- [`lark-doc-xml.md`](lark-doc-xml.md) — XML 语法规范
|
|
258
|
+
- [`lark-doc-fetch.md`](lark-doc-fetch.md) — 获取文档
|
|
259
|
+
- [`lark-doc-create.md`](lark-doc-create.md) — 创建文档
|
|
260
|
+
- [`lark-doc-media-insert.md`](lark-doc-media-insert.md) — 插入图片/文件到文档
|