@amaster.ai/pi-lark 0.1.3 → 0.1.5
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 +224 -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 +122 -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 +76 -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 +83 -0
- package/skills/lark-approval/references/lark-approval-tasks-transfer.md +91 -0
- package/skills/lark-apps/SKILL.md +92 -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-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 +44 -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-git-credential.md +37 -0
- package/skills/lark-apps/references/lark-apps-html-publish.md +57 -0
- package/skills/lark-apps/references/lark-apps-init.md +37 -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 +30 -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-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 +157 -0
- package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
- package/skills/lark-base/references/formula-field-guide.md +737 -0
- package/skills/lark-base/references/lark-base-cell-value.md +153 -0
- package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +717 -0
- package/skills/lark-base/references/lark-base-dashboard.md +238 -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 +452 -0
- package/skills/lark-base/references/lark-base-field-create.md +103 -0
- package/skills/lark-base/references/lark-base-field-json.md +490 -0
- package/skills/lark-base/references/lark-base-field-update.md +171 -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 +189 -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 +140 -0
- package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
- package/skills/lark-calendar/references/lark-calendar-create.md +114 -0
- package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -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 +113 -0
- package/skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
- package/skills/lark-calendar/references/lark-calendar-search-event.md +29 -0
- package/skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
- package/skills/lark-calendar/references/lark-calendar-update.md +105 -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 +138 -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 +113 -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 +154 -0
- package/skills/lark-doc/references/lark-doc-word-stat.md +93 -0
- package/skills/lark-doc/references/lark-doc-xml.md +181 -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 +220 -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 +193 -0
- package/skills/lark-drive/references/lark-drive-comments-guide.md +72 -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 +79 -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 +145 -0
- package/skills/lark-drive/references/lark-drive-files-list.md +158 -0
- package/skills/lark-drive/references/lark-drive-import.md +178 -0
- package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
- package/skills/lark-drive/references/lark-drive-member-add.md +66 -0
- package/skills/lark-drive/references/lark-drive-move.md +120 -0
- package/skills/lark-drive/references/lark-drive-permission-guide.md +41 -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 +162 -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 +137 -0
- package/skills/lark-drive/references/lark-drive-task-result.md +302 -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 +226 -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 +130 -0
- package/skills/lark-event/SKILL.md +154 -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 +248 -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 +287 -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.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 +69 -0
- package/skills/lark-markdown/references/lark-markdown-create.md +94 -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 +192 -0
- package/skills/lark-minutes/references/lark-minutes-detail.md +62 -0
- package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
- package/skills/lark-minutes/references/lark-minutes-search.md +204 -0
- package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +109 -0
- package/skills/lark-minutes/references/lark-minutes-summary.md +122 -0
- package/skills/lark-minutes/references/lark-minutes-todo.md +138 -0
- package/skills/lark-minutes/references/lark-minutes-update.md +41 -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 +193 -0
- package/skills/lark-shared/references/lark-wiki-token-routing.md +42 -0
- package/skills/lark-sheets/SKILL.md +165 -0
- package/skills/lark-sheets/references/lark-sheets-batch-update.md +191 -0
- package/skills/lark-sheets/references/lark-sheets-chart.md +330 -0
- package/skills/lark-sheets/references/lark-sheets-conditional-format.md +179 -0
- package/skills/lark-sheets/references/lark-sheets-core-operations.md +103 -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 +267 -0
- package/skills/lark-sheets/references/lark-sheets-pivot-table.md +166 -0
- package/skills/lark-sheets/references/lark-sheets-range-operations.md +267 -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 +395 -0
- package/skills/lark-sheets/references/lark-sheets-write-cells.md +565 -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 +274 -0
- package/skills/lark-slides/references/asset-planning.md +124 -0
- package/skills/lark-slides/references/examples.md +261 -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 +137 -0
- package/skills/lark-slides/references/lark-slides-edit-workflows.md +144 -0
- package/skills/lark-slides/references/lark-slides-media-upload.md +128 -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 +94 -0
- package/skills/lark-slides/references/lark-slides-whiteboard.md +330 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +220 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -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 +187 -0
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
- package/skills/lark-slides/references/planning-layer.md +216 -0
- package/skills/lark-slides/references/slide-templates.md +201 -0
- package/skills/lark-slides/references/slides_demo.xml +226 -0
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +3049 -0
- package/skills/lark-slides/references/troubleshooting.md +63 -0
- package/skills/lark-slides/references/validation-checklist.md +110 -0
- package/skills/lark-slides/references/visual-planning.md +254 -0
- package/skills/lark-slides/references/xml-format-guide.md +369 -0
- package/skills/lark-slides/references/xml-schema-quick-ref.md +245 -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 +367 -0
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +299 -0
- package/skills/lark-task/SKILL.md +167 -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 +57 -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 +202 -0
- package/skills/lark-vc/references/lark-vc-detail.md +44 -0
- package/skills/lark-vc/references/lark-vc-recording.md +154 -0
- package/skills/lark-vc/references/lark-vc-search.md +163 -0
- package/skills/lark-vc/references/vc-domain-boundaries.md +188 -0
- package/skills/lark-vc-agent/SKILL.md +191 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +287 -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 +94 -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 +110 -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.md +183 -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 +88 -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,40 @@
|
|
|
1
|
+
# apps +access-scope-set
|
|
2
|
+
|
|
3
|
+
设置妙搭应用运行时可见范围。运行时命令事实以 `lark-cli apps +access-scope-set --help` 为准。
|
|
4
|
+
|
|
5
|
+
## 何时用
|
|
6
|
+
|
|
7
|
+
用于修改应用运行时可见范围。不要把它当作开发协作者管理;用户说“谁可以访问/打开/使用应用”才走这里。
|
|
8
|
+
|
|
9
|
+
## 命令骨架
|
|
10
|
+
|
|
11
|
+
- 必填:`--app-id`、`--scope`。
|
|
12
|
+
- `--scope` 枚举:`specific` / `public` / `tenant`。
|
|
13
|
+
- `specific` 必填 `--targets`,JSON 数组元素形如 `{"type":"user|department|chat","id":"..."}`。
|
|
14
|
+
- `specific` 可选 `--apply-enabled` 和 `--approver`;`--approver` 必须配合 `--apply-enabled`,且只能传一个 user open_id(服务端限制)。
|
|
15
|
+
- `public` 必须显式传 `--require-login=true|false`。
|
|
16
|
+
- `tenant` 不允许额外 target/apply/login flag。
|
|
17
|
+
|
|
18
|
+
## 示例
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
lark-cli apps +access-scope-set --app-id app_xxx --scope tenant
|
|
22
|
+
|
|
23
|
+
lark-cli apps +access-scope-set --app-id app_xxx --scope public --require-login=true
|
|
24
|
+
|
|
25
|
+
lark-cli apps +access-scope-set --app-id app_xxx --scope specific \
|
|
26
|
+
--targets '[{"type":"user","id":"ou_xxx"},{"type":"chat","id":"oc_xxx"}]'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 输出契约
|
|
30
|
+
|
|
31
|
+
- 成功时 `data` 可能为空;根据已执行的 `--scope` 和 targets 给用户总结结果。
|
|
32
|
+
- 互斥参数错误会在本地 validation 阶段失败,不会发请求。
|
|
33
|
+
|
|
34
|
+
## Agent 规则
|
|
35
|
+
|
|
36
|
+
这是运行时访问范围,不是开发协作者权限。收窄可见范围前向用户说明影响,并在执行前确认目标用户、部门或群。
|
|
37
|
+
|
|
38
|
+
若服务端返回"应用未发布/需先发布才能设置可见范围",把这一情况转述给用户并询问是否现在发布,得到同意后再 `+release-create`,不要把这个 hint 当指令自动发布。
|
|
39
|
+
|
|
40
|
+
用户给的是姓名、部门名或群名时,先解析成 ID 再组装 `--targets`:人名→`ou_` 用 `lark-cli contact +search-user --query <名字>`,群名→`oc_` 用 `lark-cli im +chat-search --query <群名>`,部门→`od_` 走 contact/通讯录。多候选时展示名称和 ID 让用户选,不要要求用户手填 `ou_` / `od_` / `oc_`。
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# lark-apps 云端会话开发
|
|
2
|
+
|
|
3
|
+
适用:用户希望让云端妙搭 Agent 生成或迭代应用,而不是把代码拉到本地开发。
|
|
4
|
+
|
|
5
|
+
## 核心流程
|
|
6
|
+
|
|
7
|
+
整个开发在云端进行:本地只负责「发消息 + 轮询状态」,不拉源码、不产出代码、不启动本地 dev server。所有 session/chat 命令都以用户身份执行(`--as user`)。
|
|
8
|
+
|
|
9
|
+
### 资源模型:app → session → turn
|
|
10
|
+
|
|
11
|
+
三层父子关系,下层都挂在上层之下:
|
|
12
|
+
|
|
13
|
+
- **app(应用资产)**:一个妙搭应用,由 `+create` 创建并拿到 `app_id`。云端生成应用类型用 `full_stack`。
|
|
14
|
+
- **session(会话)**:一个 app 下的一段独立对话上下文,由 `+session-create` 创建并拿到 `session_id`。一个 app 可有多个 session;`is_active` 表示该 session 当前是否可写(可发起对话)。
|
|
15
|
+
- **turn(轮)**:一个 session 里的一轮交互 = 一条用户消息 + 妙搭 Agent 针对它的生成/迭代。`+chat` 发一条消息就发起一轮;轮的句柄是 `turn_id`,状态看 `latest_turn.status`。
|
|
16
|
+
|
|
17
|
+
### 执行模型:异步 + 轮询
|
|
18
|
+
|
|
19
|
+
`+chat` 把消息入队后**立即返回、不等生成完成,响应不带 `turn_id`**;本轮状态与轮询节奏全靠 `+session-get` 读 `latest_turn.status` / `is_streaming` / `next_poll_after_ms`。
|
|
20
|
+
|
|
21
|
+
`+session-get` 关键字段:
|
|
22
|
+
|
|
23
|
+
- `is_streaming`:当前是否有一轮正在跑(`true`=还在生成)。
|
|
24
|
+
- `latest_turn.status`:最近一轮的状态,只有 `running` / `completed` / `failed` / `cancelled`。
|
|
25
|
+
- `latest_turn.turn_id`:最近一轮的句柄(`+session-stop --turn-id` 用它)。
|
|
26
|
+
- `latest_turn.user_message`:本轮用户发的消息。
|
|
27
|
+
- `latest_turn.messages`:本轮完成后回看全貌的消息列表,按时序排列、每条带 `role`(用户消息、模型回复、工具调用等都在内,role 取值如 `user` / `assistant` / `tool`)。注意它在 `latest_turn` 仍 running/初始化期可能为空——该轮**进行中**的实时进展改用 `+session-messages-list --turn-id <latest_turn.turn_id>` 读(见下方轮询规则)。
|
|
28
|
+
- `queued_messages` / `queued_count`:还没开始跑、排在后面的消息。
|
|
29
|
+
- `next_poll_after_ms`:建议的下次轮询间隔(毫秒,固定值);非空时优先用它。
|
|
30
|
+
|
|
31
|
+
轮询规则:
|
|
32
|
+
|
|
33
|
+
- 节奏按 [初始化 vs 增量修改](#初始化-vs-增量修改) 判定:增量 5-10 秒一次;初始化 60-120 秒一次;`next_poll_after_ms` 非空时用它。
|
|
34
|
+
- `is_streaming=true`、`building` / `running` / `streaming` 表示仍在生成,继续轮询,不傻等也不提前放弃;初始化阶段单次 sleep 拉到 60-120 秒,进入 `streaming` 或属增量修改时切回 5-10 秒。
|
|
35
|
+
- `is_streaming=false` 且 `latest_turn.status=completed` 表示本轮完成,可发下一条。
|
|
36
|
+
- `failed` / `cancelled` 时转述错误字段或 hint,由用户决定是否重试,不要静默重发。
|
|
37
|
+
- 不知道某 app 有哪些 session 时,先 `+session-list --app-id <id>`,再选最近活跃的或让用户确认,别直接猜 `session_id`。
|
|
38
|
+
- 要中止正在运行的一轮,从 `+session-get` 的 `latest_turn.turn_id` 取值,再调用 `+session-stop --turn-id <turn_id>`。
|
|
39
|
+
- 状态与节奏看 `+session-get`,本轮实时内容看 `+session-messages-list`:想在 running 期间向用户播报"云端 Agent 此刻在做什么",用 `+session-messages-list --turn-id <latest_turn.turn_id>` 读已产出的增量消息(running 期间即可读,不必等本轮结束)。复用上面的轮询节奏、不另起更密的轮询;续拉时把上次响应的 `next_page_token` 作 `--page-token` 只取新消息,转述时简述进展、不原样打印整段消息或工具输出。
|
|
40
|
+
|
|
41
|
+
### 典型链路
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# 1) 建 app,拿 app_id(云端生成走 full_stack)
|
|
45
|
+
lark-cli apps +create --name "待办应用" --app-type full_stack \
|
|
46
|
+
--description "支持新增、完成、筛选待办"
|
|
47
|
+
|
|
48
|
+
# 2) 在该 app 下建 session,拿 session_id
|
|
49
|
+
lark-cli apps +session-create --app-id app_xxx
|
|
50
|
+
|
|
51
|
+
# 3) 发消息发起一轮(异步入队,立即返回,无 turn_id)
|
|
52
|
+
lark-cli apps +chat --app-id app_xxx --session-id sess_xxx --message "做一个待办清单页面"
|
|
53
|
+
|
|
54
|
+
# 4) 轮询本轮状态;完成后从 latest_turn.messages 读取结果
|
|
55
|
+
lark-cli apps +session-get --app-id app_xxx --session-id sess_xxx
|
|
56
|
+
|
|
57
|
+
# 找该 app 已有的会话(续聊/不确定 session 时用)
|
|
58
|
+
lark-cli apps +session-list --app-id app_xxx
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 完成态不等于发布态
|
|
62
|
+
|
|
63
|
+
通用发布态判定(is_published 语义、开发态链接拼接、发布态链接来源)见 SKILL.md「发布态护栏」。本 reference 只补云端会话特有的措辞:
|
|
64
|
+
|
|
65
|
+
- `+session-get` 返回 `is_streaming=false` 且 `latest_turn.status=completed`,只说明本轮云端生成/迭代结束,不等于已发布部署。
|
|
66
|
+
- 如果只完成了云端会话、没有确认发布完成,就明确告诉用户“开发态链接可进入继续编辑,发布态是否为最新版本尚未确认”。
|
|
67
|
+
|
|
68
|
+
## 需求发送
|
|
69
|
+
|
|
70
|
+
- 只有用户明确选择云端路径,或明确说“让妙搭 Agent / 云端 AI 生成/迭代”时,才进入本 reference;不要因为用户只说“做个 X”或“给我链接”就默认云端。
|
|
71
|
+
- 进入云端路径后,极简需求也可直接发起生成,例如“做个投票工具”“做个站会小应用”。先建 `full_stack` app,再用 `+chat --message "<用户原话>"` 透传需求,不编造实体、字段或业务细节。
|
|
72
|
+
- 如果需求过泛,可在 `+chat --message` 中保留原话,并只补一句“请先生成通用版本,后续可继续迭代”,不要用多轮追问阻塞生成。
|
|
73
|
+
|
|
74
|
+
## 会话落点
|
|
75
|
+
|
|
76
|
+
| 情形 | 动作 |
|
|
77
|
+
|---|---|
|
|
78
|
+
| 全新应用 + 云端生成 | 先 `+create --app-type full_stack` 拿 `app_id`,再 `+session-create` -> `+chat` |
|
|
79
|
+
| 已知 app_id,用户没指定会话 | 先 `+session-list`;有活跃会话时问用户继续现有还是新开 |
|
|
80
|
+
| 用户说“新开一段/换个话题” | `+session-create` 后再 `+chat` |
|
|
81
|
+
| 用户说“接着刚才” | 复用上下文 session_id;拿不到就 `+session-list` 让用户选 |
|
|
82
|
+
| 用户问会话“进行到哪一步/当前状态/最新进展” | 用 `+session-get --session-id <sid>` 读状态。`+session-list` 只负责发现/选择会话,不含执行状态;它返回空不等于无状态可查(session_id 也可能来自上下文),别用 `+session-list`/`+release-list` 代替 `+session-get` 回答进度 |
|
|
83
|
+
|
|
84
|
+
## 初始化 vs 增量修改
|
|
85
|
+
|
|
86
|
+
`+chat` 单轮的耗时差距很大,取决于目标 app 是否**已初始化**。两者的轮询节奏不同,**`+chat` 前先把状态判定清楚**,不要拿"是不是第一次发消息"当代理判断——session 是新建的不代表 app 没初始化过。
|
|
87
|
+
|
|
88
|
+
### 判定规则
|
|
89
|
+
|
|
90
|
+
**已初始化**(满足任一即认为已初始化):
|
|
91
|
+
|
|
92
|
+
1. 本地存在该 app 的项目目录(已 `+init` 或 clone 过),**且** git commit 数 > 2;
|
|
93
|
+
2. 应用维度(云端)至少有一个已提交的版本,按以下任一信号判断:
|
|
94
|
+
- `lark-cli apps +session-get --app-id <app_id> --session-id <session_id>` 的返回里出现已提交版本信息;
|
|
95
|
+
- 在 `lark-cli apps +list`(必要时配 `--keyword <name>` 定位)的目标 app 条目里 `is_published: true`。
|
|
96
|
+
|
|
97
|
+
**未初始化**(两个条件同时成立):
|
|
98
|
+
|
|
99
|
+
1. 本地不存在该 app 的项目目录;
|
|
100
|
+
2. 应用维度没有任何已提交版本(即上面两路云端信号都判 false)。
|
|
101
|
+
|
|
102
|
+
### 两种 `+chat` 的行为
|
|
103
|
+
|
|
104
|
+
| 状态 | 服务端动作 | 单轮耗时 | 轮询建议 |
|
|
105
|
+
|---|---|---|---|
|
|
106
|
+
| 已初始化 → **增量修改** | 云端 Agent 在已有云端工作区上对**已提交代码**做局部修改,跳过方案设计与首次生成 | 通常分钟级 | `next_poll_after_ms` 为空时 5-10 秒一次 |
|
|
107
|
+
| 未初始化 → **首次初始化 + 生成** | 服务端跑完整的应用初始化流程:需求分析、技术方案、数据模型、UI 与后端代码生成、首版代码提交到云端工作区 | 视需求复杂度,**通常 20~50 分钟** | `next_poll_after_ms` 为空时 60-120 秒一次 |
|
|
108
|
+
|
|
109
|
+
初始化阶段 `+session-get` 可能长时间持续返回 `building` / `running`,是正常状态,**不要按失败处理,也不要催用户**。
|
|
110
|
+
|
|
111
|
+
## 字段注意
|
|
112
|
+
|
|
113
|
+
所有字段统一 snake_case,顶层和嵌套 turn 字段都一样:`session_id`、`is_active`、`is_streaming`、`next_poll_after_ms`、`latest_turn.turn_id`、`latest_turn.status`、`latest_turn.user_message`、`latest_turn.messages`。
|
|
114
|
+
|
|
115
|
+
`+session-stop` 只停止正在运行的当前轮,不关闭会话;停完仍可继续 `+chat`。
|
|
116
|
+
|
|
117
|
+
## 不适用
|
|
118
|
+
|
|
119
|
+
- 用户已有本地 HTML/dist,要马上发布 URL:读 [`lark-apps-html-publish.md`](lark-apps-html-publish.md)。
|
|
120
|
+
- 用户要本地写代码、改仓库、跑 dev server:读 [`lark-apps-local-dev.md`](lark-apps-local-dev.md)。
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# apps +create
|
|
2
|
+
|
|
3
|
+
创建妙搭应用。运行时命令事实以 `lark-cli apps +create --help` 为准。
|
|
4
|
+
|
|
5
|
+
## 何时用
|
|
6
|
+
|
|
7
|
+
用来创建应用资产并拿到 `app_id`。它不负责把自然语言需求交给云端 Agent:用户要“帮我生成/迭代应用”时,先创建 `full_stack` app,再进入 [`lark-apps-cloud-dev.md`](lark-apps-cloud-dev.md) 用 `+session-create` / `+chat` 提交需求。
|
|
8
|
+
|
|
9
|
+
## 命令骨架
|
|
10
|
+
|
|
11
|
+
- 必填:`--name`、`--app-type`。
|
|
12
|
+
- app type 语义取值为 `html` / `full_stack`;CLI 会把输入归一成小写后校验。
|
|
13
|
+
- 可选:`--description`、`--icon-url`。
|
|
14
|
+
|
|
15
|
+
## 示例
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
lark-cli apps +create --name "客户调研问卷" --app-type html
|
|
19
|
+
|
|
20
|
+
lark-cli apps +create --name "审批系统" --app-type full_stack \
|
|
21
|
+
--description "部门审批系统,支持登录、提交申请、多级审批"
|
|
22
|
+
|
|
23
|
+
lark-cli apps +create --name "Demo" --app-type html --dry-run
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 输出契约
|
|
27
|
+
|
|
28
|
+
- 成功默认 JSON envelope 中读取 `data.app.app_id`,同时可用 `data.app.name` / `description` 向用户确认结果。
|
|
29
|
+
- pretty 输出只适合人看;后续命令需要 app_id 时,用 JSON 或 `--jq '.data.app.app_id'`。
|
|
30
|
+
|
|
31
|
+
## app type 与命名
|
|
32
|
+
|
|
33
|
+
- `--app-type` 取值与判定信号见 SKILL.md「选择开发路径」,此处不重复。
|
|
34
|
+
- 用户只给自然语言需求时,据此生成简洁的 `--name` 和一句 `--description` 直接创建;不满意再用 `+update` 改。
|
|
35
|
+
|
|
36
|
+
创建后按用户路径继续:
|
|
37
|
+
|
|
38
|
+
- 发布现成 HTML/静态目录:读 [`lark-apps-html-publish.md`](lark-apps-html-publish.md)。
|
|
39
|
+
- 本地全栈开发:读 [`lark-apps-local-dev.md`](lark-apps-local-dev.md)。
|
|
40
|
+
- 云端 Agent 生成/迭代:读 [`lark-apps-cloud-dev.md`](lark-apps-cloud-dev.md)。
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# apps +db-execute
|
|
2
|
+
|
|
3
|
+
经妙搭服务端在应用数据库执行 SQL。运行时命令事实以 `lark-cli apps +db-execute --help` 为准。
|
|
4
|
+
|
|
5
|
+
## 何时用
|
|
6
|
+
|
|
7
|
+
用于通过妙搭服务端执行应用数据库 SQL。不要从环境变量里取连接串裸连数据库;本地调试也走这个 shortcut。
|
|
8
|
+
|
|
9
|
+
## 命令骨架
|
|
10
|
+
|
|
11
|
+
- 必填:`--app-id`,以及 `--sql` / `--file` 二选一(互斥)。
|
|
12
|
+
- `--sql`:内联 SQL 文本;传 `-` 时从 stdin 读。绝对路径文件经 stdin 传入:`--sql - < <absolute-path>`(shell 解析路径,CLI 仅接收内容)。
|
|
13
|
+
- `--file`:`.sql` 文件路径,需为工作目录内的相对路径(如 `--file ./migration.sql`);绝对路径、或经 `..`/符号链接越出工作目录的路径会被拒绝。文件不在工作目录内时,改用 `--sql - < <文件路径>` 经 stdin 传入。
|
|
14
|
+
- `--environment` 枚举:`dev` / `online`,**默认 `dev`**;操作线上库、或**未开启多环境的应用(其数据库在 `online`,没有 dev 分支)**时显式 `--environment online`。旧名 `--env` 已**移除**:传入会报 validation 错(提示改用 `--environment`),一律用 `--environment`。
|
|
15
|
+
- risk 是 `high-risk-write`(SQL 可含 DML/DDL):任何执行都需 `--yes`,否则返回 `confirmation_required` / exit 10。`--dry-run` 预览不需要 `--yes`。
|
|
16
|
+
- **不会自动为你包事务,事务边界需自己在 SQL 里控制**:多语句默认逐条独立提交,中间某条失败时前序语句已生效、不会回滚;若需要「要么全部成功、要么全部回滚」的原子性,请在 SQL 内显式写 `BEGIN … COMMIT`(详见下「Agent 规则」)。
|
|
17
|
+
|
|
18
|
+
## 示例
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
lark-cli apps +db-execute --app-id app_xxx --environment dev --sql "select * from orders limit 5" --yes
|
|
22
|
+
lark-cli apps +db-execute --app-id app_xxx --environment dev --file ./migration.sql --dry-run
|
|
23
|
+
# 绝对路径文件 / cwd 不固定:经 stdin 传入
|
|
24
|
+
lark-cli apps +db-execute --app-id app_xxx --environment dev --sql - --yes < /Users/.../migrations/0001_init.sql
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 输出契约
|
|
28
|
+
|
|
29
|
+
- 成功默认 JSON 的 `data` 按 SQL 类型自适应(不透传后端原始串):
|
|
30
|
+
- 单 SELECT → `data` 是行数组 `[{...}]`(空 → `[]`),直接 `-q '.data[].col'` 取字段。
|
|
31
|
+
- 单 DML → `data = {command, rows_affected}`(如 `{"command":"INSERT","rows_affected":1}`)。
|
|
32
|
+
- 单 DDL → `data = {command}`(如 `{"command":"CREATE_TABLE"}`)。
|
|
33
|
+
- 多语句 → `data` 是元素数组:SELECT 为 `{command:"SELECT", rows:[...]}`,DML 为 `{command, rows_affected}`,DDL 为 `{command}`。
|
|
34
|
+
- pretty 会按 SELECT/DML/DDL 自适应渲染;多语句会逐条显示 Statement 摘要。
|
|
35
|
+
- 失败返回 typed `error`(`type:"api"`、`subtype:"server_error"`、`code`、`message`、`hint`):失败位置在 `message` 的「(at statement N of M)」;前序是否落地 / 是否整批回滚写在 `hint`——事务内失败「Transaction rolled back; no changes persisted.」;非事务多语句前序已落地「Earlier statements were committed and not rolled back; fix statement N and re-run the remaining statements.」;首句即失败(无前序落地)「No statements were applied; fix the SQL and re-run.」。据此决定整段重跑还是只跑剩余语句。
|
|
36
|
+
|
|
37
|
+
## Agent 规则
|
|
38
|
+
|
|
39
|
+
- 该命令为 high-risk-write,执行一律需 `--yes`;无 `--yes` 会返回 `confirmation_required` / exit 10。
|
|
40
|
+
- **只读查询、以及不删除/不丢失既有数据且可撤回的语句**:已授权时可直接带 `--yes` 执行。
|
|
41
|
+
- **会删除或丢失既有数据、或难以撤回的语句**:先 `--dry-run` 预览(无需 `--yes`),向用户确认后再带 `--yes` 执行;不要在用户不知情时自动补 `--yes`。
|
|
42
|
+
- 多语句失败时,失败前的语句可能已经 commit 落地。不要整批重跑;按错误 message/hint 修失败语句,并从剩余语句继续。
|
|
43
|
+
- 如果需要原子性,让用户在 SQL 内显式写 `BEGIN` / `COMMIT`,不要假设 CLI 会包事务。
|
|
44
|
+
- 不要把数据库连接串从 env 中取出来裸连。
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# apps db 域命令
|
|
2
|
+
|
|
3
|
+
管理妙搭应用数据库:看表与结构、初始化与发布多环境、数据搬运、变更治理、时间点恢复、用量。逐条跑 SQL(SELECT/DML/DDL)走 [`+db-execute`](lark-apps-db-execute.md)(单独一篇)。运行时命令事实以 `lark-cli apps +<cmd> --help` 为准;认证、`--as user`、exit 码、`_notice` 等通用处理见 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) 与本域 [`SKILL.md`](../SKILL.md)。
|
|
4
|
+
|
|
5
|
+
## 何时用
|
|
6
|
+
|
|
7
|
+
用户要看应用里有哪些表 / 某张表的结构、把单库应用拆成 dev/online 多环境、把数据导进导出表、查谁在什么时候改了表结构或表数据、开关行级审计、把开发环境的库结构发布到线上、把库恢复到过去某个时间点、或看数据库用量时。逐条执行 SQL 走 [`+db-execute`](lark-apps-db-execute.md);文件存储(上传/下载文件)走 [`lark-apps-file.md`](lark-apps-file.md)。
|
|
8
|
+
|
|
9
|
+
## 命令一览
|
|
10
|
+
|
|
11
|
+
| 命令 | 做什么 | 关键参数 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| `+db-table-list` | 列出某环境的数据表 | `--environment`、`--page-size`/`--page-token` |
|
|
14
|
+
| `+db-table-get` | 看单张表的结构(字段/索引/约束/DDL) | `--table`、`--environment`、`--format` |
|
|
15
|
+
| `+db-env-create` | 把单库应用初始化为 dev/online 多环境(高危) | `--environment`、`--sync-data`、`--yes` |
|
|
16
|
+
| `+db-data-export` | 把一张表的数据导出到本地文件 | `--table`、`--output`、`--limit`、`--environment` |
|
|
17
|
+
| `+db-data-import` | 把本地 csv/json 文件导进一张表(高危) | `--file`、`--table`、`--environment`、`--yes` |
|
|
18
|
+
| `+db-changelog-list` | 查表结构变更(DDL)历史 | `--table`、`--change-id`、`--since`/`--until`、`--environment` |
|
|
19
|
+
| `+db-audit-status` | 看哪些表开了行级审计、保留期 | `--table`、`--environment` |
|
|
20
|
+
| `+db-audit-enable` | 给某表开启行级变更审计 | `--table`、`--retention`、`--environment` |
|
|
21
|
+
| `+db-audit-disable` | 关闭某表的行级审计 | `--table`、`--environment` |
|
|
22
|
+
| `+db-audit-list` | 列出表的行级变更事件(增删改追溯) | `--table`(可重复)、`--since`/`--until`、`--environment` |
|
|
23
|
+
| `+db-env-diff` | 预览开发环境待发布到线上的结构变更 | `--app-id` |
|
|
24
|
+
| `+db-env-migrate` | 把开发环境的结构变更发布到线上(高危) | `--app-id`、`--yes` |
|
|
25
|
+
| `+db-recovery-diff` | 预览把库恢复到某时间点会带来的变更 | `--target` |
|
|
26
|
+
| `+db-recovery-apply` | 把库恢复到某个时间点、覆盖当前数据(高危) | `--target`、`--yes` |
|
|
27
|
+
| `+db-quota-get` | 查数据库存储用量 | `--environment` |
|
|
28
|
+
|
|
29
|
+
## 约定(先读)
|
|
30
|
+
|
|
31
|
+
- **环境 `--environment dev|online`(所有 db 命令统一默认 `dev`)**:看表、看结构、数据导入导出、变更追溯、审计、配额都按环境区分,写操作建议先在 `dev` 验。**注意:只有开启了多环境(`+db-env-create`)的应用才有 `dev` 分支;未开启多环境的应用其数据库在 `online`——对这类应用必须显式 `--environment online`,否则默认的 `dev` 分支不存在、会报错**。旧名 `--env` 已**移除**:传入会报 validation 错(提示改用 `--environment`),一律用 `--environment`。`+db-env-diff`/`+db-env-migrate` 是「dev→online 发布」语义、`+db-recovery-*` 作用于当前库,二者**没有** `--environment`。
|
|
32
|
+
- **本地文件 / `--output` 用工作目录内相对路径**:导入 `--file ./orders.csv`、导出 `--output ./out.csv`;绝对路径、或经 `..`/符号链接越出工作目录的 `--output` 会被拒(validation / exit 2)。路径在别处先 `cd` 过去或改成相对路径。
|
|
33
|
+
- **高危操作必须带 `--yes`**:`+db-env-create`、`+db-data-import`、`+db-env-migrate`、`+db-recovery-apply` 缺省会被确认关卡拦下;动手前先用对应的预览命令或 `--dry-run` 看清影响。
|
|
34
|
+
- **时间参数按口语自然传**(`--since`/`--until`/`--target`),格式见末尾。
|
|
35
|
+
|
|
36
|
+
## 各命令
|
|
37
|
+
|
|
38
|
+
### 表与结构
|
|
39
|
+
|
|
40
|
+
**`+db-table-list`**:列出某环境的数据表。分页 `--page-size`(默认 20)/ `--page-token`(上一页 cursor)。每项给表名、描述、估算行数、大小、列数;要完整列定义 / 索引 / 约束用 `+db-table-get`。只知道业务对象名时,先用它定位可能的表名。
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
lark-cli apps +db-table-list --app-id app_xxx
|
|
44
|
+
lark-cli apps +db-table-list --app-id app_xxx --environment dev --page-size 50
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**`+db-table-get`**:看单张表的结构。默认 JSON 给结构化的字段 / 索引 / 约束 / 估算行数 / 大小;`--format pretty` 直接输出建表 DDL 文本(给用户看建表语句或做迁移参照时用)。
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
lark-cli apps +db-table-get --app-id app_xxx --table orders
|
|
51
|
+
lark-cli apps +db-table-get --app-id app_xxx --table orders --environment dev --format pretty
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 多环境数据库(初始化 + 发布)
|
|
55
|
+
|
|
56
|
+
**`+db-env-create`(高危)**:把存量单库应用初始化为 dev/online 两套库,不可逆,必须带 `--yes`。`--environment` 目前只支持 `dev`(默认 `dev`);`--sync-data` 把现有 online 数据复制到新环境(不传则不复制)。注意:`+create --app-type full_stack` 新建的应用通常已自带多环境,重复初始化会返回冲突错误(应用已是多环境)——按 `error.hint` 转述状态即可,别重复初始化。
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
lark-cli apps +db-env-create --app-id app_xxx --environment dev --dry-run
|
|
60
|
+
lark-cli apps +db-env-create --app-id app_xxx --environment dev --sync-data --yes
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**`+db-env-diff`**:预览开发环境里待发布到线上的表结构变更,不落地。发布前先看这个。无待发布变更时明确返回「无变更」。
|
|
64
|
+
|
|
65
|
+
**`+db-env-migrate`(高危)**:把开发环境的结构变更正式发布到线上,不可逆,必须带 `--yes`,返回实际发布的变更条数。发布是异步的,命令会等到完成再返回结果。
|
|
66
|
+
|
|
67
|
+
> 预览与发布同一端点,故 `+db-env-diff` 也需 `spark:app:write` scope(不是纯只读权限)。
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
lark-cli apps +db-env-diff --app-id app_xxx
|
|
71
|
+
lark-cli apps +db-env-migrate --app-id app_xxx --yes
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 数据导入导出
|
|
75
|
+
|
|
76
|
+
**`+db-data-export`**:把一张表导出到本地文件。导出格式**只由 `--output` 的扩展名决定**——`.csv` / `.json` / `.sql`,缺省按 `<表名>.csv` 落在当前目录。注意:全局 `--format json|pretty` 只控制**命令自身输出**(成功摘要 / 错误信封)的渲染,**不影响导出文件的格式**;`--output` 后缀必须是 `.csv/.json/.sql` 之一,否则报 validation 错误(exit 2),且不支持导出到 stdout。两道体量约束:
|
|
77
|
+
|
|
78
|
+
- `--limit`(1..5000,默认 5000)是**行数上限守卫**:表的行数超过它会被整体拒掉(不是「只导前 N 行」);
|
|
79
|
+
- 导出产物 >1 MB 也会被拒。
|
|
80
|
+
|
|
81
|
+
超大表别硬导:先用 `+db-execute` 加 `WHERE` / `LIMIT` 缩小范围、分批导。
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
lark-cli apps +db-data-export --app-id app_xxx --table orders --output ./orders.csv
|
|
85
|
+
lark-cli apps +db-data-export --app-id app_xxx --table orders --output ./orders.json --environment dev
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**`+db-data-import`(高危)**:把本地 csv/json 文件的数据导进表。文件需是 `.csv`/`.json`、≤1 MB,必须带 `--yes`。目标表缺省取文件名去掉**最后一个**扩展名(如 `orders.csv`→`orders`,`orders.2026.csv`→`orders.2026`);文件名带点号时建议显式传 `--table` 以免落到意外的表名。
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
lark-cli apps +db-data-import --app-id app_xxx --table orders --file ./orders.csv --environment dev --yes
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**导入/导出限额**:体积 ≤ **1 MB**、行数 ≤ **5000**,导入导出都一样,超限会被拒。超限就分批——导入拆成 ≤1 MB / ≤5000 行的多个文件,导出用 `WHERE` / `LIMIT` 缩小范围。
|
|
95
|
+
|
|
96
|
+
### 变更追溯与审计
|
|
97
|
+
|
|
98
|
+
**`+db-changelog-list`**:查表结构变更(DDL)历史——谁、什么时候、改了哪张表、做了什么。可按 `--table` 过滤、按 `--change-id` 精确定位某条、用 `--since`/`--until` 圈时间区间,分页 `--page-size`/`--page-token`。
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
lark-cli apps +db-changelog-list --app-id app_xxx --table orders --since 7d
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**`+db-audit-status`**:看审计开关状态。给 `--table` 看单表,不给则列出所有已配置的表(开没开、保留期)。
|
|
105
|
+
|
|
106
|
+
**`+db-audit-enable` / `+db-audit-disable`**:开 / 关某张表的行级变更审计。`--retention` 设保留期,取值 `7d`/`30d`/`180d`/`360d`/`forever`(默认 `7d`)。不要对已经开启审计的表重复 enable——不确定就先用 `+db-audit-status` 查。
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
lark-cli apps +db-audit-enable --app-id app_xxx --table orders --retention 30d
|
|
110
|
+
lark-cli apps +db-audit-disable --app-id app_xxx --table orders
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**`+db-audit-list`**:列出表的行级变更事件(INSERT/UPDATE/DELETE 的前后值与操作人)。`--table` 必填、可重复传多张表;`--since`/`--until` 圈时间。
|
|
114
|
+
- **多表查询**:会先帮用户把不存在、或没开审计的表过滤掉再查,被过滤的表及原因列在结果的 `skipped` 里——据此告诉用户哪些表没纳入及为什么。
|
|
115
|
+
- **单表查询**:不预过滤,表不存在 / 未开审计会直接报错(按 `error.hint` 转述给用户,引导先 `+db-audit-enable`)。
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
lark-cli apps +db-audit-list --app-id app_xxx --table orders --since 24h
|
|
119
|
+
lark-cli apps +db-audit-list --app-id app_xxx --table orders --table users
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 时间点恢复(PITR)
|
|
123
|
+
|
|
124
|
+
**`+db-recovery-diff`**:预览把库恢复到 `--target` 时间点会带来哪些变更(受影响的表、行数、预计耗时),不落地。同样需 `spark:app:write` scope。
|
|
125
|
+
|
|
126
|
+
**`+db-recovery-apply`(高危)**:把库恢复到某个时间点,**会覆盖当前数据**,不可逆,必须带 `--yes`。
|
|
127
|
+
|
|
128
|
+
- 可恢复窗口最长 **7 天**,且不早于**最近一次 `+db-env-migrate`**;超出窗口的目标会被拒。
|
|
129
|
+
- 目标时间点与当前库一致时返回 `no_changes`(空操作),不算失败。
|
|
130
|
+
- 动手前务必先 `+db-recovery-diff` 给用户确认。
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
lark-cli apps +db-recovery-diff --app-id app_xxx --target 2h
|
|
134
|
+
lark-cli apps +db-recovery-apply --app-id app_xxx --target 2026-04-15T10:00:00Z --yes
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 配额
|
|
138
|
+
|
|
139
|
+
**`+db-quota-get`**:查数据库存储用量(已用量、表数、视图数;配额接入后还会给总配额与使用率)。
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
lark-cli apps +db-quota-get --app-id app_xxx --environment dev
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## 时间格式(`--since` / `--until` / `--target`)
|
|
146
|
+
|
|
147
|
+
按用户口语自然传入即可,支持:
|
|
148
|
+
- 相对时间 `7d` / `2h` / `30s`(从现在往前推)
|
|
149
|
+
- 日期 `2026-04-15`
|
|
150
|
+
- 日期时间 `2026-04-15T10:00:00`
|
|
151
|
+
- 带时区的 ISO 8601 `2026-04-15T10:00:00Z` / `2026-04-15T10:00:00+08:00`
|
|
152
|
+
|
|
153
|
+
> **时区**:不带时区的 `日期` / `日期时间` 按**运行机器的本地时区**解析(再归一化到 UTC)。CI(UTC)与本地(如 UTC+8)跑同一条命令,时间边界会差几小时;要精确锁定时区时显式写 ISO 8601 带偏移(如 `...+08:00` / `...Z`)。`--target`(PITR 恢复)尤其建议带时区,避免恢复到非预期时间点。
|
|
154
|
+
|
|
155
|
+
## Agent 规则
|
|
156
|
+
|
|
157
|
+
- 用户说「本地 / 开发库 / 调试库」优先 `--environment dev`,线上排查用 `--environment online`;数据面写操作(导入 / 审计开关)默认先在 `dev` 验再动 `online`。
|
|
158
|
+
- 看表用 `+db-table-list`,看结构用 `+db-table-get`(要建表语句加 `--format pretty`);`+db-env-create` 仅用于存量单库拆多环境,新建的 full_stack 应用一般不需要。
|
|
159
|
+
- 四个高危命令(`+db-env-create`、`+db-data-import`、`+db-env-migrate`、`+db-recovery-apply`)动手前先看清影响再带 `--yes`:发布 / 恢复先跑对应预览 `+db-env-diff` / `+db-recovery-diff`,导入无预览命令、可先 `--dry-run` 看请求或先在 `--environment dev` 验;不要静默追加 `--yes`,遇 confirmation_required(exit 10)按 lark-shared 协议向用户确认不可逆风险后再补 `--yes` 重试。
|
|
160
|
+
- 导入 / 导出的本地路径用工作目录内相对路径;超大表导出会被行数 / 体积上限拒,改用 `+db-execute` 分批。
|
|
161
|
+
- `+db-audit-list` 多表查询时,把结果里 `skipped` 的表(不存在 / 未开审计)连同原因一并向用户说明,不要让用户以为这些表「没有变更」。
|
|
162
|
+
- 恢复是覆盖式且不可逆:`+db-recovery-apply` 前必须先 `+db-recovery-diff`,并明确告知用户会覆盖当前数据。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# apps +env-pull
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md)(认证 / 全局参数 / 安全)。
|
|
4
|
+
|
|
5
|
+
把妙搭应用 dev 启动期环境变量拉取到本地项目根的 `.env.local`。身份固定 `--as user`;scope `spark:app:read`。`--app-id` 必填,目标项目根默认当前工作目录(`--project-path` 可指定)。
|
|
6
|
+
|
|
7
|
+
这个命令是 dev-only 的本地恢复工具:内部固定 `POST env_vars`,body 为 `env=dev`。它没有 `--env` flag,也不管理线上环境变量。
|
|
8
|
+
|
|
9
|
+
## 何时别用(核心反模式)
|
|
10
|
+
|
|
11
|
+
**通常不需要手动跑**——脚手架的 `npm run dev` 在起本地开发时会自动后台拉取(非阻塞)。手动再跑会重复做同样的事,并用服务端返回值覆盖 `.env.local` 里的同名 key;本地无关行和注释会保留。
|
|
12
|
+
|
|
13
|
+
只在这些兜底场景用:
|
|
14
|
+
|
|
15
|
+
- 不通过 `npm run dev` 启动(直接跑 `node` / IDE debug)。
|
|
16
|
+
- `.env.local` 被改坏 / 删除,想重新同步。
|
|
17
|
+
|
|
18
|
+
## 行为
|
|
19
|
+
|
|
20
|
+
- **合并、不清空**:写入 `.env.local` 时保留你手写的内容与注释——命中的 key 替换值,新 key 追加,不整体覆盖。
|
|
21
|
+
- **安全护栏**:返回的 envelope **不会回显任何 env key / value**(防止 token / 数据库凭据泄漏到日志或 CI 输出)。要看实际值请直接读 `.env.local`。
|
|
22
|
+
|
|
23
|
+
## 示例
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
lark-cli apps +env-pull --app-id <app_id>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 失败处理
|
|
30
|
+
|
|
31
|
+
`missing_scope`(没拿到 `spark:app:read`)时,按 lark-shared 引导 `lark-cli auth login --domain apps`。其余失败优先转述 `error.hint` / `error.message`。
|
|
32
|
+
|
|
33
|
+
## 参考
|
|
34
|
+
|
|
35
|
+
- [lark-apps](../SKILL.md) — 妙搭应用全部命令 + 心智模型
|
|
36
|
+
- [lark-apps-local-dev](lark-apps-local-dev.md) — 本地全栈开发端到端流程
|
|
37
|
+
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# apps env
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md)(认证 / 全局参数 / 安全)。
|
|
4
|
+
|
|
5
|
+
管理妙搭应用环境变量。查看用 `+env-list`,设置用 `+env-set`,删除用 `+env-delete`。没有单变量 get 命令;要确认某个 key 是否存在,使用 list 后用 `--jq` 过滤。
|
|
6
|
+
|
|
7
|
+
环境 flag 使用 `--environment`;不要使用旧的 `--env`,也不要使用短选项。
|
|
8
|
+
|
|
9
|
+
## 查看
|
|
10
|
+
|
|
11
|
+
`+env-list` 默认查 dev,且默认不返回 value。只有显式传 `--include-values` 后,响应中才可能出现变量值;不要在公开日志里展示带值输出。
|
|
12
|
+
|
|
13
|
+
接口契约:list 使用 `POST env_vars`,body 固定包含 `env` 和 CLI 场景 `scene=2`;set 使用 `POST create_or_update_env_var`;delete 使用 `POST delete_env_vars`。`--include-values` 只控制 CLI 输出是否展示 value,不作为服务端查询参数发送。
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
lark-cli apps +env-list --app-id <app_id>
|
|
17
|
+
lark-cli apps +env-list --app-id <app_id> --environment online
|
|
18
|
+
lark-cli apps +env-list --app-id <app_id> --include-values --jq '.data.items[] | select(.key == "FOO")'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 设置
|
|
22
|
+
|
|
23
|
+
dev 环境设置不需要 `--yes`。设置 online 环境需要人类确认并显式传 `--yes`;如果用户在同一轮已经明确说“确认/直接执行”,视为已确认,直接带 `--yes`,不要再次追问。`--dry-run` 可用于预览请求且不需要 `--yes`。变量值支持直接传 `<value>`,也支持 `@file` 或 stdin 输入。
|
|
24
|
+
|
|
25
|
+
回复中只说明 app/env/key 和执行结果;不要回显真实 value。需要举例时使用 `<value>`、`@file` 或 stdin。
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
lark-cli apps +env-set --app-id <app_id> --key FOO --value <value>
|
|
29
|
+
lark-cli apps +env-set --app-id <app_id> --key FOO --value @./secret.txt
|
|
30
|
+
lark-cli apps +env-set --app-id <app_id> --environment online --key FOO --value <value> --dry-run
|
|
31
|
+
lark-cli apps +env-set --app-id <app_id> --environment online --key FOO --value <value> --yes
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 删除
|
|
35
|
+
|
|
36
|
+
`+env-delete` 是 high-risk-write。尊重 exit 10 confirmation protocol:先让用户确认 app/env/key 和删除后果,再传 `--yes`。不要自动补 `--yes`。如果只是认证失败后让用户重登,重登完成不等于删除确认;继续删除前仍需确认。
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
lark-cli apps +env-delete --app-id <app_id> --key FOO --dry-run
|
|
40
|
+
lark-cli apps +env-delete --app-id <app_id> --key FOO --yes
|
|
41
|
+
lark-cli apps +env-delete --app-id <app_id> --environment online --key FOO --yes
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 反模式
|
|
45
|
+
|
|
46
|
+
- 不要把 `+env-pull` 当成环境变量管理命令;它只是刷新本地 `.env.local` 的兜底工具。
|
|
47
|
+
- 不要为了看一个变量臆造名为 env-get 的 apps shortcut;用 `+env-list --include-values` 加 `--jq`。
|
|
48
|
+
- 不要把真实 secret 写进示例或对话输出;需要示例时使用 `<value>`、`@file` 或 stdin。
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# apps file 域命令(应用存储)
|
|
2
|
+
|
|
3
|
+
管理妙搭应用的文件存储:上传 / 下载本地文件、列出与查看已存文件、生成临时分享链接、批量删除、查看用量。运行时命令事实以 `lark-cli apps +<cmd> --help` 为准;认证、`--as user`、exit 码、`_notice` 等通用处理见 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) 与本域 [`SKILL.md`](../SKILL.md)。
|
|
4
|
+
|
|
5
|
+
## 何时用
|
|
6
|
+
|
|
7
|
+
用户要在某个妙搭应用里上传 / 下载 / 列出 / 删除文件、拿文件的临时分享链接、或看存储用量时。普通飞书云盘走 [`lark-drive`](../../lark-drive/SKILL.md);数据库里的表数据走 `+db-*`。
|
|
8
|
+
|
|
9
|
+
## 命令一览
|
|
10
|
+
|
|
11
|
+
| 命令 | 做什么 | 关键参数 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| `+file-list` | 列出文件,可按名/路径/类型/大小/上传时间过滤 | `--app-id`、过滤器、`--page-size`/`--page-token` |
|
|
14
|
+
| `+file-get` | 查单个文件的元数据 | `--app-id`、`--path` |
|
|
15
|
+
| `+file-sign` | 生成有时效的下载链接(用于分享 / 直接下载) | `--app-id`、`--path`、`--expires-in` |
|
|
16
|
+
| `+file-download` | 把远端文件保存到本地 | `--app-id`、`--path`、`--output` |
|
|
17
|
+
| `+file-upload` | 上传本地文件到应用存储 | `--app-id`、`--file` |
|
|
18
|
+
| `+file-delete` | 按路径批量删除文件 | `--app-id`、`--path`(可重复)、`--yes` |
|
|
19
|
+
| `+file-quota-get` | 查应用的文件存储用量 | `--app-id` |
|
|
20
|
+
|
|
21
|
+
## 寻址与约定(先读)
|
|
22
|
+
|
|
23
|
+
- **远端文件统一用 `--path` 精确寻址**(远端路径,带前导 `/`)。只知道文件名时,先用 `+file-list --name <名>` 定位拿到 `path`,再做后续操作。
|
|
24
|
+
- **本地文件 / 输出路径用工作目录内的相对路径**(如 `--file ./report.pdf`、`--output ./out.png`);路径在别处时先 `cd` 过去或改成相对路径。
|
|
25
|
+
- 上传只接收本地 `--file`:文件名沿用本地文件名,远端路径由平台分配、全局唯一(无需也无法手填)。
|
|
26
|
+
- file 域不区分环境,没有 `--env`。
|
|
27
|
+
|
|
28
|
+
## 各命令
|
|
29
|
+
|
|
30
|
+
### +file-list
|
|
31
|
+
列出应用文件,支持精确过滤:`--name`(文件名)、`--path`(远端路径)、`--type`(MIME 类型)、`--size-gt`/`--size-lt`(字节)、`--uploaded-since`/`--uploaded-until`(上传时间区间,时间格式见末尾)。分页 `--page-size`(默认 20)/ `--page-token`。列表每项给名称、路径、大小、类型、上传时间(pretty 表格即这 5 列);上传者、下载地址(如有)仅在 JSON 输出里,单文件详情用 `+file-get`。
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
lark-cli apps +file-list --app-id app_xxx
|
|
35
|
+
lark-cli apps +file-list --app-id app_xxx --type image/png --uploaded-since 7d
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### +file-get
|
|
39
|
+
按 `--path` 查单个文件的元数据。路径不存在时返回明确的「文件不存在」错误。
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
lark-cli apps +file-get --app-id app_xxx --path /1858537546760216.png
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### +file-sign
|
|
46
|
+
为指定文件生成一个**有时效的下载链接**——适合发给用户分享、或直接下载。`--expires-in` 设有效期秒数(默认 1 天,最长 30 天)。`pretty` 模式只输出链接本身,便于复制 / 管道;要把到期时间一并告诉用户时用默认 JSON 输出(含到期时间)。
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
lark-cli apps +file-sign --app-id app_xxx --path /1858537546760216.png --expires-in 3600
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### +file-download
|
|
53
|
+
把远端文件保存到本地。`--output` 指定保存路径,缺省时按远端文件名保存到当前目录。
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
lark-cli apps +file-download --app-id app_xxx --path /1858537546760216.png --output ./logo.png
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### +file-upload
|
|
60
|
+
上传一个本地文件。文件名沿用本地文件名(特殊字符做 URL 编码透传;以 `.` 开头的隐藏文件名会加 `_` 前缀,避免下载回本地时覆盖隐藏文件),远端路径由平台分配。单文件上限 100 MB。
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
lark-cli apps +file-upload --app-id app_xxx --file ./report.pdf
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### +file-delete(高危)
|
|
67
|
+
按路径批量删除,`--path` 可重复传多个。删除是高危操作,必须带 `--yes`;缺省会被确认关卡拦下。**逐项返回结果**:部分文件删除失败(如某个路径不存在)不影响其余文件,整体仍算成功,失败项在结果里单独标出原因。
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
lark-cli apps +file-delete --app-id app_xxx --path /1858537546760216.png --yes
|
|
71
|
+
lark-cli apps +file-delete --app-id app_xxx --path /a.png --path /b.png --yes
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### +file-quota-get
|
|
75
|
+
查应用的文件存储用量(已用量、文件数;配额接入后还会给总配额与使用率)。
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
lark-cli apps +file-quota-get --app-id app_xxx
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 时间格式(`--uploaded-since` / `--uploaded-until`)
|
|
82
|
+
|
|
83
|
+
按用户口语自然传入即可,支持:
|
|
84
|
+
- 相对时间 `7d` / `2h` / `30s`(从现在往前推)
|
|
85
|
+
- 日期 `2026-04-15`
|
|
86
|
+
- 日期时间 `2026-04-15T10:00:00`
|
|
87
|
+
- 带时区的 ISO 8601 `2026-04-15T10:00:00Z` / `2026-04-15T10:00:00+08:00`
|
|
88
|
+
|
|
89
|
+
> **时区**:不带时区的 `日期` / `日期时间` 按**运行机器的本地时区**解析(再归一化到 UTC 发给服务端)。CI(UTC)与本地(如 UTC+8)跑同一条命令,过滤边界会差几小时;要精确到某时区时显式写 ISO 8601 带偏移(如 `...+08:00` / `...Z`)。
|
|
90
|
+
|
|
91
|
+
## Agent 规则
|
|
92
|
+
|
|
93
|
+
- 寻址一律用 `--path`;用户只给文件名时先 `+file-list --name <名>` 定位,多个同名再让用户确认。
|
|
94
|
+
- 上传 / 下载的本地路径用工作目录内相对路径;不在当前目录就 `cd` 过去或改相对路径。
|
|
95
|
+
- 用户要「分享链接 / 临时下载地址」时用 `+file-sign`,把返回的链接转述给用户。
|
|
96
|
+
- 删除前判断意图:已明确要删且授权时可直接带 `--yes`;不确定删哪些时先 `+file-list` 给用户确认。批量删除部分失败不报错,按逐项结果向用户说明哪些成功、哪些没删掉及原因。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# apps Git credential
|
|
2
|
+
|
|
3
|
+
妙搭 Git 凭证用于本地原生 `git clone/pull/push`。运行时命令事实以 `lark-cli apps +git-credential-init --help`、`+git-credential-list --help`、`+git-credential-remove --help` 为准。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
lark-cli apps +git-credential-init --app-id app_xxx
|
|
9
|
+
lark-cli apps +git-credential-list
|
|
10
|
+
lark-cli apps +git-credential-remove --app-id app_xxx
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 输出契约
|
|
14
|
+
|
|
15
|
+
- `+git-credential-init` 成功后读取 `data.repository_url`;不要展示或保存其中的凭据细节,只用于下一步 `git clone`。
|
|
16
|
+
- `+git-credential-list` 返回本地记录和状态;可用来判断是否需要重新 init。
|
|
17
|
+
- `+git-credential-remove` 只清本地配置;成功后告知不会删除云端应用或仓库。
|
|
18
|
+
|
|
19
|
+
## 行为规则
|
|
20
|
+
|
|
21
|
+
- `+git-credential-init` 返回 `repository_url`,并配置 URL-scoped Git credential helper。后续 clone/pull/push 使用原生 git。
|
|
22
|
+
- `+git-credential-list` 列出本地已配置的妙搭 Git 凭证,不需要 `--app-id`。
|
|
23
|
+
- `+git-credential-remove` 只移除本地凭证/helper,不删除云端应用或仓库。
|
|
24
|
+
- 看到 Repository URL 后继续:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
git clone <repository_url>
|
|
28
|
+
cd <repo>
|
|
29
|
+
git checkout sprint/default
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Agent 规则
|
|
33
|
+
|
|
34
|
+
- 不要手动打印、保存或拼接 token。
|
|
35
|
+
- clone、pull、push、diff、log 等代码仓库操作都使用原生 `git`;不存在 `apps +pull` / `apps +push` / `apps code +read` 这类代码读写 shortcut,不要臆造。
|
|
36
|
+
- 不要 push/force-push `main`;`main` 是发布态快照,由 `apps +release-create` 成功后服务端推进,直推/force-push 会被服务端护栏拒绝。
|
|
37
|
+
- Git 认证失败、本地凭证损坏或 helper 缺失时,重新执行 `+git-credential-init --app-id <id>` 覆盖本地配置;不要让用户复制 token 到 remote URL。
|