@amaster.ai/pi-lark 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/skills/lark-apps/SKILL.md +59 -14
- package/skills/lark-apps/creative-design/agents/assets/vision-probe.png +0 -0
- package/skills/lark-apps/creative-design/agents/fork-verifier-agent.md +71 -0
- package/skills/lark-apps/creative-design/agents/vision-probe-agent.md +41 -0
- package/skills/lark-apps/creative-design/assets/index.html +27 -0
- package/skills/lark-apps/creative-design/creative-design.md +239 -0
- package/skills/lark-apps/creative-design/references/aily.md +39 -0
- package/skills/lark-apps/creative-design/references/animated-video.md +34 -0
- package/skills/lark-apps/creative-design/references/charts.md +165 -0
- package/skills/lark-apps/creative-design/references/claude.md +36 -0
- package/skills/lark-apps/creative-design/references/codex.md +32 -0
- package/skills/lark-apps/creative-design/references/data-report.md +108 -0
- package/skills/lark-apps/creative-design/references/frontend-design.md +71 -0
- package/skills/lark-apps/creative-design/references/hi-fi-design.md +32 -0
- package/skills/lark-apps/creative-design/references/interactive-prototype.md +24 -0
- package/skills/lark-apps/creative-design/references/make-a-deck.md +133 -0
- package/skills/lark-apps/creative-design/references/visual-exposure.md +82 -0
- package/skills/lark-apps/creative-design/references/wireframe.md +14 -0
- package/skills/lark-apps/creative-design/starter-components/android-frame.jsx +188 -0
- package/skills/lark-apps/creative-design/starter-components/animations.jsx +773 -0
- package/skills/lark-apps/creative-design/starter-components/browser-window.jsx +122 -0
- package/skills/lark-apps/creative-design/starter-components/deck-stage.js +2483 -0
- package/skills/lark-apps/creative-design/starter-components/design-canvas.jsx +1432 -0
- package/skills/lark-apps/creative-design/starter-components/ios-frame.jsx +270 -0
- package/skills/lark-apps/creative-design/starter-components/macos-window.jsx +197 -0
- package/skills/lark-apps/creative-design/starter-components/tweaks-panel.jsx +752 -0
- package/skills/lark-apps/references/lark-apps-automation.md +80 -2
- package/skills/lark-apps/references/lark-apps-cache.md +61 -0
- package/skills/lark-apps/references/lark-apps-cloud-dev.md +5 -5
- package/skills/lark-apps/references/lark-apps-create.md +6 -4
- package/skills/lark-apps/references/lark-apps-db.md +1 -1
- package/skills/lark-apps/references/lark-apps-env-pull.md +1 -1
- package/skills/lark-apps/references/lark-apps-file.md +2 -2
- package/skills/lark-apps/references/lark-apps-get.md +1 -1
- package/skills/lark-apps/references/lark-apps-git-credential.md +1 -1
- package/skills/lark-apps/references/lark-apps-html-publish.md +4 -8
- package/skills/lark-apps/references/lark-apps-init.md +1 -1
- package/skills/lark-apps/references/lark-apps-list.md +2 -2
- package/skills/lark-apps/references/lark-apps-local-dev.md +80 -11
- package/skills/lark-apps/references/lark-apps-openapi-key.md +1 -1
- package/skills/lark-apps/references/lark-apps-release-create.md +2 -2
- package/skills/lark-apps/references/lark-apps-release-get.md +3 -3
- package/skills/lark-base/SKILL.md +34 -19
- package/skills/lark-base/references/lark-base-cell-value.md +3 -3
- package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +17 -1
- package/skills/lark-base/references/lark-base-dashboard.md +17 -4
- package/skills/lark-base/references/lark-base-data-query-guide.md +8 -0
- package/skills/lark-base/references/lark-base-data-query.md +11 -4
- package/skills/lark-base/references/lark-base-field-create.md +21 -6
- package/skills/lark-base/references/lark-base-field-json.md +9 -6
- package/skills/lark-base/references/lark-base-field-update.md +17 -1
- package/skills/lark-base/references/lark-base-filter-condition.md +179 -0
- package/skills/lark-base/references/lark-base-form-questions-create.md +40 -7
- package/skills/lark-base/references/lark-base-form-questions-update.md +73 -20
- package/skills/lark-base/references/lark-base-form-submit.md +16 -7
- package/skills/lark-base/references/lark-base-record-batch-create.md +12 -10
- package/skills/lark-base/references/lark-base-record-batch-update.md +11 -9
- package/skills/lark-base/references/lark-base-record-upsert.md +1 -1
- package/skills/lark-base/references/lark-base-role-guide.md +11 -0
- package/skills/lark-base/references/lark-base-view-set-filter.md +11 -137
- package/skills/lark-base/references/role-config.md +31 -5
- package/skills/lark-calendar/SKILL.md +14 -8
- package/skills/lark-calendar/references/lark-calendar-create.md +6 -5
- package/skills/lark-calendar/references/lark-calendar-recurring.md +1 -0
- package/skills/lark-calendar/references/lark-calendar-room-find.md +2 -1
- package/skills/lark-calendar/references/lark-calendar-schedule-clear-time.md +1 -0
- package/skills/lark-calendar/references/lark-calendar-suggestion.md +1 -1
- package/skills/lark-calendar/references/lark-calendar-update.md +10 -4
- package/skills/lark-contact/SKILL.md +19 -3
- package/skills/lark-contact/references/lark-contact-search-bot.md +60 -0
- package/skills/lark-doc/SKILL.md +26 -61
- package/skills/lark-doc/references/genres/business-analysis.md +30 -0
- package/skills/lark-doc/references/genres/data-report.md +32 -0
- package/skills/lark-doc/references/genres/email.md +38 -0
- package/skills/lark-doc/references/genres/execution-plan.md +27 -0
- package/skills/lark-doc/references/genres/formal-doc.md +37 -0
- package/skills/lark-doc/references/genres/meeting-minutes.md +24 -0
- package/skills/lark-doc/references/genres/memo-brief.md +25 -0
- package/skills/lark-doc/references/genres/official-redhead.md +73 -0
- package/skills/lark-doc/references/genres/prd.md +26 -0
- package/skills/lark-doc/references/genres/proposal.md +24 -0
- package/skills/lark-doc/references/genres/research-report.md +32 -0
- package/skills/lark-doc/references/genres/retrospective.md +25 -0
- package/skills/lark-doc/references/genres/route-consumer.md +37 -0
- package/skills/lark-doc/references/genres/route-creative.md +36 -0
- package/skills/lark-doc/references/genres/route-knowledge.md +39 -0
- package/skills/lark-doc/references/genres/route-marketing.md +40 -0
- package/skills/lark-doc/references/genres/route-media.md +36 -0
- package/skills/lark-doc/references/genres/route-opinion.md +38 -0
- package/skills/lark-doc/references/genres/route-personal-brand.md +36 -0
- package/skills/lark-doc/references/genres/route-platform.md +9 -0
- package/skills/lark-doc/references/genres/route-report.md +10 -0
- package/skills/lark-doc/references/genres/route-workplace.md +17 -0
- package/skills/lark-doc/references/genres/sop-tutorial.md +41 -0
- package/skills/lark-doc/references/genres/technical-doc.md +39 -0
- package/skills/lark-doc/references/genres/wechat.md +39 -0
- package/skills/lark-doc/references/genres/weekly-report.md +24 -0
- package/skills/lark-doc/references/genres/white-paper.md +32 -0
- package/skills/lark-doc/references/genres/xiaohongshu.md +38 -0
- package/skills/lark-doc/references/lark-doc-create-workflow.md +121 -0
- package/skills/lark-doc/references/lark-doc-create.md +22 -48
- package/skills/lark-doc/references/lark-doc-fetch.md +84 -93
- package/skills/lark-doc/references/lark-doc-history.md +16 -15
- package/skills/lark-doc/references/lark-doc-md.md +5 -1
- package/skills/lark-doc/references/lark-doc-media-download.md +2 -1
- package/skills/lark-doc/references/lark-doc-script.md +76 -0
- package/skills/lark-doc/references/lark-doc-update.md +70 -222
- package/skills/lark-doc/references/lark-doc-whiteboard.md +14 -17
- package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +46 -0
- package/skills/lark-doc/references/lark-doc-xml.md +38 -166
- package/skills/lark-drive/SKILL.md +32 -50
- package/skills/lark-drive/references/lark-drive-add-comment.md +2 -4
- package/skills/lark-drive/references/lark-drive-add-reply.md +47 -0
- package/skills/lark-drive/references/lark-drive-apply-permission.md +3 -3
- package/skills/lark-drive/references/lark-drive-batch-query-comments.md +46 -0
- package/skills/lark-drive/references/lark-drive-comment-content.md +50 -0
- package/skills/lark-drive/references/lark-drive-comment-location.md +9 -15
- package/skills/lark-drive/references/lark-drive-copy.md +87 -0
- package/skills/lark-drive/references/lark-drive-delete-reply.md +48 -0
- package/skills/lark-drive/references/lark-drive-download.md +6 -1
- package/skills/lark-drive/references/lark-drive-export.md +3 -0
- package/skills/lark-drive/references/lark-drive-list-comments.md +25 -68
- package/skills/lark-drive/references/lark-drive-list-replies.md +54 -0
- package/skills/lark-drive/references/lark-drive-member-add.md +2 -2
- package/skills/lark-drive/references/lark-drive-member-list.md +65 -0
- package/skills/lark-drive/references/lark-drive-permission-get-setting.md +48 -0
- package/skills/lark-drive/references/lark-drive-preview.md +11 -1
- package/skills/lark-drive/references/lark-drive-react-reply.md +51 -0
- package/skills/lark-drive/references/lark-drive-reactions.md +27 -25
- package/skills/lark-drive/references/lark-drive-resolve-comment.md +45 -0
- package/skills/lark-drive/references/lark-drive-restore-comment.md +46 -0
- package/skills/lark-drive/references/lark-drive-search.md +7 -1
- package/skills/lark-drive/references/lark-drive-secure-label.md +1 -1
- package/skills/lark-drive/references/lark-drive-task-result.md +3 -0
- package/skills/lark-drive/references/lark-drive-update-reply.md +46 -0
- package/skills/lark-drive/references/lark-drive-update-title.md +78 -0
- package/skills/lark-drive/references/lark-drive-upload.md +1 -0
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md +38 -8
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance-outputs.md +10 -10
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +22 -20
- package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-execute.md +273 -0
- package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-recall.md +202 -0
- package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-resolve-verify.md +231 -0
- package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-review-plan.md +248 -0
- package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector-setup.md +174 -0
- package/skills/lark-drive/references/lark-drive-workflow-topic-move-collector.md +202 -0
- package/skills/lark-drive/references/lark-drive-workflow.md +5 -4
- package/skills/lark-event/SKILL.md +8 -4
- package/skills/lark-event/references/lark-event-application.md +38 -0
- package/skills/lark-event/references/lark-event-vc.md +8 -2
- package/skills/lark-im/SKILL.md +9 -9
- package/skills/lark-im/references/card/card-2.0-schema.md +1 -1
- package/skills/lark-im/references/card/lark-im-card-style.md +4 -4
- package/skills/lark-im/references/card/resource/icons.md +14 -0
- package/skills/lark-im/references/lark-im-chat-list.md +9 -2
- package/skills/lark-im/references/lark-im-chat-members-list.md +7 -4
- package/skills/lark-im/references/lark-im-chat-messages-list.md +10 -3
- package/skills/lark-im/references/lark-im-chat-search.md +9 -2
- package/skills/lark-im/references/lark-im-feed-group-list-item.md +2 -2
- package/skills/lark-im/references/lark-im-feed-group-list.md +2 -2
- package/skills/lark-im/references/lark-im-feed-shortcut-list.md +1 -1
- package/skills/lark-im/references/lark-im-flag-list.md +9 -8
- package/skills/lark-im/references/lark-im-message-enrichment.md +1 -1
- package/skills/lark-im/references/lark-im-messages-resources-download.md +19 -25
- package/skills/lark-im/references/lark-im-messages-search.md +4 -5
- package/skills/lark-im/references/lark-im-threads-messages-list.md +8 -4
- package/skills/lark-mail/references/lark-mail-triage.md +19 -4
- package/skills/lark-minutes/SKILL.md +1 -1
- package/skills/lark-minutes/references/lark-minutes-search.md +6 -7
- package/skills/lark-okr/SKILL.md +71 -26
- package/skills/lark-okr/references/lark-okr-batch-create.md +19 -18
- package/skills/lark-okr/references/lark-okr-create.md +173 -0
- package/skills/lark-okr/references/lark-okr-cycle-list.md +17 -7
- package/skills/lark-okr/references/lark-okr-entities.md +1 -0
- package/skills/lark-okr/references/lark-okr-indicator-update.md +3 -1
- package/skills/lark-okr/references/lark-okr-indicators.md +61 -12
- package/skills/lark-okr/references/lark-okr-progress-list.md +21 -9
- package/skills/lark-shared/SKILL.md +3 -3
- package/skills/lark-sheets/SKILL.md +83 -82
- package/skills/lark-sheets/references/lark-sheets-batch-update.md +13 -58
- package/skills/lark-sheets/references/lark-sheets-chart.md +2 -1
- package/skills/lark-sheets/references/lark-sheets-conditional-format.md +1 -1
- package/skills/lark-sheets/references/lark-sheets-range-operations.md +5 -5
- package/skills/lark-sheets/references/lark-sheets-read-data.md +80 -6
- package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +21 -10
- package/skills/lark-sheets/references/lark-sheets-styles-put.md +93 -0
- package/skills/lark-sheets/references/lark-sheets-visual-standards.md +2 -2
- package/skills/lark-sheets/references/lark-sheets-workbook.md +4 -3
- package/skills/lark-sheets/references/lark-sheets-write-cells.md +40 -12
- package/skills/lark-sheets/scripts/lark_detect_subtables.py +593 -0
- package/skills/lark-sheets/scripts/lark_inspect_workbook.py +188 -0
- package/skills/lark-sheets/scripts/lark_profile_table.py +614 -0
- package/skills/lark-sheets/scripts/lark_sheet_range.py +176 -0
- package/skills/lark-sheets/scripts/lark_sheet_read_cli.py +184 -0
- package/skills/lark-sheets/scripts/sheets_df.py +21 -3
- package/skills/lark-slides/SKILL.md +134 -104
- package/skills/lark-slides/references/asset-planning.md +6 -4
- package/skills/lark-slides/references/iconpark.md +2 -2
- package/skills/lark-slides/references/lark-slides-add-slide.md +92 -0
- package/skills/lark-slides/references/lark-slides-create.md +86 -66
- package/skills/lark-slides/references/lark-slides-delete-slide.md +65 -0
- package/skills/lark-slides/references/lark-slides-edit-workflows.md +6 -7
- package/skills/lark-slides/references/lark-slides-history.md +132 -0
- package/skills/lark-slides/references/lark-slides-media-upload.md +4 -27
- package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +7 -11
- package/skills/lark-slides/references/lark-slides-replace-slide.md +22 -4
- package/skills/lark-slides/references/lark-slides-screenshot.md +33 -15
- package/skills/lark-slides/references/lark-slides-update-slide.md +146 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +2 -2
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +2 -3
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +90 -32
- package/skills/lark-slides/references/planning-layer.md +11 -10
- package/skills/lark-slides/references/slides_chart_demo.xml +1415 -1
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +539 -79
- package/skills/lark-slides/references/troubleshooting.md +26 -9
- package/skills/lark-slides/references/validation-checklist.md +55 -18
- package/skills/lark-slides/references/visual-planning.md +25 -22
- package/skills/lark-slides/references/xml-schema-quick-ref.md +299 -51
- package/skills/lark-slides/scripts/sxsd_validator.py +1052 -0
- package/skills/lark-slides/scripts/xml_text_overlap_lint.py +1964 -195
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +4051 -501
- package/skills/lark-task/SKILL.md +7 -0
- package/skills/lark-task/references/lark-task-complete.md +6 -2
- package/skills/lark-task/references/lark-task-create.md +9 -0
- package/skills/lark-task/references/lark-task-update.md +6 -2
- package/skills/lark-whiteboard/SKILL.md +21 -13
- package/skills/lark-whiteboard/elements/layout.md +1 -1
- package/skills/lark-whiteboard/elements/schema.md +2 -2
- package/skills/lark-whiteboard/references/{lark-whiteboard-query.md → lark-whiteboard-export.md} +17 -16
- package/skills/lark-whiteboard/references/lark-whiteboard-update.md +7 -7
- package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +23 -31
- package/skills/lark-whiteboard/routes/dsl.md +11 -5
- package/skills/lark-whiteboard/routes/mermaid.md +3 -3
- package/skills/lark-whiteboard/routes/svg-edit.md +9 -6
- package/skills/lark-whiteboard/routes/svg.md +14 -7
- package/skills/lark-whiteboard/scenes/bar-chart.md +1 -1
- package/skills/lark-whiteboard/scenes/fishbone.md +1 -1
- package/skills/lark-whiteboard/scenes/flywheel.md +1 -1
- package/skills/lark-whiteboard/scenes/line-chart.md +1 -1
- package/skills/lark-whiteboard/scenes/mention.md +71 -0
- package/skills/lark-whiteboard/scenes/treemap.md +1 -1
- package/skills/lark-wiki/SKILL.md +6 -3
- package/skills/lark-wiki/references/lark-wiki-delete-space.md +6 -3
- package/skills/lark-doc/references/lark-doc-word-stat.md +0 -93
- package/skills/lark-doc/references/style/lark-doc-create-workflow.md +0 -47
- package/skills/lark-doc/references/style/lark-doc-style.md +0 -68
- package/skills/lark-doc/references/style/lark-doc-update-workflow.md +0 -48
- package/skills/lark-doc/scripts/doc_word_stat.py +0 -1243
- package/skills/lark-drive/references/lark-drive-comments-guide.md +0 -80
- package/skills/lark-slides/references/examples.md +0 -91
- package/skills/lark-slides/references/lark-slides-replace-pages.md +0 -95
- package/skills/lark-slides/references/lark-slides-whiteboard.md +0 -331
- package/skills/lark-slides/references/lark-slides-xml-get.md +0 -100
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +0 -125
- package/skills/lark-slides/references/slide-templates.md +0 -201
- package/skills/lark-slides/references/slides_demo.xml +0 -226
- package/skills/lark-slides/references/xml-format-guide.md +0 -433
|
@@ -33,6 +33,9 @@ lark-cli im +chat-search --query "project" --page-size 10
|
|
|
33
33
|
# Pagination
|
|
34
34
|
lark-cli im +chat-search --query "project" --page-token "xxx"
|
|
35
35
|
|
|
36
|
+
# Fetch multiple pages automatically, up to 10 pages by default
|
|
37
|
+
lark-cli im +chat-search --query "project" --page-all
|
|
38
|
+
|
|
36
39
|
# JSON output
|
|
37
40
|
lark-cli im +chat-search --query "project" --format json
|
|
38
41
|
|
|
@@ -52,13 +55,17 @@ lark-cli im +chat-search --query "project" --dry-run
|
|
|
52
55
|
| `--disable-search-by-user` | No | - | Disable member-name-based matching and search by group name only |
|
|
53
56
|
| `--sort <field>` | No | `create_time`, `update_time`, `member_count` | Sort field (always descending) |
|
|
54
57
|
| `--page-size <n>` | No | 1-100, default 20 | Number of results per page |
|
|
55
|
-
| `--page-token <token>` | No | - |
|
|
58
|
+
| `--page-token <token>` | No | - | Starting cursor, normally returned by a previous response |
|
|
59
|
+
| `--page-all` | No | - | Automatically fetch and merge subsequent pages; capped by `--page-limit` |
|
|
60
|
+
| `--page-limit <n>` | No | 1-1000, default 10 | Maximum pages fetched by `--page-all` |
|
|
56
61
|
| `--exclude-muted` | No | User identity only | Drop chats the current user has muted (do-not-disturb). Under `--as bot`, the flag is silently inactive (mute is a per-user setting); see "Filtering muted chats" below |
|
|
57
62
|
| `--format json` | No | - | Output as JSON |
|
|
58
63
|
| `--dry-run` | No | - | Preview the request without executing it |
|
|
59
64
|
|
|
60
65
|
> **Note:** Supports both `--as user` (default) and `--as bot`. When using bot identity, the app must have bot capability enabled.
|
|
61
66
|
|
|
67
|
+
With `--page-all`, `--page-token` sets the starting cursor. If `meta.pagination.complete=false`, resume from `meta.pagination.next_token` or raise `--page-limit`.
|
|
68
|
+
|
|
62
69
|
> **CAUTION:** `--sort` is **always descending** — the search API only ranks the chosen field high-to-low (e.g. `member_count` = most members first). There is no ascending option. If the user asks for "fewest first / ascending / 从少到多", tell them the search API does not support ascending order; any low-to-high view requires re-sorting the fetched page client-side and is not an upstream sort. Do **not** invent values like `member_count_asc` or pass `asc` (they are rejected).
|
|
63
70
|
|
|
64
71
|
## Output Fields
|
|
@@ -121,7 +128,7 @@ lark-cli im +messages-send --chat-id "$CHAT_ID" --text "Today's progress update"
|
|
|
121
128
|
|---------|---------|---------|
|
|
122
129
|
| `--query and --member-ids cannot both be empty` | Both were omitted | Provide at least `--query` or `--member-ids` |
|
|
123
130
|
| Empty results | No visible chats matched the keyword or filters | Relax the keyword or filters and try again |
|
|
124
|
-
|
|
|
131
|
+
| `invalid --page-size 101: must be between 1 and 100` | page-size is out of range | Use an integer between 1 and 100 |
|
|
125
132
|
| Permission denied (99991672) | The bot app does not have `im:chat:read` TAT permission enabled | Enable the permission for the app in the Open Platform console |
|
|
126
133
|
| Permission denied (99991679) with `--as user` | UAT is not authorized for `im:chat:read` | Run `lark-cli auth login --scope "im:chat:read"` |
|
|
127
134
|
| `Bot ability is not activated` (232025) | The app does not have bot capability enabled | Enable bot capability in the Open Platform console |
|
|
@@ -34,13 +34,13 @@ lark-cli im +feed-group-list-item --as user --feed-group-id ofg_xxx \
|
|
|
34
34
|
|---|---|---|
|
|
35
35
|
| `--feed-group-id` | Yes | Feed group ID (`ofg_xxx`); path parameter |
|
|
36
36
|
| `--page-size` | No | Records per page, 1–50 (default 50) |
|
|
37
|
-
| `--page-token` | No |
|
|
37
|
+
| `--page-token` | No | Starting cursor, normally returned by a previous response |
|
|
38
38
|
| `--page-all` | No | Auto-paginate and merge all pages |
|
|
39
39
|
| `--page-limit` | No | Max pages when `--page-all` is set, 1–1000 (default 20) |
|
|
40
40
|
| `--start-time` | No | Update-time window start (Unix milliseconds as a decimal string) |
|
|
41
41
|
| `--end-time` | No | Update-time window end (Unix milliseconds as a decimal string) |
|
|
42
42
|
|
|
43
|
-
When `--page-token`
|
|
43
|
+
When `--page-token` and `--page-all` are supplied together, automatic pagination starts at that cursor and continues until exhaustion or `--page-limit`.
|
|
44
44
|
|
|
45
45
|
## Output
|
|
46
46
|
|
|
@@ -31,13 +31,13 @@ lark-cli im +feed-group-list --as user --page-all \
|
|
|
31
31
|
| Flag | Required | Description |
|
|
32
32
|
|---|---|---|
|
|
33
33
|
| `--page-size` | No | Records per page, 1–50 (default 50). Caps the combined `groups` + `deleted_groups` count, so a page may hold fewer live groups than the size suggests |
|
|
34
|
-
| `--page-token` | No |
|
|
34
|
+
| `--page-token` | No | Starting cursor, normally returned by a previous response |
|
|
35
35
|
| `--page-all` | No | Auto-paginate and merge all pages (both lists) |
|
|
36
36
|
| `--page-limit` | No | Max pages when `--page-all` is set, 1–1000 (default 20) |
|
|
37
37
|
| `--start-time` | No | Update-time window start (Unix milliseconds as a decimal string) |
|
|
38
38
|
| `--end-time` | No | Update-time window end (Unix milliseconds as a decimal string) |
|
|
39
39
|
|
|
40
|
-
When `--page-token`
|
|
40
|
+
When `--page-token` and `--page-all` are supplied together, automatic pagination starts at that cursor and continues until exhaustion or `--page-limit`.
|
|
41
41
|
|
|
42
42
|
## Output
|
|
43
43
|
|
|
@@ -10,7 +10,7 @@ Lists **one page** of the **current user's** feed shortcuts.
|
|
|
10
10
|
|
|
11
11
|
- Only **CHAT-type** shortcuts are exposed via OpenAPI today (others in the IDL are not yet whitelisted).
|
|
12
12
|
- The shortcut is a **thin one-page wrapper** — there is no built-in auto-pagination. Callers drive their own loop when they actually need to paginate.
|
|
13
|
-
- Server-side page size is controlled by the service; in normal use one page usually covers the list.
|
|
13
|
+
- Server-side page size is controlled by the service, so this command has no `--page-size` flag; in normal use one page usually covers the list.
|
|
14
14
|
- Pagination tokens are opaque. If a token is rejected because the shortcut list changed, restart by omitting `--page-token`.
|
|
15
15
|
|
|
16
16
|
## Commands
|
|
@@ -6,9 +6,9 @@ This skill maps to shortcut: `lark-cli im +flag-list`. Underlying API: `GET /ope
|
|
|
6
6
|
|
|
7
7
|
## Sorting Rules (Important)
|
|
8
8
|
|
|
9
|
-
The API returns data sorted by `update_time` in **ascending order**, meaning **oldest first, newest last**. When `has_more=true`,
|
|
9
|
+
The API returns data sorted by `update_time` in **ascending order**, meaning **oldest first, newest last**. When `has_more=true`, continue pagination until `has_more=false`; only then is the last item in the merged result authoritative as the newest flag. If pagination stops while `has_more=true`, the last item is only the newest observed flag.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
`--page-all` enables automatic pagination but is still capped by `--page-limit`. When `--page-token` is also supplied, it sets the starting cursor and pagination continues from there. The default cap is 20 pages; **20 is not the hard maximum**. Set `--page-limit` between 1 and 1000 when a larger scan is required. A response with `has_more=true` is incomplete, even when `flag_items` is empty; increase the limit or resume from the returned `page_token` before reporting an authoritative latest item or count.
|
|
12
12
|
|
|
13
13
|
## Commands
|
|
14
14
|
|
|
@@ -19,7 +19,7 @@ lark-cli im +flag-list --as user
|
|
|
19
19
|
# Manual pagination with custom page size
|
|
20
20
|
lark-cli im +flag-list --as user --page-size 30 --page-token <page_token>
|
|
21
21
|
|
|
22
|
-
# Auto-paginate
|
|
22
|
+
# Auto-paginate, capped at the default 20 pages
|
|
23
23
|
lark-cli im +flag-list --as user --page-all
|
|
24
24
|
|
|
25
25
|
# Auto-paginate + get the latest flag
|
|
@@ -31,8 +31,8 @@ lark-cli im +flag-list --as user --page-all -q '.data.flag_items[].item_id'
|
|
|
31
31
|
# Disable auto-enrichment of message content (enabled by default)
|
|
32
32
|
lark-cli im +flag-list --as user --page-all --enrich-feed-thread=false
|
|
33
33
|
|
|
34
|
-
#
|
|
35
|
-
lark-cli im +flag-list --as user --page-all --page-limit
|
|
34
|
+
# Use the largest supported page limit for a broader scan
|
|
35
|
+
lark-cli im +flag-list --as user --page-all --page-limit 1000
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
## Parameters
|
|
@@ -40,9 +40,9 @@ lark-cli im +flag-list --as user --page-all --page-limit 10
|
|
|
40
40
|
| Parameter | Default | Description |
|
|
41
41
|
|------|------|------|
|
|
42
42
|
| `--page-size <n>` | 50 | Range 1-50 (server max is 50) |
|
|
43
|
-
| `--page-token <token>` | empty |
|
|
44
|
-
| `--page-all` | false | Auto-paginate
|
|
45
|
-
| `--page-limit <n>` | 20 | Max pages in `--page-all` mode (
|
|
43
|
+
| `--page-token <token>` | empty | Starting cursor from a previous response; an empty cursor still selects the first page |
|
|
44
|
+
| `--page-all` | false | Auto-paginate and merge results, capped by `--page-limit` |
|
|
45
|
+
| `--page-limit <n>` | 20 | Max pages in `--page-all` mode; configurable range 1-1000 (20 is only the default) |
|
|
46
46
|
| `--enrich-feed-thread` | true | Auto-enrich feed-layer thread entries with message content (calls `im.messages.mget`) |
|
|
47
47
|
| `--as user` | Required | Currently only supports user identity |
|
|
48
48
|
|
|
@@ -62,6 +62,7 @@ Note: `(thread, feed)` / `(msg_thread, feed)` entries are automatically enriched
|
|
|
62
62
|
|
|
63
63
|
## Limitations
|
|
64
64
|
|
|
65
|
+
- **Auto-pagination is bounded**: `--page-all` fetches at most 20 pages by default. If the response still has `has_more=true`, the result is incomplete; increase `--page-limit` up to 1000 or resume with `page_token`. Never interpret `flag_items: []` as an authoritative zero while more pages remain. Historical `delete_flag_items` may occupy early pages and push active flags to later pages.
|
|
65
66
|
- **delete_flag_items are not enriched**: Message content is only fetched for active flags (`flag_items`), not canceled flags (`delete_flag_items`). If you need message content for a canceled flag, query the message separately using `+messages-mget --message-ids <item_id>`.
|
|
66
67
|
|
|
67
68
|
## Response Example (Sanitized)
|
|
@@ -36,7 +36,7 @@ Use `--download-resources` when you want the binaries on disk in one pass; other
|
|
|
36
36
|
|
|
37
37
|
## Scope requirement
|
|
38
38
|
|
|
39
|
-
The default enrichment requires `im:message.reactions:read`, already declared in each shortcut's `UserScopes` / `BotScopes` (or `Scopes` for the
|
|
39
|
+
The default enrichment requires `im:message.reactions:read`, already declared in each shortcut's `UserScopes` / `BotScopes` (or `Scopes` for the search command), so the framework's pre-flight check surfaces a `missing_scope` error before the request is sent. Bots that were registered before this scope was added need an incremental authorization in the Feishu developer console; users can run:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
lark-cli auth login --scope "im:message.reactions:read"
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) first to understand authentication, global parameters, and safety rules.
|
|
4
4
|
|
|
5
|
-
Download image or file
|
|
5
|
+
Download an image or file attached to a message. Use the `message_id` and resource key returned by a message-reading command; do not guess or combine identifiers from different messages.
|
|
6
6
|
|
|
7
7
|
> **Note:** read-only message commands render resource keys in message content, but they do not download binaries automatically. Use this command whenever you need to fetch the actual image/file bytes or save them to a specific path.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Shortcut: `lark-cli im +messages-resources-download`.
|
|
10
10
|
|
|
11
11
|
## Commands
|
|
12
12
|
|
|
@@ -34,27 +34,11 @@ lark-cli im +messages-resources-download --message-id om_xxx --file-key img_v3_x
|
|
|
34
34
|
| `--message-id <id>` | Yes | Message ID (`om_xxx` format) |
|
|
35
35
|
| `--file-key <key>` | Yes | Resource key (`img_xxx` or `file_xxx`) |
|
|
36
36
|
| `--type <type>` | Yes | Resource type: `image` or `file` |
|
|
37
|
-
| `--output <path>` | No |
|
|
37
|
+
| `--output <path>` | No | Relative output path; absolute paths and `..` traversal are rejected. When omitted, the command uses the attachment name when available and otherwise falls back to the resource key |
|
|
38
38
|
| `--as <identity>` | No | Identity type: `user` (default) or `bot` |
|
|
39
39
|
| `--dry-run` | No | Print the request only, do not execute it |
|
|
40
40
|
|
|
41
|
-
##
|
|
42
|
-
|
|
43
|
-
When downloading large files, the command automatically uses **HTTP Range requests** for reliable chunked downloading:
|
|
44
|
-
|
|
45
|
-
| Behavior | Details |
|
|
46
|
-
|----------|---------|
|
|
47
|
-
| Probe chunk | First 128 KB to detect file size and Content-Type |
|
|
48
|
-
| Chunk size | 8 MB per subsequent request |
|
|
49
|
-
| Workers | Single-threaded sequential download (ensures reliability) |
|
|
50
|
-
| Retries | Up to 2 retries for transient request failures, with exponential backoff |
|
|
51
|
-
|
|
52
|
-
**Benefits:**
|
|
53
|
-
- Reduces the impact of transient request failures during large downloads
|
|
54
|
-
- Preserves the server's original filename via `Content-Disposition` (supports RFC 5987 UTF-8 encoding); falls back to `Content-Type`-based extension inference
|
|
55
|
-
- Validates file size integrity after download completion
|
|
56
|
-
|
|
57
|
-
## `file_key` Sources
|
|
41
|
+
## Choose `--type`
|
|
58
42
|
|
|
59
43
|
Different resource markers in message content correspond to different `file_key` and `type` values:
|
|
60
44
|
|
|
@@ -65,6 +49,17 @@ Different resource markers in message content correspond to different `file_key`
|
|
|
65
49
|
| Audio | `file_xxx` | `file_xxx` | `file` |
|
|
66
50
|
| Video | `file_xxx` | `file_xxx` | `file` |
|
|
67
51
|
|
|
52
|
+
Stickers cannot be downloaded with this command.
|
|
53
|
+
|
|
54
|
+
## Output
|
|
55
|
+
|
|
56
|
+
On success, read:
|
|
57
|
+
|
|
58
|
+
| Field | Meaning |
|
|
59
|
+
|------|---------|
|
|
60
|
+
| `data.saved_path` | Saved local path |
|
|
61
|
+
| `data.size_bytes` | Saved byte count |
|
|
62
|
+
|
|
68
63
|
## Usage Scenario
|
|
69
64
|
|
|
70
65
|
### Scenario: Extract and download an image from a message
|
|
@@ -82,11 +77,10 @@ lark-cli im +messages-resources-download --message-id om_xxx --file-key img_v3_x
|
|
|
82
77
|
|
|
83
78
|
| Symptom | Root Cause | Solution |
|
|
84
79
|
|---------|---------|---------|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
| Content-Range error | Server returned invalid range header | Transient API issue; retry the command |
|
|
80
|
+
| Resource does not match the message | `file_key` and `message_id` came from different messages | Read the message again and use its matching identifiers |
|
|
81
|
+
| Permission denied | `im:message:readonly` is not authorized | For user identity, run `lark-cli auth login --scope "im:message:readonly"`; for bot identity, grant the scope to the app in the developer console |
|
|
82
|
+
| Attachment unavailable | The message or resource is deleted, hidden, restricted, or inaccessible to the caller | Do not retry unchanged; report the exact CLI error |
|
|
83
|
+
| Retryable network error | The transfer did not complete | Retry the same command |
|
|
90
84
|
|
|
91
85
|
## References
|
|
92
86
|
|
|
@@ -6,8 +6,6 @@ Search Feishu messages across conversations. This shortcut automatically perform
|
|
|
6
6
|
|
|
7
7
|
By default each result message also carries a `reactions` block (counts + details from `im.reactions.batch_query`) when the server has reactions for it, and `update_time` for messages that were actually edited. With `--page-all`, every page is enriched; pass `--no-reactions` to skip the extra round-trip. See [message enrichment](lark-im-message-enrichment.md) for the full contract.
|
|
8
8
|
|
|
9
|
-
> **User identity only** (`--as user`). Bot identity is not supported.
|
|
10
|
-
|
|
11
9
|
This skill maps to the shortcut: `lark-cli im +messages-search` (internally calls `POST /open-apis/im/v1/messages/search` + batched `GET /open-apis/im/v1/messages/mget`, then batch-fetches chat context).
|
|
12
10
|
|
|
13
11
|
## Commands
|
|
@@ -80,11 +78,11 @@ lark-cli im +messages-search --query "test" --dry-run
|
|
|
80
78
|
| `--start <time>` | No | Start time with local timezone offset required (e.g. `2026-03-24T00:00:00+08:00`) |
|
|
81
79
|
| `--end <time>` | No | End time with local timezone offset required (e.g. `2026-03-25T23:59:59+08:00`) |
|
|
82
80
|
| `--page-size <n>` | No | Page size (default 20, range 1-50) |
|
|
83
|
-
| `--page-token <token>` | No |
|
|
81
|
+
| `--page-token <token>` | No | Starting cursor, normally returned by a previous response |
|
|
84
82
|
| `--page-all` | No | Automatically paginate through all result pages (up to 40 pages) |
|
|
85
83
|
| `--page-limit <n>` | No | Max pages to fetch when auto-pagination is enabled (default 20, max 40). Setting it explicitly also enables auto-pagination |
|
|
86
84
|
| `--format <fmt>` | No | Output format: `json` (default) / `pretty` / `table` / `ndjson` / `csv` |
|
|
87
|
-
| `--as <identity>` | No | Identity type
|
|
85
|
+
| `--as <identity>` | No | Identity type: `user` or `bot` |
|
|
88
86
|
| `--dry-run` | No | Print the request only, do not execute it |
|
|
89
87
|
|
|
90
88
|
## Core Constraints
|
|
@@ -135,6 +133,7 @@ Each message in JSON output contains:
|
|
|
135
133
|
- Default behavior is still **single-page**.
|
|
136
134
|
- `--page-token` is the manual continuation mechanism when you already have a token from a previous response.
|
|
137
135
|
- `--page-all` enables auto-pagination and uses a default cap of **40 pages**.
|
|
136
|
+
- With both flags, auto-pagination starts at `--page-token` and continues from that cursor.
|
|
138
137
|
- `--page-limit <n>` enables auto-pagination with an explicit cap. If you pass `--page-limit` without `--page-all`, auto-pagination is still enabled.
|
|
139
138
|
- When auto-pagination stops because of the configured page cap, the response still includes the last `has_more` / `page_token` so you can continue manually.
|
|
140
139
|
|
|
@@ -162,7 +161,7 @@ Use `im +messages-resources-download` if you need to fetch the underlying image
|
|
|
162
161
|
|
|
163
162
|
Use `--query` only for real message keywords. If the user asks for activity review such as "最近一周我和哪些 Bot 有过交互" or "整理我和某人的聊天记录", and the useful constraints are sender type, chat, person, or time range, keep `--query ""` and rely on those filters. Do not put generic instruction words such as "看看", "总结", "交互内容", or "聊天记录" into `--query`; those words often over-constrain message search and hide the relevant messages.
|
|
164
163
|
|
|
165
|
-
This guidance applies
|
|
164
|
+
This guidance applies to both user and bot identity. If the user explicitly asks for application/bot identity, run `im +messages-search --as bot`; for named-group history/listing intents where search is not needed, resolving the group with `im +chat-search --as bot` and listing messages with `im +chat-messages-list --as bot --chat-id <chat_id>` is still a good narrower path.
|
|
166
165
|
|
|
167
166
|
```bash
|
|
168
167
|
# Review recent bot interactions without forcing a keyword
|
|
@@ -23,6 +23,9 @@ lark-cli im +threads-messages-list --thread omt_xxx --page-size 20
|
|
|
23
23
|
# Pagination
|
|
24
24
|
lark-cli im +threads-messages-list --thread omt_xxx --page-token <PAGE_TOKEN>
|
|
25
25
|
|
|
26
|
+
# Fetch multiple pages automatically, up to 10 pages by default
|
|
27
|
+
lark-cli im +threads-messages-list --thread omt_xxx --page-all
|
|
28
|
+
|
|
26
29
|
# Output format options
|
|
27
30
|
lark-cli im +threads-messages-list --thread omt_xxx --format pretty
|
|
28
31
|
lark-cli im +threads-messages-list --thread omt_xxx --format table
|
|
@@ -43,8 +46,10 @@ lark-cli im +threads-messages-list --thread omt_xxx --dry-run
|
|
|
43
46
|
| `--no-reactions` | No | Skip auto-fetching the `reactions` block |
|
|
44
47
|
| `--download-resources` | No | Download message resources (image/file/audio/video/media + post-embedded, excluding stickers) into `./lark-im-resources/` and attach a `resources` block. Off by default |
|
|
45
48
|
| `--order <order>` | No | Sort order: `asc` (default) / `desc` |
|
|
46
|
-
| `--page-size <n>` | No | Number of items per page (default 50, range 1-
|
|
47
|
-
| `--page-token <token>` | No |
|
|
49
|
+
| `--page-size <n>` | No | Number of items per page (default 50, range 1-50) |
|
|
50
|
+
| `--page-token <token>` | No | Starting cursor, normally returned by a previous response |
|
|
51
|
+
| `--page-all` | No | Automatically fetch and merge subsequent pages; capped by `--page-limit` |
|
|
52
|
+
| `--page-limit <n>` | No | Maximum pages fetched by `--page-all` (default 10, range 1-1000) |
|
|
48
53
|
| `--format <fmt>` | No | Output format: `json` (default) / `pretty` / `table` / `ndjson` / `csv` |
|
|
49
54
|
| `--as <identity>` | No | Identity type: `user` (default) / `bot` |
|
|
50
55
|
| `--dry-run` | No | Print the request only, do not execute it |
|
|
@@ -61,8 +66,7 @@ Thread messages do not support `start_time` / `end_time` filtering because of Fe
|
|
|
61
66
|
|
|
62
67
|
### 3. Pagination (`has_more` / `page_token`)
|
|
63
68
|
|
|
64
|
-
-
|
|
65
|
-
- If you need the complete thread, keep paginating; if you only need an overview, the first page is often enough
|
|
69
|
+
Default is one page. With `--page-all`, `--page-token` sets the starting cursor; if `meta.pagination.complete=false`, resume from `meta.pagination.next_token` or raise `--page-limit`.
|
|
66
70
|
|
|
67
71
|
### 4. Recommended expansion strategy
|
|
68
72
|
|
|
@@ -13,6 +13,8 @@ lark-cli mail +triage
|
|
|
13
13
|
|
|
14
14
|
# 查看收件箱未读
|
|
15
15
|
lark-cli mail +triage --filter '{"folder":"inbox","is_unread":true}'
|
|
16
|
+
lark-cli mail +triage --folder INBOX --is-unread
|
|
17
|
+
lark-cli mail +triage --filter is_unread
|
|
16
18
|
|
|
17
19
|
# 全文搜索
|
|
18
20
|
lark-cli mail +triage --query "合同审批"
|
|
@@ -25,6 +27,8 @@ lark-cli mail +triage --query "项目评审" --filter '{"time_range":{"start_tim
|
|
|
25
27
|
|
|
26
28
|
# 指定文件夹
|
|
27
29
|
lark-cli mail +triage --filter '{"folder":"sent"}'
|
|
30
|
+
lark-cli mail +triage --filter folder=sent
|
|
31
|
+
lark-cli mail +triage --folder sent
|
|
28
32
|
|
|
29
33
|
# 系统标签(可通过 folder 或 label 传入,搜索时自动转为 folder)
|
|
30
34
|
lark-cli mail +triage --filter '{"folder":"flagged"}'
|
|
@@ -47,17 +51,28 @@ lark-cli mail +triage --page-size 10
|
|
|
47
51
|
|
|
48
52
|
| 参数 | 默认 | 说明 |
|
|
49
53
|
|------|------|------|
|
|
50
|
-
| `--filter <
|
|
54
|
+
| `--filter <filter>` | — | 筛选条件(见下方字段说明) |
|
|
55
|
+
| `--folder <name-or-id>` | — | 文件夹名称或系统文件夹 ID 筛选;等价于设置 `filter.folder` |
|
|
56
|
+
| `--folder-id <id>` | — | 明确的文件夹 ID 筛选;等价于设置 `filter.folder_id` |
|
|
57
|
+
| `--is-unread` | — | 只看未读;等价于设置 `filter.is_unread=true` |
|
|
51
58
|
| `--query <text>` | — | 全文搜索关键词 |
|
|
52
59
|
| `--format <mode>` | `table` | `table` / `json` / `data`(`json` 和 `data` 均输出含分页信息的对象) |
|
|
53
60
|
| `--max <n>` | `20` | 最大返回条数(1-400),内部自动分页拉取 |
|
|
54
|
-
| `--page-size <n>` | — | `--max`
|
|
61
|
+
| `--page-size <n>` | — | `--max` 的别名;重复指定时后出现的值生效 |
|
|
55
62
|
| `--page-token <token>` | — | 上一次响应返回的分页令牌,传入后从该位置继续拉取。令牌带 `search:` 或 `list:` 前缀,标识来源路径,不可混用 |
|
|
56
63
|
| `--labels` | — | table 格式时额外显示 labels 列 |
|
|
57
64
|
| `--mailbox <id>` | `me` | 邮箱地址 |
|
|
58
65
|
|
|
59
66
|
### `--filter` 支持的字段
|
|
60
67
|
|
|
68
|
+
`--filter` 有三种写法:
|
|
69
|
+
|
|
70
|
+
- JSON 对象:`--filter '{"folder":"INBOX","is_unread":true}'`,用于组合多个字段或传数组/对象字段
|
|
71
|
+
- 单个 `key=value`:`--filter folder=INBOX`、`--filter is_unread=true`
|
|
72
|
+
- 裸未读快捷写法:`--filter is_unread`
|
|
73
|
+
|
|
74
|
+
多个筛选条件请使用 JSON 对象,`folder=INBOX,is_unread=true` 这种逗号拼接的 key=value 不支持。
|
|
75
|
+
|
|
61
76
|
| 字段 | 类型 | 说明 |
|
|
62
77
|
|------|------|------|
|
|
63
78
|
| `folder` | string | 文件夹名称筛选。系统文件夹固定值:`inbox`/`sent`/`draft`/`trash`/`spam`/`archive`/`priority`/`flagged`/`other`/`scheduled`,也支持自定义文件夹名称。子文件夹需用 `parent_name/child_name` 格式,可通过 folder list 接口查看 |
|
|
@@ -73,7 +88,7 @@ lark-cli mail +triage --page-size 10
|
|
|
73
88
|
|
|
74
89
|
> **系统标签说明**:`IMPORTANT`/`FLAGGED`/`OTHER` 可通过 `folder` 或 `label` 传入(也支持中文别名 `重要邮件`/`已加旗标`/`其他邮件`、搜索名 `priority`/`flagged`/`other`)。搜索时自动转为 folder 字段,列表时自动转为 label_id。label list 接口不返回这三个系统标签。
|
|
75
90
|
>
|
|
76
|
-
> **⚠️
|
|
91
|
+
> **⚠️ 注意**:查询未读可用 `--is-unread`、`--filter is_unread`、`--filter is_unread=true` 或 JSON 写法 `"is_unread":true`。
|
|
77
92
|
可运行 `mail +triage --print-filter-schema` 查看完整字段说明。
|
|
78
93
|
|
|
79
94
|
## 输出
|
|
@@ -108,7 +123,7 @@ lark-cli mail +triage --page-size 10
|
|
|
108
123
|
|
|
109
124
|
### `table` 格式
|
|
110
125
|
|
|
111
|
-
`page_token` 信息输出在 stderr,自动携带 `--query`/`--filter`/`--mailbox` 参数方便续页:
|
|
126
|
+
`page_token` 信息输出在 stderr,自动携带 `--query`/`--filter`/`--folder`/`--folder-id`/`--is-unread`/`--mailbox` 参数方便续页:
|
|
112
127
|
```text
|
|
113
128
|
15 message(s)
|
|
114
129
|
next page: mail +triage --query '合同审批' --page-token 'search:abc123...'
|
|
@@ -26,7 +26,7 @@ metadata:
|
|
|
26
26
|
|
|
27
27
|
| Shortcut | 说明 |
|
|
28
28
|
|----------|------|
|
|
29
|
-
| [`+search`](references/lark-minutes-search.md) |
|
|
29
|
+
| [`+search`](references/lark-minutes-search.md) | 按关键词、所有者、参与者、时间范围搜索妙记;支持 user/bot 身份 |
|
|
30
30
|
| [`+detail`](references/lark-minutes-detail.md) | 查询妙记详情(标题和关联的纪要note_id),按需获取 AI 产物(总结、待办、章节、逐字稿、关键词) |
|
|
31
31
|
| [`+download`](references/lark-minutes-download.md) | 下载妙记音视频媒体文件 |
|
|
32
32
|
| [`+upload`](references/lark-minutes-upload.md) | 上传 file_token 生成妙记 |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# minutes +search
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
搜索妙记列表,支持关键词、所有者、参与者以及时间范围等多条件过滤。支持 user 身份和 bot / 应用身份;所有者与参与者都支持传入多个 open\_id,user 身份下也支持传入 `me` 表示当前用户。只读操作,不修改任何妙记数据。
|
|
5
5
|
|
|
6
6
|
本 skill 对应 shortcut:`lark-cli minutes +search`(调用 `POST /open-apis/minutes/v1/minutes/search`)。
|
|
7
7
|
|
|
@@ -81,14 +81,14 @@ lark-cli minutes +search --query "预算复盘" --format json
|
|
|
81
81
|
|
|
82
82
|
所有参数均可选,但必须至少提供一个过滤条件:`--query`、`--owner-ids`、`--participant-ids`、`--start` 或 `--end`。
|
|
83
83
|
|
|
84
|
-
### 2.
|
|
84
|
+
### 2. 支持 user 和 bot 身份
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
该接口支持 `--as user` 和 `--as bot`。user 身份需要完成 `lark-cli auth login` 并具备 `minutes:minutes.search:read` 权限;bot 身份使用应用的 tenant access token,需要确认当前应用已开通 `minutes:minutes.search:read` scope,且运行环境能获取有效的 TAT。
|
|
87
87
|
|
|
88
88
|
### 3. `me` 表示当前用户
|
|
89
89
|
|
|
90
|
-
在 `--owner-ids` 和 `--participant-ids` 中可使用 `me`,表示当前登录用户。该值会在本地解析为当前用户的 `open_id`,无需手动先查询自己的用户 ID。
|
|
91
|
-
若当前环境尚未完成用户登录,或 CLI 无法解析出当前用户的 `open_id`,则应先执行 `lark-cli auth login
|
|
90
|
+
在 `--owner-ids` 和 `--participant-ids` 中可使用 `me`,表示当前登录用户。该值会在本地解析为当前用户的 `open_id`,无需手动先查询自己的用户 ID。`me` 只适合 user 身份;bot 身份没有“当前用户”,请直接传 `ou_` open_id。
|
|
91
|
+
若当前环境尚未完成用户登录,或 CLI 无法解析出当前用户的 `open_id`,则应先执行 `lark-cli auth login`,再重新执行搜索。该恢复方式只适用于 user 身份和 `me` 解析;bot 身份应检查 tenant access token 与应用 scope,不应通过 `auth login` 修复。
|
|
92
92
|
|
|
93
93
|
### 4. 自然语言中的“参与的妙记”默认按并集理解
|
|
94
94
|
|
|
@@ -182,7 +182,7 @@ lark-cli minutes +detail --minute-tokens <minute_token> --summary
|
|
|
182
182
|
| 时间参数校验失败 | `--start` 或 `--end` 格式不合法 | 改用 ISO 8601 或 `YYYY-MM-DD` |
|
|
183
183
|
| `owner-ids` 校验失败 | 传入的不是 open\_id,且也不是 `me`;或传了 `me` 但当前用户 open\_id 不可解析 | 改为 `ou_` 开头的用户 ID,或先完成 `auth login` 后再传 `me` |
|
|
184
184
|
| `participant-ids` 校验失败 | 传入的不是 open\_id,且也不是 `me`;或传了 `me` 但当前用户 open\_id 不可解析 | 改为 `ou_` 开头的用户 ID,或先完成 `auth login` 后再传 `me` |
|
|
185
|
-
| 权限不足 | 未授权 `minutes:minutes.search:read` |
|
|
185
|
+
| 权限不足 | 未授权 `minutes:minutes.search:read` | user 身份使用 `auth login` 完成用户授权;bot 身份检查 tenant access token 和应用 scope |
|
|
186
186
|
|
|
187
187
|
## 提示
|
|
188
188
|
|
|
@@ -199,4 +199,3 @@ lark-cli minutes +detail --minute-tokens <minute_token> --summary
|
|
|
199
199
|
- [lark-minutes](../SKILL.md) -- 妙记相关命令
|
|
200
200
|
- [lark-minutes-detail](lark-minutes-detail.md) -- 基于 `minute_token` 获取逐字稿、总结、待办、章节等产物
|
|
201
201
|
- [lark-vc](../../lark-vc/SKILL.md) -- 视频会议全部命令
|
|
202
|
-
|
package/skills/lark-okr/SKILL.md
CHANGED
|
@@ -14,30 +14,85 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
**身份**:OKR 操作默认使用 `--as user`(查看当前用户/上下级的 OKR 时)。也支持 `--as bot` 查看他人 OKR(需相应权限)。
|
|
16
16
|
|
|
17
|
+
## 快速决策
|
|
18
|
+
|
|
19
|
+
| 用户需求 | 操作路径 | 参考文档 |
|
|
20
|
+
|----------------|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
21
|
+
| 查看自己/他人的 OKR | 获取用户 ID -> `+cycle-list` -> `+cycle-detail` -> 按需查指标/进展记录 | [`cycle-list`](references/lark-okr-cycle-list.md), [`cycle-detail`](references/lark-okr-cycle-detail.md), [`indicators`](references/lark-okr-indicators.md), [`progress-list`](references/lark-okr-progress-list.md) |
|
|
22
|
+
| 为自己写一组 OKR | 优先用 `+batch-create` 创建 Objective/KR 骨架 | [`batch-create`](references/lark-okr-batch-create.md), [`contentblock`](references/lark-okr-contentblock.md) |
|
|
23
|
+
| 只新增一条 O 或单条 KR | 用 `+create` | [`create`](references/lark-okr-create.md) |
|
|
24
|
+
| 编辑内容/备注/截止时间 | 用 `+patch` | [`patch`](references/lark-okr-patch.md) |
|
|
25
|
+
| 修改 OKR 分数 | 只有用户明确说“分数”“评分”“打分”“score”时才用 `+patch --score`;分数不是进度/完成度 | [`patch`](references/lark-okr-patch.md) |
|
|
26
|
+
| 调整顺序或权重 | 用 `+reorder` / `+weight` | [`reorder`](references/lark-okr-reorder.md), [`weight`](references/lark-okr-weight.md) |
|
|
27
|
+
| 更新数字进度/完成度 | 百分比或不带单位数字用 `+indicator-update`;需要改单位/目标值时查指标后用 `indicators patch` | [`indicator-update`](references/lark-okr-indicator-update.md), [`indicators`](references/lark-okr-indicators.md) |
|
|
28
|
+
| 写文字进展 | 用 `+progress-create`;如果文本和数字都有,百分比或默认单位可使用 `--progress-percent` 统一改,非百分比单位更新量化指标 | [`progress-create`](references/lark-okr-progress-create.md), [`progress-list`](references/lark-okr-progress-list.md), [`progress-update`](references/lark-okr-progress-update.md) |
|
|
29
|
+
| 对齐目标 | 直接按对齐关系工作流处理 | [`alignments`](references/lark-okr-alignments.md) |
|
|
30
|
+
|
|
31
|
+
分类只在用户明确要求分类,或创建 Objective 返回 `invalid parameters` 且怀疑租户强制开启分类时处理:用 `lark-cli okr categories list --params '{"owner_type":"user","page_size":100}' --as user` 查可用分类,选择语义合适且 `enabled=true` 的分类 ID;分类可后续调整,不必停下等待用户确认。
|
|
32
|
+
|
|
33
|
+
获取当前用户用 `contact +get-user`;按姓名/邮箱查他人用 `contact +search-user`,拿到 `open_id` 后再查 OKR。
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
lark-cli contact +search-user --query "张三" --has-chatted --as user
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
最常用 OKR 命令示例:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# 查用户周期,再用周期 ID 查详情
|
|
43
|
+
lark-cli okr +cycle-list --user-id "ou_xxx" --as user
|
|
44
|
+
lark-cli okr +cycle-detail --cycle-id 7000000000000000001 --as user
|
|
45
|
+
|
|
46
|
+
# 批量创建 Objective/KR
|
|
47
|
+
lark-cli okr +batch-create \
|
|
48
|
+
--cycle-id 7000000000000000001 \
|
|
49
|
+
--input '[{"text":"提升产品用户体验","notes":"关注核心流程和用户反馈","krs":[{"text":"核心流程满意度达到 4.8 分"}]}]' \
|
|
50
|
+
--as user
|
|
51
|
+
|
|
52
|
+
# 更新数字进度/完成度
|
|
53
|
+
lark-cli okr +indicator-update \
|
|
54
|
+
--level key-result \
|
|
55
|
+
--id 7000000000000000003 \
|
|
56
|
+
--value 75 \
|
|
57
|
+
--as user
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
分数和进度不要混用:用户说“进度”“完成度”“当前做到 75%”时,通常是在改量化指标或写进展记录,不是在改 `score`。只有明确要求修改 OKR 分数/评分/打分时,才使用 [`+patch --score`](references/lark-okr-patch.md);`score` 取值是 0-1,最多一位小数。
|
|
61
|
+
|
|
62
|
+
进度判断规则:用户说“进度”“完成度”时,先判断是否是量化数字。数字进度通常对应量化指标;不可量化文本对应进展记录。需要修改指标单位时看 [`lark-okr-indicators.md`](references/lark-okr-indicators.md)
|
|
63
|
+
|
|
17
64
|
## Shortcuts(推荐优先使用)
|
|
18
65
|
|
|
19
66
|
Shortcut 是对常用操作的高级封装(`lark-cli okr +<verb> [flags]`)。有 Shortcut 的操作优先使用。
|
|
20
67
|
|
|
21
|
-
| Shortcut | 说明
|
|
22
|
-
|
|
23
|
-
| [`+cycle-list`](references/lark-okr-cycle-list.md) |
|
|
24
|
-
| [`+cycle-detail`](references/lark-okr-cycle-detail.md) | 获取特定 OKR 中所有目标和关键结果的内容
|
|
25
|
-
| [`+
|
|
26
|
-
| [`+progress-
|
|
27
|
-
| [`+progress-
|
|
28
|
-
| [`+progress-
|
|
29
|
-
| [`+progress-
|
|
30
|
-
| [`+
|
|
31
|
-
| [`+
|
|
32
|
-
| [`+
|
|
33
|
-
| [`+
|
|
34
|
-
| [`+
|
|
35
|
-
| [`+
|
|
68
|
+
| Shortcut | 说明 |
|
|
69
|
+
|----------------------------------------------------------------|-----------------------------------------------------------------------------------|
|
|
70
|
+
| [`+cycle-list`](references/lark-okr-cycle-list.md) | 分页获取特定用户的 OKR 周期列表,可以用 `--time-range` 对当前页后置筛选 |
|
|
71
|
+
| [`+cycle-detail`](references/lark-okr-cycle-detail.md) | 获取特定 OKR 中所有目标和关键结果的内容 |
|
|
72
|
+
| [`+create`](references/lark-okr-create.md) | 创建单个 Objective(可带备注),或向已有 Objective 新增 KR |
|
|
73
|
+
| [`+progress-list`](references/lark-okr-progress-list.md) | 分页获取目标或关键结果的进展记录列表 |
|
|
74
|
+
| [`+progress-get`](references/lark-okr-progress-get.md) | 根据 ID 获取单条 OKR 进展记录 |
|
|
75
|
+
| [`+progress-create`](references/lark-okr-progress-create.md) | 为目标或关键结果创建进展记录 |
|
|
76
|
+
| [`+progress-update`](references/lark-okr-progress-update.md) | 更新指定 ID 的进展记录内容 |
|
|
77
|
+
| [`+progress-delete`](references/lark-okr-progress-delete.md) | 删除指定 ID 的进展记录(不可恢复) |
|
|
78
|
+
| [`+upload-image`](references/lark-okr-image-upload.md) | 上传图片用于 OKR 进展记录的富文本内容 |
|
|
79
|
+
| [`+batch-create`](references/lark-okr-batch-create.md) | 批量创建 Objective(可带备注)和 KR |
|
|
80
|
+
| [`+reorder`](references/lark-okr-reorder.md) | 调整 Objective 或 KR 的顺位 |
|
|
81
|
+
| [`+weight`](references/lark-okr-weight.md) | 调整 Objective 或 KR 的权重 |
|
|
82
|
+
| [`+indicator-update`](references/lark-okr-indicator-update.md) | 更新 Objective 或 KR 的当前进度指标。更复杂的量化指标操作见 [量化指标管理](references/lark-okr-indicators.md) |
|
|
83
|
+
| [`+patch`](references/lark-okr-patch.md) | 部分更新 Objective 或 KR(content、notes、score、deadline) |
|
|
84
|
+
|
|
85
|
+
### 创建场景选择
|
|
86
|
+
|
|
87
|
+
- **单条创建优先用 [`+create`](references/lark-okr-create.md)**:适合创建一个 Objective,或给已有 Objective 增加一个 KR。
|
|
88
|
+
- **批量创建用 [`+batch-create`](references/lark-okr-batch-create.md)**:适合一次创建多个 Objective,并可同时附带多个 KR。
|
|
89
|
+
- 如果你只需要修改已有 Objective / KR 的内容、备注、分数或截止时间,使用 [`+patch`](references/lark-okr-patch.md)。
|
|
36
90
|
|
|
37
91
|
## 格式说明
|
|
38
92
|
|
|
39
93
|
- [`OKR 业务实体`](references/lark-okr-entities.md) 获取 OKR 实体结构,定义和关系,帮助你更好的使用 OKR 功能
|
|
40
|
-
- [`ContentBlock 富文本格式`](references/lark-okr-contentblock.md) — Objective/KeyResult/Progress 中 Content/Note
|
|
94
|
+
- [`ContentBlock 富文本格式`](references/lark-okr-contentblock.md) — Objective/KeyResult/Progress 中 Content/Note
|
|
95
|
+
字段使用的富文本格式说明,以及简化的半纯文本(SemiPlainContent)格式的进一步说明。
|
|
41
96
|
- **强烈建议** 在操作 OKR 前,阅读[`OKR 业务实体`](references/lark-okr-entities.md)以了解基础概念
|
|
42
97
|
|
|
43
98
|
## API Resources
|
|
@@ -56,18 +111,9 @@ Shortcut 是对常用操作的高级封装(`lark-cli okr +<verb> [flags]`)
|
|
|
56
111
|
### cycles
|
|
57
112
|
|
|
58
113
|
- `list` — 批量获取用户周期
|
|
59
|
-
- `objectives_position` — 更新用户周期下全部目标的位置
|
|
60
|
-
- 请求中必须携带对应周期下全部目标的 ID,否则会参数校验失败。以传入的目标ID顺序重新排列目标。
|
|
61
|
-
- `objectives_weight` — 更新用户周期下全部目标的权重
|
|
62
|
-
- 请求中必须同时修改对应周期下全部目标的权重,且所有权重值的和必须等于 1 ,否则会参数校验失败。例如周期下有 2 个目标时:
|
|
63
|
-
- 正确指令示例如下:
|
|
64
|
-
``` bash
|
|
65
|
-
lark-cli okr cycles objectives_weight --params '{"cycle_id": "7000000000000000001"}' --data '{"objective_weights": [{"objective_id": "7000000000000000002", "weight": 0.7}, {"objective_id": "7000000000000000003", "weight": 0.3}]}' --as user
|
|
66
|
-
```
|
|
67
114
|
|
|
68
115
|
### cycle.objectives
|
|
69
116
|
|
|
70
|
-
- `create` — 创建目标
|
|
71
117
|
- `list` — 批量获取用户周期下的目标
|
|
72
118
|
|
|
73
119
|
### indicators
|
|
@@ -110,7 +156,6 @@ Shortcut 是对常用操作的高级封装(`lark-cli okr +<verb> [flags]`)
|
|
|
110
156
|
|
|
111
157
|
### objective.key_results
|
|
112
158
|
|
|
113
|
-
- `create` — 创建关键结果
|
|
114
159
|
- `list` — 批量获取目标下的关键结果
|
|
115
160
|
|
|
116
161
|
## 不在本 skill 范围
|