@amaster.ai/pi-lark 0.1.5 → 0.1.7
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 +4 -4
- package/skills/lark-approval/references/lark-approval-initiate.md +2 -5
- package/skills/lark-approval/references/lark-approval-instances-initiated.md +6 -0
- package/skills/lark-approval/references/lark-approval-tasks-query.md +9 -0
- package/skills/lark-approval/references/lark-approval-tasks-rollback.md +8 -2
- package/skills/lark-apps/SKILL.md +46 -16
- 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-access-scope-set.md +1 -1
- package/skills/lark-apps/references/lark-apps-automation.md +242 -0
- package/skills/lark-apps/references/lark-apps-cache.md +61 -0
- package/skills/lark-apps/references/lark-apps-cloud-dev.md +0 -1
- package/skills/lark-apps/references/lark-apps-create.md +1 -2
- package/skills/lark-apps/references/lark-apps-db-execute.md +186 -2
- package/skills/lark-apps/references/lark-apps-db.md +4 -4
- 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 +43 -0
- package/skills/lark-apps/references/lark-apps-git-credential.md +1 -1
- package/skills/lark-apps/references/lark-apps-html-publish.md +5 -4
- package/skills/lark-apps/references/lark-apps-init.md +2 -3
- package/skills/lark-apps/references/lark-apps-list.md +1 -1
- package/skills/lark-apps/references/lark-apps-local-dev.md +54 -11
- package/skills/lark-apps/references/lark-apps-openapi-key.md +1 -1
- package/skills/lark-apps/references/lark-apps-release-create.md +5 -3
- package/skills/lark-apps/references/lark-apps-release-get.md +3 -3
- package/skills/lark-apps/references/lark-apps-role.md +133 -0
- package/skills/lark-base/SKILL.md +26 -15
- package/skills/lark-base/references/dashboard-block-data-config.md +28 -2
- package/skills/lark-base/references/lark-base-cell-value.md +12 -7
- package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +7 -7
- package/skills/lark-base/references/lark-base-dashboard.md +11 -2
- package/skills/lark-base/references/lark-base-data-query.md +20 -11
- package/skills/lark-base/references/lark-base-field-create.md +8 -2
- package/skills/lark-base/references/lark-base-field-json.md +56 -19
- package/skills/lark-base/references/lark-base-field-update.md +21 -3
- 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 +14 -138
- package/skills/lark-base/references/role-config.md +31 -5
- package/skills/lark-calendar/SKILL.md +101 -37
- package/skills/lark-calendar/references/lark-calendar-create.md +13 -43
- package/skills/lark-calendar/references/lark-calendar-recurring.md +1 -0
- package/skills/lark-calendar/references/lark-calendar-room-find.md +7 -10
- package/skills/lark-calendar/references/lark-calendar-rsvp.md +1 -5
- package/skills/lark-calendar/references/lark-calendar-schedule-clear-time.md +60 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-fuzzy-time.md +88 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +67 -210
- package/skills/lark-calendar/references/lark-calendar-suggestion.md +2 -6
- package/skills/lark-calendar/references/lark-calendar-update.md +12 -11
- 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 +1 -1
- package/skills/lark-doc/references/lark-doc-fetch.md +14 -4
- package/skills/lark-doc/references/lark-doc-mindnote.md +17 -2
- package/skills/lark-doc/references/lark-doc-whiteboard.md +13 -8
- package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +76 -0
- package/skills/lark-doc/references/lark-doc-xml.md +6 -4
- package/skills/lark-drive/SKILL.md +35 -43
- 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 +2 -2
- 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 +18 -12
- package/skills/lark-drive/references/lark-drive-delete-reply.md +48 -0
- package/skills/lark-drive/references/lark-drive-delete.md +35 -11
- package/skills/lark-drive/references/lark-drive-download.md +5 -1
- package/skills/lark-drive/references/lark-drive-export.md +39 -10
- package/skills/lark-drive/references/lark-drive-files-list.md +27 -2
- package/skills/lark-drive/references/lark-drive-inspect.md +2 -0
- package/skills/lark-drive/references/lark-drive-list-comments.md +82 -0
- package/skills/lark-drive/references/lark-drive-list-replies.md +54 -0
- package/skills/lark-drive/references/lark-drive-member-add.md +3 -3
- package/skills/lark-drive/references/lark-drive-member-list.md +65 -0
- package/skills/lark-drive/references/lark-drive-move.md +5 -3
- package/skills/lark-drive/references/lark-drive-permission-get-setting.md +48 -0
- package/skills/lark-drive/references/lark-drive-permission-guide.md +12 -0
- package/skills/lark-drive/references/lark-drive-preview.md +11 -1
- package/skills/lark-drive/references/lark-drive-pull.md +3 -3
- package/skills/lark-drive/references/lark-drive-push.md +33 -6
- 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-status.md +12 -14
- package/skills/lark-drive/references/lark-drive-task-result.md +58 -5
- package/skills/lark-drive/references/lark-drive-update-reply.md +46 -0
- package/skills/lark-drive/references/lark-drive-upload.md +1 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +26 -20
- 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 -3
- package/skills/lark-event/SKILL.md +3 -1
- package/skills/lark-event/references/lark-event-application.md +38 -0
- package/skills/lark-event/references/lark-event-approval.md +170 -0
- package/skills/lark-im/SKILL.md +6 -5
- 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-flag-list.md +8 -7
- package/skills/lark-im/references/lark-im-messages-reply.md +1 -1
- package/skills/lark-im/references/lark-im-messages-send.md +1 -1
- package/skills/lark-mail/SKILL.md +12 -9
- package/skills/lark-mail/references/lark-mail-forward.md +1 -1
- package/skills/lark-mail/references/lark-mail-message-modify.md +48 -0
- package/skills/lark-mail/references/lark-mail-message-trash.md +41 -0
- package/skills/lark-mail/references/lark-mail-reply-all.md +1 -1
- package/skills/lark-mail/references/lark-mail-reply.md +1 -1
- package/skills/lark-mail/references/lark-mail-watch.md +1 -1
- package/skills/lark-markdown/SKILL.md +3 -2
- package/skills/lark-markdown/references/lark-markdown-create.md +22 -2
- package/skills/lark-minutes/SKILL.md +19 -4
- package/skills/lark-minutes/references/lark-minutes-download.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-search.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-summary.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-todo.md +2 -4
- package/skills/lark-minutes/references/lark-minutes-update.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-upload.md +10 -10
- 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 +26 -8
- package/skills/lark-sheets/SKILL.md +98 -29
- package/skills/lark-sheets/references/lark-sheets-batch-update.md +18 -9
- package/skills/lark-sheets/references/lark-sheets-changeset.md +105 -0
- package/skills/lark-sheets/references/lark-sheets-chart.md +4 -2
- package/skills/lark-sheets/references/lark-sheets-conditional-format.md +2 -0
- package/skills/lark-sheets/references/lark-sheets-filter-view.md +1 -1
- package/skills/lark-sheets/references/lark-sheets-float-image.md +6 -6
- package/skills/lark-sheets/references/lark-sheets-formula-translation.md +12 -3
- package/skills/lark-sheets/references/lark-sheets-formula-verify.md +77 -0
- package/skills/lark-sheets/references/lark-sheets-history.md +93 -0
- package/skills/lark-sheets/references/lark-sheets-pivot-table.md +7 -2
- package/skills/lark-sheets/references/lark-sheets-range-operations.md +44 -14
- package/skills/lark-sheets/references/lark-sheets-read-data.md +3 -3
- package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +4 -4
- package/skills/lark-sheets/references/lark-sheets-visual-standards.md +4 -4
- package/skills/lark-sheets/references/lark-sheets-workbook.md +29 -4
- package/skills/lark-sheets/references/lark-sheets-write-cells.md +21 -11
- package/skills/lark-slides/SKILL.md +121 -63
- package/skills/lark-slides/references/asset-planning.md +18 -5
- package/skills/lark-slides/references/iconpark.md +3 -3
- package/skills/lark-slides/references/lark-slides-create.md +30 -3
- package/skills/lark-slides/references/lark-slides-history.md +132 -0
- package/skills/lark-slides/references/lark-slides-media-upload.md +1 -3
- package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +85 -0
- package/skills/lark-slides/references/lark-slides-replace-pages.md +1 -1
- package/skills/lark-slides/references/lark-slides-replace-slide.md +1 -4
- package/skills/lark-slides/references/lark-slides-screenshot.md +11 -8
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +5 -6
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +5 -2
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +5 -5
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +14 -13
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +67 -31
- package/skills/lark-slides/references/planning-layer.md +41 -10
- package/skills/lark-slides/references/slides_chart_demo.xml +1416 -0
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +499 -78
- package/skills/lark-slides/references/troubleshooting.md +5 -5
- package/skills/lark-slides/references/validation-checklist.md +65 -19
- package/skills/lark-slides/references/visual-planning.md +26 -22
- package/skills/lark-slides/references/xml-schema-quick-ref.md +285 -45
- package/skills/lark-slides/scripts/sxsd_validator.py +908 -0
- package/skills/lark-slides/scripts/xml_text_overlap_lint.py +2429 -91
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +3567 -70
- package/skills/lark-task/SKILL.md +8 -0
- package/skills/lark-task/references/lark-task-complete.md +6 -2
- package/skills/lark-task/references/lark-task-create.md +23 -1
- package/skills/lark-task/references/lark-task-update.md +6 -2
- package/skills/lark-vc/SKILL.md +6 -3
- package/skills/lark-vc/references/lark-vc-recording.md +0 -2
- package/skills/lark-vc/references/vc-domain-boundaries.md +9 -1
- package/skills/lark-vc-agent/SKILL.md +25 -15
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +65 -37
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +1 -1
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md +8 -8
- package/skills/lark-whiteboard/SKILL.md +13 -12
- 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} +15 -15
- package/skills/lark-whiteboard/references/lark-whiteboard-update.md +3 -3
- package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +12 -19
- package/skills/lark-whiteboard/routes/dsl.md +3 -3
- package/skills/lark-whiteboard/routes/mermaid.md +2 -2
- package/skills/lark-whiteboard/routes/svg-edit.md +4 -4
- package/skills/lark-whiteboard/routes/svg.md +11 -6
- 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/treemap.md +1 -1
- package/skills/lark-wiki/SKILL.md +8 -3
- package/skills/lark-wiki/references/lark-wiki-move-to-drive.md +122 -0
- package/skills/lark-wiki/references/lark-wiki-move.md +5 -3
- package/skills/lark-wiki/references/lark-wiki-node-get.md +1 -1
- package/skills/lark-wiki/references/lark-wiki-node-list.md +9 -2
- package/skills/lark-calendar/references/lark-calendar-agenda.md +0 -78
- package/skills/lark-calendar/references/lark-calendar-freebusy.md +0 -124
- package/skills/lark-calendar/references/lark-calendar-search-event.md +0 -29
- package/skills/lark-drive/references/lark-drive-comments-guide.md +0 -72
- package/skills/lark-sheets/references/lark-sheets-core-operations.md +0 -103
- package/skills/lark-slides/references/examples.md +0 -261
- package/skills/lark-slides/references/lark-slides-whiteboard.md +0 -330
- 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 -369
|
@@ -4,142 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
更新视图筛选配置。
|
|
6
6
|
|
|
7
|
-
## 1.
|
|
8
|
-
|
|
9
|
-
- `--json` 必须是 JSON 对象。
|
|
10
|
-
- 顶层结构是 `{logic?, conditions?}`。
|
|
11
|
-
- `logic` 默认 `and`;推荐只用 canonical 值 `and` / `or`。
|
|
12
|
-
- `conditions` 默认空数组。
|
|
13
|
-
- 每条条件写成 tuple:`[field, operator, value?]`。
|
|
14
|
-
- `empty` / `non_empty` 可写成 2 项:`[field, "empty"]`、`[field, "non_empty"]`。
|
|
15
|
-
- 支持 `filter` 的视图类型:`grid`、`kanban`、`gallery`、`calendar`、`gantt`。
|
|
16
|
-
|
|
17
|
-
## 2. operator
|
|
18
|
-
|
|
19
|
-
可用 operator:
|
|
20
|
-
- `==`
|
|
21
|
-
- `!=`
|
|
22
|
-
- `>`
|
|
23
|
-
- `>=`
|
|
24
|
-
- `<`
|
|
25
|
-
- `<=`
|
|
26
|
-
- `intersects`
|
|
27
|
-
- `disjoint`
|
|
28
|
-
- `empty`
|
|
29
|
-
- `non_empty`
|
|
30
|
-
|
|
31
|
-
## 3. value 写法
|
|
32
|
-
|
|
33
|
-
### `text`
|
|
34
|
-
|
|
35
|
-
用字符串:
|
|
36
|
-
|
|
37
|
-
```json
|
|
38
|
-
["标题", "intersects", "发布"]
|
|
39
|
-
```
|
|
7
|
+
## 1. filter 结构
|
|
40
8
|
|
|
41
|
-
|
|
9
|
+
`--json` 就是一个 filter 条件对象,结构见公共协议 SSOT [lark-base-filter-condition.md](lark-base-filter-condition.md),即 `{logic?, conditions?}`。此处 `conditions` 中的 `field` 引用**数据表字段名或字段 id**。
|
|
42
10
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
```json
|
|
46
|
-
["位置", "intersects", "深圳"]
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
不推荐写 `["位置", "==", "深圳"]` 这类精确匹配,除非确保筛选值与完整 `full_address` 完全一致。
|
|
50
|
-
|
|
51
|
-
### `number` / `auto_number`
|
|
52
|
-
|
|
53
|
-
用数字:
|
|
54
|
-
|
|
55
|
-
```json
|
|
56
|
-
["工时", ">=", 3.5]
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### `select`
|
|
60
|
-
|
|
61
|
-
用选项名数组:
|
|
62
|
-
|
|
63
|
-
```json
|
|
64
|
-
["状态", "intersects", ["Doing", "Blocked"]]
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### `user` / `created_by` / `updated_by`
|
|
68
|
-
|
|
69
|
-
用对象数组:
|
|
70
|
-
|
|
71
|
-
> **人员筛选:不要猜 ID。** 不知道 `open_id` 时,先用 `lark-contact` 查 id:`lark-cli contact +search-user --query "<姓名/邮箱/手机号>" --as user`。
|
|
72
|
-
|
|
73
|
-
```json
|
|
74
|
-
["负责人", "intersects", [{ "id": "ou_xxx" }]]
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### `group_chat`
|
|
78
|
-
|
|
79
|
-
用对象数组:
|
|
80
|
-
|
|
81
|
-
> **群组筛选:不要猜 ID。** 不知道 `chat_id` 时,先用 `lark-im` 搜群:`lark-cli im +chat-search --query "<群名关键词>" --as user`;取结果里的 `oc_xxx`。
|
|
82
|
-
|
|
83
|
-
```json
|
|
84
|
-
["负责群", "intersects", [{ "id": "oc_xxx" }]]
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### `link`
|
|
88
|
-
|
|
89
|
-
用记录 id 对象数组:
|
|
90
|
-
|
|
91
|
-
```json
|
|
92
|
-
["关联任务", "intersects", [{ "id": "rec_xxx" }]]
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### `checkbox`
|
|
96
|
-
|
|
97
|
-
用布尔值:
|
|
98
|
-
|
|
99
|
-
```json
|
|
100
|
-
["完成", "==", true]
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### `datetime` / `created_at` / `updated_at`
|
|
104
|
-
|
|
105
|
-
用相对时间关键字或 `ExactDate(...)`:
|
|
106
|
-
|
|
107
|
-
```json
|
|
108
|
-
["截止时间", "==", "ExactDate(2026-01-01)"]
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
```json
|
|
112
|
-
["截止时间", "==", "ExactDate(2026-01-01 11:30)"]
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
```json
|
|
116
|
-
["截止时间", "==", "Today"]
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
可用关键字:
|
|
120
|
-
- `Today`
|
|
121
|
-
- `Yesterday`
|
|
122
|
-
- `Tomorrow`
|
|
123
|
-
|
|
124
|
-
### `formula` / `lookup`
|
|
125
|
-
|
|
126
|
-
- 筛选值类型由字段计算结果类型动态决定。
|
|
127
|
-
- 拿不准时,先把 `value` 当作单个字符串填入做一次尝试。
|
|
128
|
-
- 如果报错,再按错误提示把 `value` 改成对应类型。
|
|
129
|
-
|
|
130
|
-
字符串示例:
|
|
131
|
-
|
|
132
|
-
```json
|
|
133
|
-
["风险说明", "intersects", "高风险"]
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
数字示例:
|
|
137
|
-
|
|
138
|
-
```json
|
|
139
|
-
["汇总分", ">=", 80]
|
|
140
|
-
```
|
|
11
|
+
- 支持 `filter` 的视图类型:`grid`、`kanban`、`gallery`、`calendar`、`gantt`。
|
|
141
12
|
|
|
142
|
-
##
|
|
13
|
+
## 2. 推荐命令
|
|
143
14
|
|
|
144
15
|
```bash
|
|
145
16
|
lark-cli base +view-set-filter \
|
|
@@ -149,7 +20,7 @@ lark-cli base +view-set-filter \
|
|
|
149
20
|
--json '{"logic":"and","conditions":[["状态","intersects",["Doing"]],["负责人","intersects",[{"id":"ou_xxx"}]],["截止时间","empty"]]}'
|
|
150
21
|
```
|
|
151
22
|
|
|
152
|
-
##
|
|
23
|
+
## 3. JSON 写法
|
|
153
24
|
|
|
154
25
|
```json
|
|
155
26
|
{
|
|
@@ -170,20 +41,25 @@ lark-cli base +view-set-filter \
|
|
|
170
41
|
}
|
|
171
42
|
```
|
|
172
43
|
|
|
173
|
-
|
|
44
|
+
完整的 operator 列表与各字段类型的 value 写法(`text` / `number` / `select` / `user` / `datetime` / `formula` / `lookup` 等),见 [lark-base-filter-condition.md](lark-base-filter-condition.md)。
|
|
45
|
+
|
|
46
|
+
## 4. 使用建议
|
|
174
47
|
|
|
175
48
|
- 先读取当前筛选配置,理解现有 `logic` 和 `conditions` 的组合关系;只替换用户要求变更的条件,未提到的条件默认保留。
|
|
176
49
|
- 优先传字段 id,不要依赖字段名。
|
|
50
|
+
- 拿不准字段 type 或真实取值时,先用 `+field-list` / `+record-list` 确认,再按对应字段类型的 value 写法构造条件;别按字段名猜 type、凭印象猜枚举取值。
|
|
177
51
|
- 需要清空全部筛选时,直接传 `{"conditions":[]}`。
|
|
178
52
|
|
|
179
|
-
##
|
|
53
|
+
## 5. 易错点
|
|
180
54
|
|
|
181
|
-
-
|
|
55
|
+
- 本 tuple DSL 由 `+view-set-filter` 与 `+record-list` / `+record-search` 的 `--filter-json` 共用;不要写成 `+data-query` 的对象风格 `{"field_name":...,"operator":...}`(会报校验失败)。
|
|
56
|
+
- 标量类字段(`text` / `number` / `datetime` 等)的 value 用标量、别包成数组(各类型详见 value 写法一节)。
|
|
182
57
|
- `user` / `group_chat` / `link` 不要写成单个标量。
|
|
183
58
|
- `empty` / `non_empty` 不要硬塞无意义的 value。
|
|
184
59
|
- 日期条件稳定写法用 `ExactDate(...)` 或 `Today` / `Yesterday` / `Tomorrow`。
|
|
185
60
|
- `formula` / `lookup` 的 value 形状不固定;拿不准时先读当前 filter 或字段定义,或根据错误提示修正类型。
|
|
186
61
|
|
|
187
|
-
##
|
|
62
|
+
## 6. 参考
|
|
188
63
|
|
|
64
|
+
- [lark-base-filter-condition.md](lark-base-filter-condition.md):filter/visible_rule 条件结构公共协议 SSOT
|
|
189
65
|
- [lookup-field-guide.md](lookup-field-guide.md)
|
|
@@ -154,12 +154,34 @@
|
|
|
154
154
|
"table_rule_map": {
|
|
155
155
|
"订单表": {
|
|
156
156
|
"perm": "edit",
|
|
157
|
-
"view_rule": {
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
"view_rule": {
|
|
158
|
+
"allow_edit": true,
|
|
159
|
+
"visibility": { "all_visible": true }
|
|
160
|
+
},
|
|
161
|
+
"record_rule": {
|
|
162
|
+
"record_operations": ["add", "delete"],
|
|
163
|
+
"other_record_all_read": true
|
|
164
|
+
},
|
|
165
|
+
"field_rule": {
|
|
166
|
+
"field_perm_mode": "all_edit"
|
|
167
|
+
}
|
|
160
168
|
},
|
|
161
169
|
"用户表": {
|
|
162
|
-
"perm": "read_only"
|
|
170
|
+
"perm": "read_only",
|
|
171
|
+
"view_rule": {
|
|
172
|
+
"allow_edit": false,
|
|
173
|
+
"visibility": { "all_visible": true }
|
|
174
|
+
},
|
|
175
|
+
"record_rule": {
|
|
176
|
+
"record_operations": [],
|
|
177
|
+
"other_record_all_read": true
|
|
178
|
+
},
|
|
179
|
+
"field_rule": {
|
|
180
|
+
"field_perm_mode": "all_read"
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"内部表": {
|
|
184
|
+
"perm": "no_perm"
|
|
163
185
|
}
|
|
164
186
|
}
|
|
165
187
|
}
|
|
@@ -172,7 +194,11 @@
|
|
|
172
194
|
| `record_rule` | RecordRule | 记录权限配置 |
|
|
173
195
|
| `field_rule` | FieldRule | 字段权限配置 |
|
|
174
196
|
|
|
175
|
-
|
|
197
|
+
**`+role-create` 硬约束**:
|
|
198
|
+
|
|
199
|
+
- 当 `perm` 为 `no_perm` 时,不要设置 `view_rule`、`record_rule`、`field_rule`。
|
|
200
|
+
- 当 `perm` 为其他值时,必须同时提供完整的 `view_rule`、`record_rule`、`field_rule`,缺少任意一项都会导致创建失败。
|
|
201
|
+
- `+role-update` 是 delta merge,只提交要修改的字段;不要为局部更新补造未变更配置。
|
|
176
202
|
|
|
177
203
|
---
|
|
178
204
|
|
|
@@ -12,44 +12,102 @@ metadata:
|
|
|
12
12
|
|
|
13
13
|
开始前先读 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md)(认证、权限处理)。
|
|
14
14
|
|
|
15
|
-
**CRITICAL —
|
|
15
|
+
**CRITICAL — 凡涉及预约日程/会议室、调整时间或查询/搜索会议室,第一步 MUST 读 [`references/lark-calendar-schedule-meeting.md`](references/lark-calendar-schedule-meeting.md)。仅编辑字段(改标题/描述)或增删参会人(不涉及时间和会议室)时可跳过,直接读 [`references/lark-calendar-update.md`](references/lark-calendar-update.md)。**
|
|
16
16
|
|
|
17
17
|
## 身份
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
按**日程归属**选身份:
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
lark-cli calendar +agenda --as bot
|
|
21
|
+
- 查看/管理登录用户本人的日程 → `--as user`(默认,绝大多数场景)。
|
|
22
|
+
- 查看/管理 bot 自己创建/拥有的日程 → `--as bot`
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
```bash
|
|
25
|
+
# 用户本人日程 → user
|
|
26
26
|
lark-cli calendar +agenda --as user
|
|
27
|
+
# bot 自建或参与的日程 → bot
|
|
28
|
+
lark-cli calendar +agenda --as bot
|
|
27
29
|
```
|
|
28
30
|
|
|
29
31
|
## Shortcuts
|
|
30
32
|
|
|
31
33
|
| Shortcut | 说明 |
|
|
32
34
|
|----------|------|
|
|
33
|
-
|
|
|
34
|
-
| [`+search-event`](references/lark-calendar-search-event.md) | 按关键词、时间范围和参会人搜索日程, 仅返回 日程ID/主题/时间等信息,详情需走 `events get` |
|
|
35
|
+
| `+agenda` | 查看日程安排(默认今天) |
|
|
35
36
|
| [`+meeting`](references/lark-calendar-meeting.md) | 通过日程事件 ID 获取关联的视频会议信息(meeting_id、meeting_note),日程开过视频会议才会有meeting_id |
|
|
36
37
|
| [`+create`](references/lark-calendar-create.md) | 创建日程并邀请参会人(ISO 8601 时间) |
|
|
37
38
|
| [`+update`](references/lark-calendar-update.md) | 更新既有日程字段,或独立增量添加/移除参会人和会议室 |
|
|
38
|
-
|
|
|
39
|
+
| `+freebusy` | 查询用户主日历的忙闲信息和 RSVP 状态(纯查询场景;预约场景走 `+suggestion`) |
|
|
39
40
|
| [`+room-find`](references/lark-calendar-room-find.md) | 针对一个或多个**明确的**时间块查找可用会议室(无明确时间时禁止直接调用,需先走 +suggestion) |
|
|
40
41
|
| [`+rsvp`](references/lark-calendar-rsvp.md) | 回复日程(接受/拒绝/待定) |
|
|
41
42
|
| [`+suggestion`](references/lark-calendar-suggestion.md) | 根据非明确时间或一段时间范围,推荐多个可用时间块方案 |
|
|
42
43
|
|
|
44
|
+
### `+get` — 单日程详情
|
|
45
|
+
|
|
46
|
+
通过 `calendar_id` + `event_id` 获取**单个日程**详情。
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# calendar_id不传,默认primary
|
|
50
|
+
lark-cli calendar +get --calendar-id <calendar_id> --event-id <event_id>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
日程描述统一使用 `description` 一个字段,按 **Markdown** 富文本处理。读取日程时 `description` 返回 Markdown 富文本(仅有纯文本描述时返回该纯文本);创建/更新日程时也通过 `--description` 传入 Markdown。
|
|
54
|
+
|
|
55
|
+
### `+search-event` — 按关键词、时间范围和参会人搜索日程
|
|
56
|
+
|
|
57
|
+
仅返回基础字段(`event_id`/`summary`/`start`/`end` 等),需要详情请走 `+get`。
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# query 按关键词 可选
|
|
61
|
+
# start/end 按时间范围(ISO 8601 或 YYYY-MM-DD)可选
|
|
62
|
+
# attendee-ids 按参会人(自动识别 ou_ 用户 / oc_ 群聊 / omm_ 会议室前缀)可选
|
|
63
|
+
# page-token 分页游标,用于继续翻页 可选
|
|
64
|
+
# page-size 每页数量,默认 30 可选
|
|
65
|
+
lark-cli calendar +search-event --query "周会" --start 2026-04-20 --end 2026-04-27 --attendee-ids "ou_user1,oc_chat1,omm_room1" --page-token <page_token> --page-size 30
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### `+agenda` — 查看近期日程安排
|
|
69
|
+
|
|
70
|
+
默认查询当天。结果应整理为按日期分组、按开始时间升序的易读时间线。
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# start/end 时间范围(ISO 8601 / YYYY-MM-DD / Unix 秒),均可选;默认当天
|
|
74
|
+
# calendar-id 日历 ID(默认primary)可选
|
|
75
|
+
lark-cli calendar +agenda --start 2026-03-10 --end 2026-03-17 --calendar-id <calendar_id>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
注意:
|
|
79
|
+
- 已取消的日程自动过滤;无日程时直接告知"日程清空"。
|
|
80
|
+
- 时间范围超过 40 天会自动拆分查询并合并结果。
|
|
81
|
+
|
|
82
|
+
### `+freebusy` — 查询主日历忙闲时段和 RSVP 状态
|
|
83
|
+
|
|
84
|
+
仅返回忙碌时段起止时间,不含日程标题等隐私信息;其他订阅日历不在范围内。
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# start/end 时间范围(ISO 8601 / YYYY-MM-DD / Unix 秒),均可选;默认当天
|
|
88
|
+
# user-id 目标用户 open_id(ou_ 前缀)可选;默认当前登录用户,bot 身份必须显式指定
|
|
89
|
+
lark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-12 --user-id ou_xxx
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
用法提示:
|
|
93
|
+
- **仅判断是否有空** → `+freebusy`;**需要日程详情** → `+agenda`。
|
|
94
|
+
- 检查多人可用性:分别调用并对比,找共同空闲。
|
|
95
|
+
- 预约/改约场景下,调用规则(参与人过多、含群组、来自 `+suggestion` 等)详见 [schedule-clear-time.md § 查询忙闲](references/lark-calendar-schedule-clear-time.md#2-查询忙闲)。
|
|
96
|
+
|
|
43
97
|
## 前置条件路由
|
|
44
98
|
|
|
99
|
+
> **先判断是否重复性日程**:若操作对象是重复性日程,必须先读 [重复性日程操作规范](references/lark-calendar-recurring.md),并在用户未明确范围时先确认「仅此次/全部/此次及后续」(不要默认仅此次),再按下表进入具体操作流程。
|
|
100
|
+
|
|
45
101
|
| 场景 | 前置要求 |
|
|
46
102
|
|------|----------|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
| 编辑/删除重复性日程 | 先读 [重复性日程操作规范](references/lark-calendar-recurring.md),按操作范围(仅此次/全部/此次及后续)执行 |
|
|
50
|
-
| 删除/修改后验证 | 等待 2 秒再查询(API 最终一致性),不要告知用户你等待了 |
|
|
103
|
+
| 预约日程/会议、调整时间、查会议室 | 先读 [lark-calendar-schedule-meeting.md](references/lark-calendar-schedule-meeting.md) |
|
|
104
|
+
| 仅编辑字段(标题/描述)或增删参会人 | 先定位 `event_id`,再读 [lark-calendar-update.md](references/lark-calendar-update.md) |
|
|
51
105
|
| 调用任何 Shortcut | 先读其对应 reference 文档 |
|
|
52
106
|
|
|
107
|
+
## 写操作反馈
|
|
108
|
+
|
|
109
|
+
创建、更新、删除、RSVP 等写操作完成后,直接基于命令返回结果反馈用户;不要为了“确认是否生效”主动发起二次查询。只有用户明确要求复查,或命令返回信息不足以回答用户问题时,才需要再查询。
|
|
110
|
+
|
|
53
111
|
## 核心概念
|
|
54
112
|
|
|
55
113
|
- **日程实例(Instance)**:重复性日程展开后的具体时间实例。「仅此次」操作时使用具体实例的 `event_id`;「全部」或「此次及后续」操作时需对原重复性日程操作(使用原日程 `event_id`),并按需处理例外。
|
|
@@ -72,7 +130,8 @@ lark-cli calendar +agenda --as user
|
|
|
72
130
|
| 按关键词搜索日程 | 本 skill(`+search-event`) |
|
|
73
131
|
| 从日程获取关联的视频会议 ID 或用户绑定的会议纪要文档 | 本 skill(`+meeting`) |
|
|
74
132
|
| 从日程进一步拿 AI 智能纪要 / 逐字稿 / 妙记产物 | 先 `+meeting` 取 `meeting_id`,再 [`vc +detail`](../lark-vc/references/lark-vc-detail.md) → [`note +detail`](../lark-note/references/lark-note-detail.md) / [`minutes +detail`](../lark-minutes/references/lark-minutes-detail.md) |
|
|
75
|
-
|
|
|
133
|
+
| 预约/改约日程、调整时间、添加/更换会议室、查会议室 | 先判断新建 vs 编辑,再进入 [schedule-meeting 工作流](references/lark-calendar-schedule-meeting.md) |
|
|
134
|
+
| 仅编辑日程字段(标题/描述)或增删参会人(不涉及时间和会议室) | 先定位 `event_id`,再读 [+update](references/lark-calendar-update.md) 执行变更 |
|
|
76
135
|
| 编辑/删除重复性日程(「改这个重复日程」「删掉后面的」「全部取消」等) | 先读 [重复性日程操作规范](references/lark-calendar-recurring.md),确认操作范围后执行 |
|
|
77
136
|
|
|
78
137
|
## 任务类型分流
|
|
@@ -90,7 +149,7 @@ lark-cli calendar +agenda --as user
|
|
|
90
149
|
|
|
91
150
|
## 会议室规则
|
|
92
151
|
|
|
93
|
-
- 凡是"预定/查询/搜索可用会议室",都必须进入 [schedule-meeting 工作流](references/lark-calendar-schedule-meeting.md)。
|
|
152
|
+
- 凡是"预定/查询/搜索可用会议室",都必须进入 [schedule-meeting 工作流](references/lark-calendar-schedule-meeting.md),会议室参数规范详见 [+room-find](references/lark-calendar-room-find.md)。
|
|
94
153
|
- `+room-find` 的时间输入必须是确定时间块,不能是时间区间搜索。
|
|
95
154
|
- 用户仅要求"查会议室"但未提供明确时间时,必须先调用 `+suggestion` 获取可用时间块,再将时间块交给 `+room-find`。严禁猜测时间盲目调用。
|
|
96
155
|
- 编辑已有日程时,"添加会议室"默认是增量语义,保留已有会议室;只有用户明确说"更换会议室""移除会议室"时才删除旧会议室。
|
|
@@ -98,43 +157,48 @@ lark-cli calendar +agenda --as user
|
|
|
98
157
|
## API Resources
|
|
99
158
|
|
|
100
159
|
```bash
|
|
160
|
+
# 通用调用格式
|
|
101
161
|
lark-cli calendar <resource> <method> [flags]
|
|
162
|
+
|
|
163
|
+
# 查询用户主日历
|
|
164
|
+
lark-cli calendar calendars primary
|
|
165
|
+
|
|
166
|
+
# 获取日程分享链接
|
|
167
|
+
lark-cli calendar events share_info --calendar-id <calendar_id> --event-id <event_id>
|
|
168
|
+
|
|
169
|
+
# 删除日程
|
|
170
|
+
lark-cli calendar events delete --calendar-id <calendar_id> --event-id <event_id>
|
|
102
171
|
```
|
|
103
172
|
|
|
104
|
-
|
|
173
|
+
> `calendar_id` 可以直接传 `primary`,代表当前调用身份的主日历 ID。
|
|
105
174
|
|
|
106
|
-
|
|
107
|
-
- `delete` — 删除共享日历
|
|
108
|
-
- `get` — 查询日历信息
|
|
109
|
-
- `list` — 查询日历列表
|
|
110
|
-
- `patch` — 更新日历信息
|
|
111
|
-
- `primary` — 查询用户主日历
|
|
112
|
-
- `search` — 搜索日历
|
|
175
|
+
### 查询资源的方法列表以及方法的使用方式
|
|
113
176
|
|
|
114
|
-
|
|
177
|
+
- 列出某资源下的方法:`lark-cli calendar <resource> -h`
|
|
178
|
+
- 查看方法的cli flag:`lark-cli calendar <resource> <method> -h`
|
|
179
|
+
- 查看方法API参数:`lark-cli schema calendar.<resource>.<method>`
|
|
115
180
|
|
|
116
|
-
|
|
117
|
-
- `create` — 添加日程参与人
|
|
118
|
-
- `list` — 获取日程参与人列表
|
|
181
|
+
`<resource>` 为 `calendars`(日历本身)/ `events`(日程)/ `event.attendees`(参与人)/ `freebusys`(忙闲)。例:`lark-cli schema calendar.events.delete`。
|
|
119
182
|
|
|
120
|
-
|
|
183
|
+
## 常用其他域命令
|
|
121
184
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
- `instance_view` — 查询日程视图
|
|
126
|
-
- `patch` — 更新日程
|
|
127
|
-
- `share_info` — 获取日程分享链接
|
|
185
|
+
```bash
|
|
186
|
+
# 搜索用户,更多参数详见 lark-contact
|
|
187
|
+
lark-cli contact +search-user --query <query> --as user
|
|
128
188
|
|
|
129
|
-
|
|
189
|
+
# 搜索群聊,更多参数详见 lark-im
|
|
190
|
+
lark-cli im +chat-search --query <query> --as user
|
|
191
|
+
```
|
|
130
192
|
|
|
131
|
-
|
|
193
|
+
> 搜索用户接口不支持 bot 身份,必须用 `--as user`;搜到的 `ou_` open_id 用于日程参与人操作(如添加日程参与人)。
|
|
132
194
|
|
|
133
195
|
## 不在本 skill 范围
|
|
134
196
|
|
|
135
197
|
- 查询过去的视频会议记录 → [lark-vc](../lark-vc/SKILL.md)
|
|
136
198
|
- 待办任务管理 → [lark-task](../lark-task/SKILL.md)
|
|
199
|
+
- 通讯录 → [lark-contact](../lark-contact/SKILL.md)
|
|
200
|
+
- 即时通讯 → [lark-im](../lark-im/SKILL.md)
|
|
137
201
|
- 会议室物理设施管理 → 管理员后台
|
|
138
202
|
|
|
139
203
|
**注意(强制性):**
|
|
140
|
-
-
|
|
204
|
+
- 涉及日期(时间)字符串与时间戳的相互转换时,务必调用系统命令或脚本代码等外部工具进行处理,以确保转换的绝对准确;换算**禁止依赖容器默认时区**(常为 UTC,会导致 8 小时偏移),必须显式指定目标时区。违者将导致严重的逻辑错误!
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
|
|
2
2
|
# calendar +create
|
|
3
3
|
|
|
4
|
-
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
5
4
|
|
|
6
5
|
创建日程并按需邀请参会人。
|
|
7
6
|
|
|
8
|
-
需要的scopes: ["calendar:calendar.event:create","calendar:calendar.event:update"]
|
|
9
|
-
|
|
10
7
|
## 推荐命令
|
|
11
8
|
|
|
12
9
|
```bash
|
|
@@ -33,15 +30,16 @@ lark-cli calendar +create --summary "..." --start "..." --end "..." \
|
|
|
33
30
|
| 参数 | 必填 | 说明 |
|
|
34
31
|
|------|------|------|
|
|
35
32
|
| `--summary <text>` | 否 | 日程标题。注意:标题中不应该出现时间、地点、人物信息 |
|
|
36
|
-
| `--start <time>` | 是 | 开始时间(ISO 8601
|
|
37
|
-
| `--end <time>` | 是 | 结束时间(ISO 8601
|
|
38
|
-
| `--description <
|
|
39
|
-
| `--attendee-ids <id_list>` | 否 | 参与人 ID 列表(逗号分隔)。支持用户(`ou_`)、群组(`oc_`)和会议室(`omm_`)。AI
|
|
33
|
+
| `--start <time>` | 是 | 开始时间(ISO 8601,**必须带时区偏移**,如 `2026-03-12T14:00+08:00`;不带偏移会按进程时区解析致偏移) |
|
|
34
|
+
| `--end <time>` | 是 | 结束时间(ISO 8601,**必须带时区偏移**) |
|
|
35
|
+
| `--description <markdown>` | 否 | 日程描述,统一使用此字段,格式为 **Markdown**。提供会议议程、活动内容、注意事项或链接等。支持加粗、斜体、下划线(`<u>...</u>`)、删除线、链接 `[文本](url)`、标题(`# ` 到 `### `,最多三级)、引用(`> `)、有序/无序列表、GFM 表格(`\| 列1 \| 列2 \|` + 分隔行 `\| --- \| --- \|`)、以及图片 ``(标准 Markdown 图片语法:远程 URL 原样使用;**本地图片路径**(相对路径、且位于当前工作目录内)会自动上传到云盘并在端上内联渲染——绝对路径或工作目录之外的路径会报错;端上已有图片读回为 Markdown 图片)。飞书文档 URL(直接粘贴裸链接,或写成 `[文本](url)`)会自动解析为内联文档,端上展示文档标题而非裸链接。支持 `@文件路径` 或 `-`(stdin)读取。**禁止**用 `***文本***` 同时表示加粗+斜体(端上会残留 `*`);应嵌套书写,如 `**<u>*~~文本~~*</u>**` 或 `*<u>**~~文本~~**</u>*`。|
|
|
36
|
+
| `--attendee-ids <id_list>` | 否 | 参与人 ID 列表(逗号分隔)。支持用户(`ou_`)、群组(`oc_`)和会议室(`omm_`)。AI 提取时请务必保留对应前缀。bot 可作为合法参会人,无需剔除 |
|
|
40
37
|
| `--calendar-id <id>` | 否 | 日历 ID(省略则使用主日历) |
|
|
41
|
-
| `--rrule <rrule>` | 否 | 重复日程的重复性规则,规则设置方式参考rfc5545
|
|
38
|
+
| `--rrule <rrule>` | 否 | 重复日程的重复性规则,规则设置方式参考rfc5545。示例值:"FREQ=DAILY;INTERVAL=1;UNTIL=<具体日期>" |
|
|
42
39
|
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
|
43
40
|
|
|
44
|
-
>
|
|
41
|
+
> 当用户表达'每周 X'、'每周重复'、'连续 N 周'时,必须使用 rrule 创建重复性日程,而非创建多个独立日程
|
|
42
|
+
> `--description` 行内同时加粗和斜体时,**禁止**写 `***文本***`(端上会残留 `*`);必须让 `**` 与 `*` 各自成对嵌套,例如 `**<u>*~~文本~~*</u>**` 或 `*<u>**~~文本~~**</u>*`。
|
|
45
43
|
> 自动设置 `attendee_ability: "can_modify_event"`,参会人可查看彼此并编辑日程。
|
|
46
44
|
> 自动设置 `free_busy_status: "busy"`,默认日程忙闲状态为忙碌。
|
|
47
45
|
> 自动设置 `reminders: [{"minutes": 5}]`,默认日程开始前 5 分钟提醒。
|
|
@@ -56,44 +54,17 @@ lark-cli calendar +create --summary "..." --start "..." --end "..." \
|
|
|
56
54
|
- 全天日程的开始日期和结束日期必须分别是日程开始的第一天和结束的最后一天。如果只有一天的话,开始日期和结束日期是相同。
|
|
57
55
|
|
|
58
56
|
```bash
|
|
59
|
-
# 第一步:创建日程(含高级参数)
|
|
60
|
-
## 查看完整参数定义
|
|
61
|
-
lark-cli schema calendar.events.create
|
|
62
|
-
## 创建日程
|
|
63
|
-
lark-cli calendar events create \
|
|
64
|
-
--params '{"calendar_id":"<CALENDAR_ID>"}' \
|
|
65
|
-
--data '{
|
|
66
|
-
"summary": "技术分享:CLI 架构设计",
|
|
67
|
-
"start_time": { "timestamp": "1741586400" },
|
|
68
|
-
"end_time": { "timestamp": "1741593600" }
|
|
69
|
-
}'
|
|
70
|
-
|
|
71
|
-
# 第二步:添加参会人(使用第一步返回的 calendar_id 和 event_id)
|
|
72
|
-
## 查看完整参数定义
|
|
73
|
-
lark-cli schema calendar.event.attendees.create
|
|
74
|
-
## 添加参会人
|
|
75
|
-
lark-cli calendar event.attendees create \
|
|
76
|
-
--as user \
|
|
77
|
-
--params '{"calendar_id":"<CALENDAR_ID>","event_id":"<EVENT_ID>"}' \
|
|
78
|
-
--data '{"attendees": [{"type": "user", "user_id": "ou_xxx"}]}'
|
|
79
|
-
|
|
80
57
|
## 添加需要审批的会议室(approval_reason 最大 200 字符)
|
|
81
58
|
lark-cli calendar event.attendees create \
|
|
82
59
|
--as user \
|
|
83
60
|
--params '{"calendar_id":"<CALENDAR_ID>","event_id":"<EVENT_ID>"}' \
|
|
84
61
|
--data '{"attendees": [{"type": "resource", "room_id": "omm_xxx", "approval_reason": "申请原因"}]}'
|
|
85
62
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
--params '{"calendar_id":"<CALENDAR_ID>","event_id":"<EVENT_ID>","need_notification":false}'
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
> 完整 API 命令的时间参数是 **Unix 秒字符串**(非 ISO 8601)。
|
|
96
|
-
> 当你手动拆成两步执行时,建议保留“失败后回滚删除”的第三步,避免遗留空日程。
|
|
63
|
+
完整 API 命令的关键差异:
|
|
64
|
+
- 时间参数是 **Unix 秒字符串**(非 ISO 8601)。换算时**禁止依赖容器默认时区**(常为 UTC,会导致 8 小时偏移),必须显式指定目标时区。
|
|
65
|
+
- 全天日程的开始日期和结束日期必须分别是日程开始的第一天和结束的最后一天;单日全天日程两者相同。
|
|
66
|
+
- 手动拆成“创建日程 + 添加参会人”两步时,若第二步失败,建议删除刚创建的空日程,避免遗留无参会人的日程。
|
|
67
|
+
- 设置会议 owner:`+create` 不支持,需用完整 API 命令在 `vchat.meeting_settings.owner_id` 中设置,且必须同时设置 `vchat.vc_type` 为 `vc`(代表该日程为 VC 视频会议)。仅当以应用(bot)身份在应用日历上操作时生效;owner 必须为用户身份(`ou_` open_id),不能为非用户或外部租户用户。
|
|
97
68
|
|
|
98
69
|
## 参会人类型
|
|
99
70
|
|
|
@@ -109,6 +80,5 @@ lark-cli calendar events delete \
|
|
|
109
80
|
|
|
110
81
|
## 参考
|
|
111
82
|
|
|
112
|
-
- [lark-calendar](../SKILL.md) --
|
|
113
|
-
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|
|
83
|
+
- [lark-calendar](../SKILL.md) -- skill 入口与路由
|
|
114
84
|
- [lark-calendar-suggestion](lark-calendar-suggestion.md) -- 根据非明确时间或一段时间范围,推荐多个可用时间块方案
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# calendar +room-find
|
|
2
2
|
|
|
3
|
-
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md)。
|
|
4
3
|
|
|
5
4
|
针对一个或多个时间块查找/搜索可用会议室。会议室是日程的一种资源型参与人,不能脱离日程单独预定。
|
|
6
5
|
|
|
7
|
-
需要的 scopes: ["calendar:calendar.free_busy:read"]
|
|
8
|
-
|
|
9
6
|
## 适用场景
|
|
10
7
|
|
|
11
8
|
- 已知一个或多个待选时间块,需要查找可用会议室
|
|
@@ -50,15 +47,16 @@ lark-cli calendar +room-find \
|
|
|
50
47
|
| `--city <text>` | 否 | 会议室所在城市强约束。**仅当**用户明确说出具体城市(如北京、上海)时才提取,**严禁**根据园区或楼宇名称自行联想或补全。 |
|
|
51
48
|
| `--building <text>` | 否 | 会议室所在楼宇强约束,承载城市以下、楼层以上的办公区/园区/楼栋描述。|
|
|
52
49
|
| `--floor <text>` | 否 | 仅用于筛选会议室所在楼层。应先做归一化,再传递规范值;例如 `2楼` / `二楼` / `2F` 统一为 `F2`。注意:此参数只筛选楼层,不可混入区域定位(如“A区”)或具体会议室号。 |
|
|
53
|
-
| `--room-name <text>` | 否 |
|
|
50
|
+
| `--room-name <text>` | 否 | 会议室名称约束,支持以**英文逗号**分隔传入多个名称。仅当用户明确提到会议室专名、会议室号或编号区间时使用。 |
|
|
54
51
|
| `--min-capacity <n>` | 否 | 会议室最小容纳人数。当用户明确参会人数或提出“至少容纳N人”等要求时,提取数字放入此参数,必须为正整数。 |
|
|
55
52
|
| `--max-capacity <n>` | 否 | 会议室最大容纳人数。用于过滤过大空间,必须为正整数。 |
|
|
56
|
-
| `--attendee-ids <id_list>` | 否 | 参会对象 ID 列表。支持用户 ID(`ou_` 前缀)和群组 ID(`oc_` 前缀),多个 ID
|
|
53
|
+
| `--attendee-ids <id_list>` | 否 | 参会对象 ID 列表。支持用户 ID(`ou_` 前缀)和群组 ID(`oc_` 前缀),多个 ID 以逗号分隔。**不要传入 bot 的 open_id**:bot 是虚拟身份,不占会议室席位、无会议室偏好,传入只会干扰推荐结果。 |
|
|
57
54
|
| `--event-rrule <rrule>` | 否 | 重复日程的重复性规则,规则设置方式参考rfc5545。**【⚠️注意:系统绝对不支持 COUNT,如需限制重复次数,必须转为 UNTIL】**。示例值:"FREQ=DAILY;INTERVAL=1" |
|
|
58
55
|
| `--timezone <tz>` | 否 | 对话中明确提及的预约日程所使用的时区(默认取用户设备时区,例如 `Asia/Shanghai`) |
|
|
59
56
|
|
|
60
57
|
## 规则
|
|
61
58
|
|
|
59
|
+
- 构造 `--attendee-ids` 前,先剔除 bot 参会人:bot 不占席位、无偏好,不应参与会议室推荐。
|
|
62
60
|
- 多个 `--slot` 会由 CLI 内部并发调用单时间块接口,再聚合成一次输出
|
|
63
61
|
- `+room-find` 的时间输入必须是**确定时间块**,不是时间区间搜索。
|
|
64
62
|
- 如果是重复性日程,必须校验返回中的 `reserve_until_time`(该会议室最晚可预约时间)是否覆盖 `event-rrule` 对应的重复范围。
|
|
@@ -67,7 +65,7 @@ lark-cli calendar +room-find \
|
|
|
67
65
|
- 同一语义槽位只保留一个规范值。例如用户说“2楼”,应转换为 `--floor "F2"`;**禁止**同时传 `2楼 F2` 这类重复楼层信息。
|
|
68
66
|
- 参数归类顺序应为:`city/building/floor` > `floor + room-name` 复合表达 > `room-name`。若短词更像楼层/区域定位(如 `2L`、`2F`),优先落到 `--floor`,不要默认落到 `--room-name`。像 `学清2层` 这种表达,通常拆为 `--building "学清"` 与 `--floor "F2"`。
|
|
69
67
|
- 对会议室名要做轻量归一化:`木星会议室` 应提取为 `--room-name "木星"`;`会议室 02` / `02会议室` 应提取为 `--room-name "02"`。
|
|
70
|
-
-
|
|
68
|
+
- 当用户表达"帮我约 XX 到 YY 号之间的会议室"或一次提及多个会议室名称时,应将所有目标名称用英文逗号拼接传入 `--room-name`。例如:
|
|
71
69
|
- "帮我约 16~20 号的会议室" → `--room-name "16,17,18,19,20"`
|
|
72
70
|
- "查下木星和火星是否有空" → `--room-name "木星,火星"`
|
|
73
71
|
- "看看 01、02、03 会议室" → `--room-name "01,02,03"`
|
|
@@ -90,9 +88,8 @@ lark-cli calendar +room-find \
|
|
|
90
88
|
```
|
|
91
89
|
|
|
92
90
|
> **AI 行为指导:**
|
|
93
|
-
> - **结构化展示时间块与会议室**:默认按“时间块 ->
|
|
91
|
+
> - **结构化展示时间块与会议室**:默认按“时间块 -> 会议室候选”的层级结构展示,并直接询问用户意向。
|
|
94
92
|
> - **`room_name` 必须逐字透传**:展示给用户的会议室名称,必须直接使用 CLI/API 返回的 `room_name` 原值。禁止提取楼层、会议室号、容量、视频能力后重组成新的名称,禁止意译、缩写、去前缀、去后缀,或仅保留"便于阅读"的摘要名。
|
|
95
|
-
> - **主动识别区间/多名称意图**:当用户提到"帮我约 XX 到 YY 号的会议室""XX~YY 之间的会议室"或一次列出多个会议室名称时,将所有目标名称展开为英文逗号分隔列表,传入 `--room-name`。例如"帮我约 16 到 20 号的会议室"应生成 `--room-name "16,17,18,19,20"`。
|
|
96
93
|
> - **重复日程要明确阻断原因与自动缩短**:若某候选会议室的 `reserve_until_time` 无法覆盖重复性日程,**必须**向用户明确说明该会议室最长可约至何时。若用户确认继续选用该会议室,你必须**自动将日程的重复规则结束时间缩短**至该 `reserve_until_time`,以防止会议室预约失败。不能直接按原规则继续。
|
|
97
94
|
> - **正确解释推荐结果**:如果返回结果与用户输入条件不完全字面一致,先说明底层可能返回邻近位置或相近条件的推荐候选,不要直接将其判定为异常。
|
|
98
95
|
> - **默认减少用户输入成本**:应主动引导用户不必一开始就提供很详细的会议室搜索条件。只要时间块已明确,用户直接表达“想约会议室”即可,先基于当前信息查询候选;只有在用户对结果不满意时,再引导其补充更具体的楼宇、楼层、会议室名或容量条件。
|
|
@@ -102,7 +99,7 @@ lark-cli calendar +room-find \
|
|
|
102
99
|
| 字段名 | 说明 |
|
|
103
100
|
| :--- | :--- |
|
|
104
101
|
| `room_id` | 会议室唯一标识,用于后续创建日程时添加为会议室参与人使用。 |
|
|
105
|
-
| `room_name` |
|
|
102
|
+
| `room_name` | 会议室名称,展示给用户时必须使用原值。 |
|
|
106
103
|
| `capacity` | 会议室最大容纳人数。 |
|
|
107
104
|
| `reserve_until_time` | 该会议室当前允许被预约到的最晚时间点,用于校验重复性日程是否超期。 |
|
|
108
105
|
|
|
@@ -110,4 +107,4 @@ lark-cli calendar +room-find \
|
|
|
110
107
|
|
|
111
108
|
- [lark-calendar-create](lark-calendar-create.md)
|
|
112
109
|
- [lark-calendar-suggestion](lark-calendar-suggestion.md)
|
|
113
|
-
- [lark-calendar](../SKILL.md) —
|
|
110
|
+
- [lark-calendar](../SKILL.md) — skill 入口与路由
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# calendar +rsvp
|
|
2
2
|
|
|
3
|
-
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
3
|
|
|
5
4
|
回复指定的日程,更新当前用户的 RSVP 状态(接受、拒绝或待定)。
|
|
6
5
|
|
|
7
|
-
需要的scopes: ["calendar:calendar.event:reply"]
|
|
8
|
-
|
|
9
6
|
## 命令
|
|
10
7
|
|
|
11
8
|
```bash
|
|
@@ -38,5 +35,4 @@ lark-cli calendar +rsvp --calendar-id cal_xxx --event-id evt_xxx --rsvp-status a
|
|
|
38
35
|
|
|
39
36
|
## 参考
|
|
40
37
|
|
|
41
|
-
- [lark-calendar](../SKILL.md) --
|
|
42
|
-
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|
|
38
|
+
- [lark-calendar](../SKILL.md) -- skill 入口与路由
|