@amaster.ai/pi-lark 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/skills/lark-approval/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 +25 -7
- package/skills/lark-apps/references/lark-apps-access-scope-set.md +1 -1
- package/skills/lark-apps/references/lark-apps-automation.md +164 -0
- package/skills/lark-apps/references/lark-apps-db-execute.md +186 -2
- package/skills/lark-apps/references/lark-apps-db.md +3 -3
- package/skills/lark-apps/references/lark-apps-get.md +43 -0
- package/skills/lark-apps/references/lark-apps-html-publish.md +7 -2
- package/skills/lark-apps/references/lark-apps-init.md +1 -2
- package/skills/lark-apps/references/lark-apps-openapi-key.md +1 -1
- package/skills/lark-apps/references/lark-apps-release-create.md +3 -1
- package/skills/lark-apps/references/lark-apps-role.md +133 -0
- package/skills/lark-base/SKILL.md +7 -3
- package/skills/lark-base/references/dashboard-block-data-config.md +28 -2
- package/skills/lark-base/references/lark-base-cell-value.md +9 -4
- 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 +9 -7
- package/skills/lark-base/references/lark-base-field-create.md +4 -2
- package/skills/lark-base/references/lark-base-field-json.md +52 -15
- package/skills/lark-base/references/lark-base-field-update.md +4 -2
- package/skills/lark-base/references/lark-base-view-set-filter.md +3 -1
- package/skills/lark-calendar/SKILL.md +89 -31
- package/skills/lark-calendar/references/lark-calendar-create.md +8 -39
- package/skills/lark-calendar/references/lark-calendar-room-find.md +5 -9
- package/skills/lark-calendar/references/lark-calendar-rsvp.md +1 -5
- package/skills/lark-calendar/references/lark-calendar-schedule-clear-time.md +59 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-fuzzy-time.md +88 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +67 -210
- package/skills/lark-calendar/references/lark-calendar-suggestion.md +1 -5
- package/skills/lark-calendar/references/lark-calendar-update.md +2 -7
- package/skills/lark-doc/SKILL.md +1 -1
- package/skills/lark-doc/references/lark-doc-fetch.md +4 -2
- package/skills/lark-doc/references/lark-doc-mindnote.md +17 -2
- package/skills/lark-doc/references/lark-doc-whiteboard.md +4 -0
- package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +35 -0
- package/skills/lark-doc/references/lark-doc-xml.md +3 -2
- package/skills/lark-drive/SKILL.md +20 -8
- package/skills/lark-drive/references/lark-drive-comment-location.md +16 -4
- package/skills/lark-drive/references/lark-drive-comments-guide.md +16 -8
- package/skills/lark-drive/references/lark-drive-delete.md +35 -11
- 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 +125 -0
- package/skills/lark-drive/references/lark-drive-member-add.md +1 -1
- package/skills/lark-drive/references/lark-drive-move.md +5 -3
- package/skills/lark-drive/references/lark-drive-permission-guide.md +12 -0
- 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-status.md +12 -14
- package/skills/lark-drive/references/lark-drive-task-result.md +58 -5
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +26 -20
- package/skills/lark-drive/references/lark-drive-workflow.md +2 -1
- package/skills/lark-event/SKILL.md +2 -1
- package/skills/lark-event/references/lark-event-approval.md +170 -0
- package/skills/lark-im/SKILL.md +5 -4
- 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-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 +29 -18
- package/skills/lark-slides/references/asset-planning.md +16 -5
- package/skills/lark-slides/references/examples.md +57 -227
- package/skills/lark-slides/references/iconpark.md +2 -2
- package/skills/lark-slides/references/lark-slides-create.md +21 -2
- package/skills/lark-slides/references/lark-slides-media-upload.md +0 -1
- package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +89 -0
- package/skills/lark-slides/references/lark-slides-replace-pages.md +1 -1
- package/skills/lark-slides/references/lark-slides-replace-slide.md +1 -1
- package/skills/lark-slides/references/lark-slides-screenshot.md +11 -8
- package/skills/lark-slides/references/lark-slides-whiteboard.md +31 -30
- package/skills/lark-slides/references/lark-slides-xml-get.md +100 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +9 -7
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +4 -4
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +12 -10
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +14 -13
- package/skills/lark-slides/references/planning-layer.md +32 -2
- package/skills/lark-slides/references/slides_chart_demo.xml +1 -0
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +8 -3
- package/skills/lark-slides/references/troubleshooting.md +7 -25
- package/skills/lark-slides/references/validation-checklist.md +18 -9
- package/skills/lark-slides/references/visual-planning.md +4 -3
- package/skills/lark-slides/references/xml-format-guide.md +65 -1
- package/skills/lark-slides/references/xml-schema-quick-ref.md +7 -3
- package/skills/lark-slides/scripts/xml_text_overlap_lint.py +907 -54
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +876 -5
- package/skills/lark-task/SKILL.md +1 -0
- package/skills/lark-task/references/lark-task-create.md +14 -1
- 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/references/lark-whiteboard-workflow.md +5 -2
- package/skills/lark-wiki/SKILL.md +7 -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-sheets/references/lark-sheets-core-operations.md +0 -103
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +0 -220
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
- `--json` 必须是 JSON 对象。
|
|
10
10
|
- 顶层统一使用:`type` + `name` + 类型特有字段。
|
|
11
11
|
- 所有字段类型都支持可选 `description`;支持纯文本,也支持 Markdown 链接。
|
|
12
|
+
- 字段默认值使用 `default_value`,直接传对应 CellValue;支持范围只有 `text`、`number`、静态 `select`、`datetime`、`user`。清空默认值传 `null`;省略表示创建时不设置、更新时不修改。
|
|
12
13
|
- 不要使用旧结构:`field_name`、`property`、`ui_type`、数字枚举 `type`。
|
|
13
14
|
- `+field-update` 使用同样的字段 JSON 结构,但语义是 `PUT`;这是高风险写入操作,建议先 `+field-get` 再按目标状态全量提交,并带 `--yes`。
|
|
14
15
|
- `type=formula` 或 `type=lookup` 创建/更新前,必须先读对应 guide。
|
|
@@ -27,12 +28,12 @@
|
|
|
27
28
|
|
|
28
29
|
| 类型 | 最小必填字段 | 常见补充字段 |
|
|
29
30
|
|------|--------------|-------------|
|
|
30
|
-
| `text` | `type` `name` | `style.type` |
|
|
31
|
-
| `number` | `type` `name` | `style` |
|
|
32
|
-
| `select` | `type` `name` | `multiple` + `options`,或 `multiple` + `dynamic_options_source` |
|
|
33
|
-
| `datetime` | `type` `name` | `style.format` |
|
|
31
|
+
| `text` | `type` `name` | `style.type` `default_value` |
|
|
32
|
+
| `number` | `type` `name` | `style` `default_value` |
|
|
33
|
+
| `select` | `type` `name` | `multiple` + `options` + 静态 `default_value`,或 `multiple` + `dynamic_options_source` |
|
|
34
|
+
| `datetime` | `type` `name` | `style.format` `default_value` |
|
|
34
35
|
| `created_at` / `updated_at` | `type` `name` | `style.format` |
|
|
35
|
-
| `user` / `group_chat` | `type` `name` | `multiple` |
|
|
36
|
+
| `user` / `group_chat` | `type` `name` | `multiple`;仅 `user` 支持 `default_value` |
|
|
36
37
|
| `created_by` / `updated_by` | `type` `name` | 无 |
|
|
37
38
|
| `link` | `type` `name` `link_table` | `bidirectional` `bidirectional_link_field_name` |
|
|
38
39
|
| `formula` | `type` `name` `expression` | 无 |
|
|
@@ -47,31 +48,37 @@
|
|
|
47
48
|
### 3.1 text
|
|
48
49
|
|
|
49
50
|
文本字段;电话、超链接、邮箱、条码也都属于 `text`,通过 `style.type` 区分。
|
|
51
|
+
支持 `default_value`:静态 Markdown 文本字符串;`phone` style 必须是合法电话号码;`url` style 传一个 Markdown 链接或裸 URL;`email` style 必须是合法邮箱字符串,不要传 Markdown 链接或 `mailto:`。
|
|
50
52
|
|
|
51
53
|
最小写法(默认 `style.type` 为 `plain`):
|
|
52
54
|
|
|
53
55
|
```json
|
|
54
56
|
{
|
|
55
57
|
"type": "text",
|
|
56
|
-
"name": "标题"
|
|
58
|
+
"name": "标题",
|
|
59
|
+
"default_value": "默认标题"
|
|
57
60
|
}
|
|
58
61
|
```
|
|
59
62
|
|
|
60
63
|
常用写法:
|
|
61
64
|
|
|
65
|
+
默认值可以是 Markdown 文本
|
|
62
66
|
```json
|
|
63
67
|
{
|
|
64
68
|
"type": "text",
|
|
65
69
|
"name": "标题",
|
|
66
|
-
"description": "主标题字段"
|
|
70
|
+
"description": "主标题字段",
|
|
71
|
+
"default_value": "未命名"
|
|
67
72
|
}
|
|
68
73
|
```
|
|
69
74
|
|
|
75
|
+
`style.type=phone` 时默认值是合法电话号码字符串。
|
|
70
76
|
```json
|
|
71
77
|
{
|
|
72
78
|
"type": "text",
|
|
73
79
|
"name": "联系电话",
|
|
74
|
-
"style": { "type": "phone" }
|
|
80
|
+
"style": { "type": "phone" },
|
|
81
|
+
"default_value": "+8613800000000"
|
|
75
82
|
}
|
|
76
83
|
```
|
|
77
84
|
|
|
@@ -79,7 +86,17 @@
|
|
|
79
86
|
{
|
|
80
87
|
"type": "text",
|
|
81
88
|
"name": "官网",
|
|
82
|
-
"style": { "type": "url" }
|
|
89
|
+
"style": { "type": "url" },
|
|
90
|
+
"default_value": "[官网](https://example.com)"
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"type": "text",
|
|
97
|
+
"name": "邮箱",
|
|
98
|
+
"style": { "type": "email" },
|
|
99
|
+
"default_value": "owner@example.com"
|
|
83
100
|
}
|
|
84
101
|
```
|
|
85
102
|
|
|
@@ -88,13 +105,15 @@
|
|
|
88
105
|
### 3.2 number
|
|
89
106
|
|
|
90
107
|
数字字段;货币、进度、评分都属于 `number`,通过 `style.type` 区分。
|
|
108
|
+
支持 `default_value`:静态 JSON number;所有 number style 都按这个规则写。
|
|
91
109
|
|
|
92
110
|
最小写法(默认 `style.type` 为 `plain`):
|
|
93
111
|
|
|
94
112
|
```json
|
|
95
113
|
{
|
|
96
114
|
"type": "number",
|
|
97
|
-
"name": "工时"
|
|
115
|
+
"name": "工时",
|
|
116
|
+
"default_value": 8
|
|
98
117
|
}
|
|
99
118
|
```
|
|
100
119
|
|
|
@@ -118,7 +137,8 @@
|
|
|
118
137
|
"precision": 2,
|
|
119
138
|
"percentage": false,
|
|
120
139
|
"thousands_separator": true
|
|
121
|
-
}
|
|
140
|
+
},
|
|
141
|
+
"default_value": 8
|
|
122
142
|
}
|
|
123
143
|
```
|
|
124
144
|
|
|
@@ -151,7 +171,8 @@
|
|
|
151
171
|
{
|
|
152
172
|
"type": "number",
|
|
153
173
|
"name": "完成度",
|
|
154
|
-
"style": { "type": "progress", "percentage": true, "color": "Blue" }
|
|
174
|
+
"style": { "type": "progress", "percentage": true, "color": "Blue" },
|
|
175
|
+
"default_value": 0.65
|
|
155
176
|
}
|
|
156
177
|
```
|
|
157
178
|
|
|
@@ -180,6 +201,7 @@
|
|
|
180
201
|
#### 静态选项
|
|
181
202
|
|
|
182
203
|
支持字段:`multiple`、`options`
|
|
204
|
+
支持 `default_value`:静态选项名数组;即使 `multiple=false` 也写数组,如 `["Todo"]`。
|
|
183
205
|
|
|
184
206
|
默认值 / 约束:
|
|
185
207
|
- `multiple` 默认 `false`
|
|
@@ -189,12 +211,14 @@
|
|
|
189
211
|
- `options[].hue` 可用:`Red`、`Orange`、`Yellow`、`Lime`、`Green`、`Turquoise`、`Wathet`、`Blue`、`Carmine`、`Purple`、`Gray` 缺省值为 `Blue`
|
|
190
212
|
- `options[].lightness` 可用:`Lighter`、`Light`、`Standard`、`Dark`、`Darker` 缺省值为 `Lighter`
|
|
191
213
|
- 选项里没有 `id`,只有 `name`。
|
|
214
|
+
- 支持 `default_value` 配置:填选项名数组。
|
|
192
215
|
|
|
193
216
|
```json
|
|
194
217
|
{
|
|
195
218
|
"type": "select",
|
|
196
219
|
"name": "状态",
|
|
197
220
|
"multiple": false,
|
|
221
|
+
"default_value": ["Todo"],
|
|
198
222
|
"options": [
|
|
199
223
|
{ "name": "Todo", "hue": "Blue", "lightness": "Lighter" },
|
|
200
224
|
{ "name": "Done", "hue": "Green", "lightness": "Light" }
|
|
@@ -205,6 +229,7 @@
|
|
|
205
229
|
#### 动态选项
|
|
206
230
|
|
|
207
231
|
支持字段:`multiple`、`dynamic_options_source`
|
|
232
|
+
动态选项不支持 `default_value`。
|
|
208
233
|
|
|
209
234
|
默认值 / 约束:
|
|
210
235
|
- `multiple` 默认 `false`
|
|
@@ -213,6 +238,7 @@
|
|
|
213
238
|
- `dynamic_options_source.field_id` 填来源字段 id 或字段名
|
|
214
239
|
- `dynamic_options_source` 仅创建支持;更新已有字段时不要传
|
|
215
240
|
- 引用选项条件 / 级联筛选条件:这个功能在 Base 前端支持,属于 UI-only 属性,OpenAPI 里不支持,CLI 不能读取、创建或更新;不要根据接口返回缺失判断未配置
|
|
241
|
+
- 动态选项不支持配置 `default_value`。
|
|
216
242
|
|
|
217
243
|
```json
|
|
218
244
|
{
|
|
@@ -229,13 +255,15 @@
|
|
|
229
255
|
### 3.4 datetime
|
|
230
256
|
|
|
231
257
|
手动填写的日期/时间字段。系统时间用 `created_at` / `updated_at`。
|
|
258
|
+
支持 `default_value`:静态时间字符串,或 `{ "$slot": "record_created_time" }`。`datetime + record_created_time` 是自动填充可编辑单元格;`created_at` 是只读创建时间元信息。
|
|
232
259
|
|
|
233
260
|
最小写法:
|
|
234
261
|
|
|
235
262
|
```json
|
|
236
263
|
{
|
|
237
264
|
"type": "datetime",
|
|
238
|
-
"name": "截止时间"
|
|
265
|
+
"name": "截止时间",
|
|
266
|
+
"default_value": "2026-03-24 10:00:00"
|
|
239
267
|
}
|
|
240
268
|
```
|
|
241
269
|
|
|
@@ -251,7 +279,8 @@
|
|
|
251
279
|
{
|
|
252
280
|
"type": "datetime",
|
|
253
281
|
"name": "截止时间",
|
|
254
|
-
"style": { "format": "yyyy-MM-dd HH:mm" }
|
|
282
|
+
"style": { "format": "yyyy-MM-dd HH:mm" },
|
|
283
|
+
"default_value": { "$slot": "record_created_time" }
|
|
255
284
|
}
|
|
256
285
|
```
|
|
257
286
|
|
|
@@ -276,12 +305,19 @@
|
|
|
276
305
|
### 3.6 user / group_chat
|
|
277
306
|
|
|
278
307
|
人员字段和群字段都支持 `multiple`。
|
|
308
|
+
`user` 支持 `default_value`:人员 CellValue 数组,元素可用 `{ "id": "ou_xxx" }` 或 `{ "$slot": "current_user" }`;不要猜用户 ID。`group_chat` 不支持默认值。
|
|
279
309
|
|
|
280
310
|
默认值 / 约束:
|
|
281
311
|
- `multiple` 默认 `true`
|
|
312
|
+
- `user` 字段支持 `default_value` 配置,`group_chat` 字段不支持 `default_value` 配置。
|
|
282
313
|
|
|
283
314
|
```json
|
|
284
|
-
{
|
|
315
|
+
{
|
|
316
|
+
"type": "user",
|
|
317
|
+
"name": "负责人",
|
|
318
|
+
"multiple": true,
|
|
319
|
+
"default_value": [{ "$slot": "current_user" }, { "id": "ou_xxx" }]
|
|
320
|
+
}
|
|
285
321
|
```
|
|
286
322
|
|
|
287
323
|
```json
|
|
@@ -488,3 +524,4 @@ Object(对象字段)、Button(按钮字段)、Stage(流程字段)暂
|
|
|
488
524
|
- `number` 的精度、货币、进度、评分配置都放在 `style` 下,不要写顶层 `precision`。
|
|
489
525
|
- `datetime` 是手动日期字段;系统时间请改用 `created_at` / `updated_at`。
|
|
490
526
|
- `formula` / `lookup` 没读 guide 前不要直接写。
|
|
527
|
+
- 只有 `text`、`number`、静态 `select`、`datetime`、`user` 支持 `default_value`;清空统一传 `"default_value": null`。其他字段类型不要配置默认值。
|
|
@@ -11,14 +11,14 @@ lark-cli base +field-update \
|
|
|
11
11
|
--base-token <base_token> \
|
|
12
12
|
--table-id <table_id> \
|
|
13
13
|
--field-id <field_id> \
|
|
14
|
-
--json '{"name":"状态","type":"select","multiple":false,"options":[{"name":"Todo","hue":"Blue","lightness":"Lighter"},{"name":"Doing","hue":"Orange","lightness":"Light"},{"name":"Done","hue":"Green","lightness":"Light"}]}' \
|
|
14
|
+
--json '{"name":"状态","type":"select","multiple":false,"default_value":["Doing"],"options":[{"name":"Todo","hue":"Blue","lightness":"Lighter"},{"name":"Doing","hue":"Orange","lightness":"Light"},{"name":"Done","hue":"Green","lightness":"Light"}]}' \
|
|
15
15
|
--yes
|
|
16
16
|
|
|
17
17
|
lark-cli base +field-update \
|
|
18
18
|
--base-token <base_token> \
|
|
19
19
|
--table-id <table_id> \
|
|
20
20
|
--field-id <field_id> \
|
|
21
|
-
--json '{"name":"负责人","type":"user","multiple":false,"description":"用于标记记录的直接负责人"}' \
|
|
21
|
+
--json '{"name":"负责人","type":"user","multiple":false,"default_value":null,"description":"用于标记记录的直接负责人"}' \
|
|
22
22
|
--yes
|
|
23
23
|
```
|
|
24
24
|
|
|
@@ -47,6 +47,7 @@ PUT /open-apis/base/v3/bases/:base_token/tables/:table_id/fields/:field_id
|
|
|
47
47
|
- `--json` 必须是 **JSON 对象**,顶层直接传字段定义。
|
|
48
48
|
- 更新语义是 `PUT`(全量字段配置更新),不要只传零散片段;至少显式包含 `name`、`type`,并补齐该类型所需关键配置。
|
|
49
49
|
- 所有字段类型都支持可选 `description`;支持纯文本,也支持 Markdown 链接。
|
|
50
|
+
- 需要字段默认值时传 `default_value`,直接使用字段对应 CellValue;传 `null` 清空,省略表示不修改现有默认值。完整规则见 [lark-base-field-json.md](lark-base-field-json.md)。
|
|
50
51
|
- `select` 更新时:`options` 仍按对象数组传,避免混入无效字段。
|
|
51
52
|
- `link` 更新限制:
|
|
52
53
|
- 不能把非 `link` 字段改成 `link`,也不能把 `link` 改成非 `link`。
|
|
@@ -59,6 +60,7 @@ PUT /open-apis/base/v3/bases/:base_token/tables/:table_id/fields/:field_id
|
|
|
59
60
|
"name": "状态",
|
|
60
61
|
"type": "select",
|
|
61
62
|
"multiple": false,
|
|
63
|
+
"default_value": ["Doing"],
|
|
62
64
|
"options": [
|
|
63
65
|
{ "name": "Todo", "hue": "Blue", "lightness": "Lighter" },
|
|
64
66
|
{ "name": "Doing", "hue": "Orange", "lightness": "Light" },
|
|
@@ -174,11 +174,13 @@ lark-cli base +view-set-filter \
|
|
|
174
174
|
|
|
175
175
|
- 先读取当前筛选配置,理解现有 `logic` 和 `conditions` 的组合关系;只替换用户要求变更的条件,未提到的条件默认保留。
|
|
176
176
|
- 优先传字段 id,不要依赖字段名。
|
|
177
|
+
- 拿不准字段 type 或真实取值时,先用 `+field-list` / `+record-list` 确认,再按对应字段类型的 value 写法构造条件;别按字段名猜 type、凭印象猜枚举取值。
|
|
177
178
|
- 需要清空全部筛选时,直接传 `{"conditions":[]}`。
|
|
178
179
|
|
|
179
180
|
## 7. 易错点
|
|
180
181
|
|
|
181
|
-
-
|
|
182
|
+
- 本 tuple DSL 由 `+view-set-filter` 与 `+record-list` / `+record-search` 的 `--filter-json` 共用;不要写成 `+data-query` 的对象风格 `{"field_name":...,"operator":...}`(会报校验失败)。
|
|
183
|
+
- 标量类字段(`text` / `number` / `datetime` 等)的 value 用标量、别包成数组(各类型详见 value 写法一节)。
|
|
182
184
|
- `user` / `group_chat` / `link` 不要写成单个标量。
|
|
183
185
|
- `empty` / `non_empty` 不要硬塞无意义的 value。
|
|
184
186
|
- 日期条件稳定写法用 `ExactDate(...)` 或 `Today` / `Yesterday` / `Tomorrow`。
|
|
@@ -12,7 +12,7 @@ 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
|
|
|
@@ -30,26 +30,80 @@ lark-cli calendar +agenda --as user
|
|
|
30
30
|
|
|
31
31
|
| Shortcut | 说明 |
|
|
32
32
|
|----------|------|
|
|
33
|
-
|
|
|
34
|
-
| [`+search-event`](references/lark-calendar-search-event.md) | 按关键词、时间范围和参会人搜索日程, 仅返回 日程ID/主题/时间等信息,详情需走 `events get` |
|
|
33
|
+
| `+agenda` | 查看日程安排(默认今天) |
|
|
35
34
|
| [`+meeting`](references/lark-calendar-meeting.md) | 通过日程事件 ID 获取关联的视频会议信息(meeting_id、meeting_note),日程开过视频会议才会有meeting_id |
|
|
36
35
|
| [`+create`](references/lark-calendar-create.md) | 创建日程并邀请参会人(ISO 8601 时间) |
|
|
37
36
|
| [`+update`](references/lark-calendar-update.md) | 更新既有日程字段,或独立增量添加/移除参会人和会议室 |
|
|
38
|
-
|
|
|
37
|
+
| `+freebusy` | 查询用户主日历的忙闲信息和 RSVP 状态(纯查询场景;预约场景走 `+suggestion`) |
|
|
39
38
|
| [`+room-find`](references/lark-calendar-room-find.md) | 针对一个或多个**明确的**时间块查找可用会议室(无明确时间时禁止直接调用,需先走 +suggestion) |
|
|
40
39
|
| [`+rsvp`](references/lark-calendar-rsvp.md) | 回复日程(接受/拒绝/待定) |
|
|
41
40
|
| [`+suggestion`](references/lark-calendar-suggestion.md) | 根据非明确时间或一段时间范围,推荐多个可用时间块方案 |
|
|
42
41
|
|
|
42
|
+
### `+get` — 单日程详情
|
|
43
|
+
|
|
44
|
+
通过 `calendar_id` + `event_id` 获取**单个日程**详情。
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# calendar_id不传,默认primary
|
|
48
|
+
lark-cli calendar +get --calendar-id <calendar_id> --event-id <event_id>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### `+search-event` — 按关键词、时间范围和参会人搜索日程
|
|
52
|
+
|
|
53
|
+
仅返回基础字段(`event_id`/`summary`/`start`/`end` 等),需要详情请走 `+get`。
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# query 按关键词 可选
|
|
57
|
+
# start/end 按时间范围(ISO 8601 或 YYYY-MM-DD)可选
|
|
58
|
+
# attendee-ids 按参会人(自动识别 ou_ 用户 / oc_ 群聊 / omm_ 会议室前缀)可选
|
|
59
|
+
# page-token 分页游标,用于继续翻页 可选
|
|
60
|
+
# page-size 每页数量,默认 30 可选
|
|
61
|
+
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
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### `+agenda` — 查看近期日程安排
|
|
65
|
+
|
|
66
|
+
默认查询当天。结果应整理为按日期分组、按开始时间升序的易读时间线。
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# start/end 时间范围(ISO 8601 / YYYY-MM-DD / Unix 秒),均可选;默认当天
|
|
70
|
+
# calendar-id 日历 ID(默认primary)可选
|
|
71
|
+
lark-cli calendar +agenda --start 2026-03-10 --end 2026-03-17 --calendar-id <calendar_id>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
注意:
|
|
75
|
+
- 已取消的日程自动过滤;无日程时直接告知"日程清空"。
|
|
76
|
+
- 时间范围超过 40 天会自动拆分查询并合并结果。
|
|
77
|
+
|
|
78
|
+
### `+freebusy` — 查询主日历忙闲时段和 RSVP 状态
|
|
79
|
+
|
|
80
|
+
仅返回忙碌时段起止时间,不含日程标题等隐私信息;其他订阅日历不在范围内。
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# start/end 时间范围(ISO 8601 / YYYY-MM-DD / Unix 秒),均可选;默认当天
|
|
84
|
+
# user-id 目标用户 open_id(ou_ 前缀)可选;默认当前登录用户,bot 身份必须显式指定
|
|
85
|
+
lark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-12 --user-id ou_xxx
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
用法提示:
|
|
89
|
+
- **仅判断是否有空** → `+freebusy`;**需要日程详情** → `+agenda`。
|
|
90
|
+
- 检查多人可用性:分别调用并对比,找共同空闲。
|
|
91
|
+
- 预约/改约场景下,调用规则(参与人过多、含群组、来自 `+suggestion` 等)详见 [schedule-clear-time.md § 查询忙闲](references/lark-calendar-schedule-clear-time.md#2-查询忙闲)。
|
|
92
|
+
|
|
43
93
|
## 前置条件路由
|
|
44
94
|
|
|
45
95
|
| 场景 | 前置要求 |
|
|
46
96
|
|------|----------|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
97
|
+
| 预约日程/会议、调整时间、查会议室 | 先读 [lark-calendar-schedule-meeting.md](references/lark-calendar-schedule-meeting.md) |
|
|
98
|
+
| 仅编辑字段(标题/描述)或增删参会人 | 先定位 `event_id`,再读 [lark-calendar-update.md](references/lark-calendar-update.md) |
|
|
99
|
+
| 编辑已有日程(涉及时间或会议室) | 先定位目标日程 `event_id`;若是重复性日程,必须定位到具体实例的 `event_id`(禁止使用原重复日程 ID) |
|
|
49
100
|
| 编辑/删除重复性日程 | 先读 [重复性日程操作规范](references/lark-calendar-recurring.md),按操作范围(仅此次/全部/此次及后续)执行 |
|
|
50
|
-
| 删除/修改后验证 | 等待 2 秒再查询(API 最终一致性),不要告知用户你等待了 |
|
|
51
101
|
| 调用任何 Shortcut | 先读其对应 reference 文档 |
|
|
52
102
|
|
|
103
|
+
## 写操作反馈
|
|
104
|
+
|
|
105
|
+
创建、更新、删除、RSVP 等写操作完成后,直接基于命令返回结果反馈用户;不要为了“确认是否生效”主动发起二次查询。只有用户明确要求复查,或命令返回信息不足以回答用户问题时,才需要再查询。
|
|
106
|
+
|
|
53
107
|
## 核心概念
|
|
54
108
|
|
|
55
109
|
- **日程实例(Instance)**:重复性日程展开后的具体时间实例。「仅此次」操作时使用具体实例的 `event_id`;「全部」或「此次及后续」操作时需对原重复性日程操作(使用原日程 `event_id`),并按需处理例外。
|
|
@@ -72,7 +126,8 @@ lark-cli calendar +agenda --as user
|
|
|
72
126
|
| 按关键词搜索日程 | 本 skill(`+search-event`) |
|
|
73
127
|
| 从日程获取关联的视频会议 ID 或用户绑定的会议纪要文档 | 本 skill(`+meeting`) |
|
|
74
128
|
| 从日程进一步拿 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
|
-
|
|
|
129
|
+
| 预约/改约日程、调整时间、添加/更换会议室、查会议室 | 先判断新建 vs 编辑,再进入 [schedule-meeting 工作流](references/lark-calendar-schedule-meeting.md) |
|
|
130
|
+
| 仅编辑日程字段(标题/描述)或增删参会人(不涉及时间和会议室) | 先定位 `event_id`,再读 [+update](references/lark-calendar-update.md) 执行变更 |
|
|
76
131
|
| 编辑/删除重复性日程(「改这个重复日程」「删掉后面的」「全部取消」等) | 先读 [重复性日程操作规范](references/lark-calendar-recurring.md),确认操作范围后执行 |
|
|
77
132
|
|
|
78
133
|
## 任务类型分流
|
|
@@ -90,7 +145,7 @@ lark-cli calendar +agenda --as user
|
|
|
90
145
|
|
|
91
146
|
## 会议室规则
|
|
92
147
|
|
|
93
|
-
- 凡是"预定/查询/搜索可用会议室",都必须进入 [schedule-meeting 工作流](references/lark-calendar-schedule-meeting.md)。
|
|
148
|
+
- 凡是"预定/查询/搜索可用会议室",都必须进入 [schedule-meeting 工作流](references/lark-calendar-schedule-meeting.md),会议室参数规范详见 [+room-find](references/lark-calendar-room-find.md)。
|
|
94
149
|
- `+room-find` 的时间输入必须是确定时间块,不能是时间区间搜索。
|
|
95
150
|
- 用户仅要求"查会议室"但未提供明确时间时,必须先调用 `+suggestion` 获取可用时间块,再将时间块交给 `+room-find`。严禁猜测时间盲目调用。
|
|
96
151
|
- 编辑已有日程时,"添加会议室"默认是增量语义,保留已有会议室;只有用户明确说"更换会议室""移除会议室"时才删除旧会议室。
|
|
@@ -98,42 +153,45 @@ lark-cli calendar +agenda --as user
|
|
|
98
153
|
## API Resources
|
|
99
154
|
|
|
100
155
|
```bash
|
|
156
|
+
# 通用调用格式
|
|
101
157
|
lark-cli calendar <resource> <method> [flags]
|
|
102
|
-
```
|
|
103
158
|
|
|
104
|
-
|
|
159
|
+
# 查询用户主日历
|
|
160
|
+
lark-cli calendar calendars primary
|
|
105
161
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- `search` — 搜索日历
|
|
162
|
+
# 获取日程分享链接
|
|
163
|
+
lark-cli calendar events share_info --calendar-id <calendar_id> --event-id <event_id>
|
|
164
|
+
|
|
165
|
+
# 删除日程
|
|
166
|
+
lark-cli calendar events delete --calendar-id <calendar_id> --event-id <event_id>
|
|
167
|
+
```
|
|
113
168
|
|
|
114
|
-
|
|
169
|
+
> `calendar_id` 可以直接传 `primary`,代表当前调用身份的主日历 ID。
|
|
115
170
|
|
|
116
|
-
|
|
117
|
-
- `create` — 添加日程参与人
|
|
118
|
-
- `list` — 获取日程参与人列表
|
|
171
|
+
### 查询资源的方法列表以及方法的使用方式
|
|
119
172
|
|
|
120
|
-
|
|
173
|
+
- 列出某资源下的方法:`lark-cli calendar <resource> -h`
|
|
174
|
+
- 查看方法的cli flag:`lark-cli calendar <resource> <method> -h`
|
|
175
|
+
- 查看方法API参数:`lark-cli schema calendar.<resource>.<method>`
|
|
121
176
|
|
|
122
|
-
|
|
123
|
-
- `delete` — 删除日程
|
|
124
|
-
- `get` — 获取日程
|
|
125
|
-
- `instance_view` — 查询日程视图
|
|
126
|
-
- `patch` — 更新日程
|
|
127
|
-
- `share_info` — 获取日程分享链接
|
|
177
|
+
`<resource>` 为 `calendars`(日历本身)/ `events`(日程)/ `event.attendees`(参与人)/ `freebusys`(忙闲)。例:`lark-cli schema calendar.events.delete`。
|
|
128
178
|
|
|
129
|
-
|
|
179
|
+
## 常用其他域命令
|
|
130
180
|
|
|
131
|
-
|
|
181
|
+
```bash
|
|
182
|
+
# 搜索用户,更多参数详见 lark-contact
|
|
183
|
+
lark-cli contact +search-user --query <query> --as user
|
|
184
|
+
|
|
185
|
+
# 搜索群聊,更多参数详见 lark-im
|
|
186
|
+
lark-cli im +chat-search --query <query> --as user
|
|
187
|
+
```
|
|
132
188
|
|
|
133
189
|
## 不在本 skill 范围
|
|
134
190
|
|
|
135
191
|
- 查询过去的视频会议记录 → [lark-vc](../lark-vc/SKILL.md)
|
|
136
192
|
- 待办任务管理 → [lark-task](../lark-task/SKILL.md)
|
|
193
|
+
- 通讯录 → [lark-contact](../lark-contact/SKILL.md)
|
|
194
|
+
- 即时通讯 → [lark-im](../lark-im/SKILL.md)
|
|
137
195
|
- 会议室物理设施管理 → 管理员后台
|
|
138
196
|
|
|
139
197
|
**注意(强制性):**
|
|
@@ -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
|
|
@@ -38,10 +35,10 @@ lark-cli calendar +create --summary "..." --start "..." --end "..." \
|
|
|
38
35
|
| `--description <text>` | 否 | 日程详细描述。提供会议议程、活动内容、注意事项或链接等。与 summary 配合使用,仅关注当前日程信息 |
|
|
39
36
|
| `--attendee-ids <id_list>` | 否 | 参与人 ID 列表(逗号分隔)。支持用户(`ou_`)、群组(`oc_`)和会议室(`omm_`)。AI 提取时请务必保留对应前缀 |
|
|
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 创建重复性日程,而非创建多个独立日程
|
|
45
42
|
> 自动设置 `attendee_ability: "can_modify_event"`,参会人可查看彼此并编辑日程。
|
|
46
43
|
> 自动设置 `free_busy_status: "busy"`,默认日程忙闲状态为忙碌。
|
|
47
44
|
> 自动设置 `reminders: [{"minutes": 5}]`,默认日程开始前 5 分钟提醒。
|
|
@@ -56,44 +53,17 @@ lark-cli calendar +create --summary "..." --start "..." --end "..." \
|
|
|
56
53
|
- 全天日程的开始日期和结束日期必须分别是日程开始的第一天和结束的最后一天。如果只有一天的话,开始日期和结束日期是相同。
|
|
57
54
|
|
|
58
55
|
```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
56
|
## 添加需要审批的会议室(approval_reason 最大 200 字符)
|
|
81
57
|
lark-cli calendar event.attendees create \
|
|
82
58
|
--as user \
|
|
83
59
|
--params '{"calendar_id":"<CALENDAR_ID>","event_id":"<EVENT_ID>"}' \
|
|
84
60
|
--data '{"attendees": [{"type": "resource", "room_id": "omm_xxx", "approval_reason": "申请原因"}]}'
|
|
85
61
|
|
|
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
|
-
> 当你手动拆成两步执行时,建议保留“失败后回滚删除”的第三步,避免遗留空日程。
|
|
62
|
+
完整 API 命令的关键差异:
|
|
63
|
+
- 时间参数是 **Unix 秒字符串**(非 ISO 8601)。
|
|
64
|
+
- 全天日程的开始日期和结束日期必须分别是日程开始的第一天和结束的最后一天;单日全天日程两者相同。
|
|
65
|
+
- 手动拆成“创建日程 + 添加参会人”两步时,若第二步失败,建议删除刚创建的空日程,避免遗留无参会人的日程。
|
|
66
|
+
- 设置会议 owner:`+create` 不支持,需用完整 API 命令在 `vchat.meeting_settings.owner_id` 中设置,且必须同时设置 `vchat.vc_type` 为 `vc`(代表该日程为 VC 视频会议)。仅当以应用(bot)身份在应用日历上操作时生效;owner 必须为用户身份(`ou_` open_id),不能为非用户或外部租户用户。
|
|
97
67
|
|
|
98
68
|
## 参会人类型
|
|
99
69
|
|
|
@@ -109,6 +79,5 @@ lark-cli calendar events delete \
|
|
|
109
79
|
|
|
110
80
|
## 参考
|
|
111
81
|
|
|
112
|
-
- [lark-calendar](../SKILL.md) --
|
|
113
|
-
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|
|
82
|
+
- [lark-calendar](../SKILL.md) -- skill 入口与路由
|
|
114
83
|
- [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,7 +47,7 @@ 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
53
|
| `--attendee-ids <id_list>` | 否 | 参会对象 ID 列表。支持用户 ID(`ou_` 前缀)和群组 ID(`oc_` 前缀),多个 ID 以逗号分隔。 |
|
|
@@ -67,7 +64,7 @@ lark-cli calendar +room-find \
|
|
|
67
64
|
- 同一语义槽位只保留一个规范值。例如用户说“2楼”,应转换为 `--floor "F2"`;**禁止**同时传 `2楼 F2` 这类重复楼层信息。
|
|
68
65
|
- 参数归类顺序应为:`city/building/floor` > `floor + room-name` 复合表达 > `room-name`。若短词更像楼层/区域定位(如 `2L`、`2F`),优先落到 `--floor`,不要默认落到 `--room-name`。像 `学清2层` 这种表达,通常拆为 `--building "学清"` 与 `--floor "F2"`。
|
|
69
66
|
- 对会议室名要做轻量归一化:`木星会议室` 应提取为 `--room-name "木星"`;`会议室 02` / `02会议室` 应提取为 `--room-name "02"`。
|
|
70
|
-
-
|
|
67
|
+
- 当用户表达"帮我约 XX 到 YY 号之间的会议室"或一次提及多个会议室名称时,应将所有目标名称用英文逗号拼接传入 `--room-name`。例如:
|
|
71
68
|
- "帮我约 16~20 号的会议室" → `--room-name "16,17,18,19,20"`
|
|
72
69
|
- "查下木星和火星是否有空" → `--room-name "木星,火星"`
|
|
73
70
|
- "看看 01、02、03 会议室" → `--room-name "01,02,03"`
|
|
@@ -90,9 +87,8 @@ lark-cli calendar +room-find \
|
|
|
90
87
|
```
|
|
91
88
|
|
|
92
89
|
> **AI 行为指导:**
|
|
93
|
-
> - **结构化展示时间块与会议室**:默认按“时间块 ->
|
|
90
|
+
> - **结构化展示时间块与会议室**:默认按“时间块 -> 会议室候选”的层级结构展示,并直接询问用户意向。
|
|
94
91
|
> - **`room_name` 必须逐字透传**:展示给用户的会议室名称,必须直接使用 CLI/API 返回的 `room_name` 原值。禁止提取楼层、会议室号、容量、视频能力后重组成新的名称,禁止意译、缩写、去前缀、去后缀,或仅保留"便于阅读"的摘要名。
|
|
95
|
-
> - **主动识别区间/多名称意图**:当用户提到"帮我约 XX 到 YY 号的会议室""XX~YY 之间的会议室"或一次列出多个会议室名称时,将所有目标名称展开为英文逗号分隔列表,传入 `--room-name`。例如"帮我约 16 到 20 号的会议室"应生成 `--room-name "16,17,18,19,20"`。
|
|
96
92
|
> - **重复日程要明确阻断原因与自动缩短**:若某候选会议室的 `reserve_until_time` 无法覆盖重复性日程,**必须**向用户明确说明该会议室最长可约至何时。若用户确认继续选用该会议室,你必须**自动将日程的重复规则结束时间缩短**至该 `reserve_until_time`,以防止会议室预约失败。不能直接按原规则继续。
|
|
97
93
|
> - **正确解释推荐结果**:如果返回结果与用户输入条件不完全字面一致,先说明底层可能返回邻近位置或相近条件的推荐候选,不要直接将其判定为异常。
|
|
98
94
|
> - **默认减少用户输入成本**:应主动引导用户不必一开始就提供很详细的会议室搜索条件。只要时间块已明确,用户直接表达“想约会议室”即可,先基于当前信息查询候选;只有在用户对结果不满意时,再引导其补充更具体的楼宇、楼层、会议室名或容量条件。
|
|
@@ -102,7 +98,7 @@ lark-cli calendar +room-find \
|
|
|
102
98
|
| 字段名 | 说明 |
|
|
103
99
|
| :--- | :--- |
|
|
104
100
|
| `room_id` | 会议室唯一标识,用于后续创建日程时添加为会议室参与人使用。 |
|
|
105
|
-
| `room_name` |
|
|
101
|
+
| `room_name` | 会议室名称,展示给用户时必须使用原值。 |
|
|
106
102
|
| `capacity` | 会议室最大容纳人数。 |
|
|
107
103
|
| `reserve_until_time` | 该会议室当前允许被预约到的最晚时间点,用于校验重复性日程是否超期。 |
|
|
108
104
|
|
|
@@ -110,4 +106,4 @@ lark-cli calendar +room-find \
|
|
|
110
106
|
|
|
111
107
|
- [lark-calendar-create](lark-calendar-create.md)
|
|
112
108
|
- [lark-calendar-suggestion](lark-calendar-suggestion.md)
|
|
113
|
-
- [lark-calendar](../SKILL.md) —
|
|
109
|
+
- [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 入口与路由
|