@amaster.ai/pi-lark 0.1.2-beta.44 → 0.1.2-beta.46
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 +2 -2
- package/skills/lark-apps/SKILL.md +23 -12
- 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-cloud-dev.md +0 -1
- package/skills/lark-apps/references/lark-apps-create.md +1 -2
- 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-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 +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 +2 -2
- package/skills/lark-apps/references/lark-apps-release-get.md +3 -3
- package/skills/lark-base/SKILL.md +4 -6
- package/skills/lark-base/references/lark-base-cell-value.md +3 -3
- package/skills/lark-base/references/lark-base-field-create.md +4 -0
- package/skills/lark-base/references/lark-base-field-json.md +4 -4
- package/skills/lark-base/references/lark-base-field-update.md +17 -1
- 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-calendar/references/lark-calendar-create.md +1 -0
- package/skills/lark-calendar/references/lark-calendar-update.md +3 -0
- package/skills/lark-doc/references/lark-doc-fetch.md +10 -2
- package/skills/lark-doc/references/lark-doc-whiteboard.md +9 -8
- package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +41 -0
- package/skills/lark-doc/references/lark-doc-xml.md +4 -3
- package/skills/lark-drive/SKILL.md +4 -1
- package/skills/lark-drive/references/lark-drive-comment-location.md +2 -2
- package/skills/lark-drive/references/lark-drive-search.md +1 -0
- package/skills/lark-drive/references/lark-drive-upload.md +1 -0
- 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 +1 -0
- package/skills/lark-event/references/lark-event-application.md +38 -0
- package/skills/lark-im/SKILL.md +1 -1
- 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-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-slides/SKILL.md +104 -47
- 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-create.md +2 -3
- package/skills/lark-slides/references/lark-slides-history.md +132 -0
- package/skills/lark-slides/references/lark-slides-media-upload.md +1 -2
- package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +7 -11
- package/skills/lark-slides/references/lark-slides-replace-slide.md +0 -3
- package/skills/lark-slides/references/lark-slides-screenshot.md +4 -4
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +219 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +6 -5
- 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 +65 -30
- package/skills/lark-slides/references/planning-layer.md +11 -10
- package/skills/lark-slides/references/slides_chart_demo.xml +1416 -1
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +1 -45
- package/skills/lark-slides/references/troubleshooting.md +25 -7
- package/skills/lark-slides/references/validation-checklist.md +53 -16
- package/skills/lark-slides/references/visual-planning.md +25 -22
- package/skills/lark-slides/references/xml-schema-quick-ref.md +243 -46
- package/skills/lark-slides/scripts/xml_text_overlap_lint.py +1054 -78
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +957 -150
- 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-update.md +6 -2
- 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 +7 -17
- 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 +1 -0
- package/skills/lark-slides/references/examples.md +0 -91
- 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/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
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
通过表单分享链接填写并提交多维表格表单。仅支持分享模式(share_token),支持填写普通字段值和上传本地文件作为附件。
|
|
6
6
|
|
|
7
|
+
> **⚠️ 高风险写操作(high-risk-write):** 本命令会向表单写入并提交数据,属于高风险写操作,必须额外传递 `--yes` 进行确认,否则会返回 `confirmation_required` 错误并退出。当用户明确要求提交且目标表单无歧义时,直接附加 `--yes`,无需再次询问。
|
|
8
|
+
|
|
7
9
|
## 填写前必读:先获取表单详情
|
|
8
10
|
|
|
9
11
|
**在调用 `+form-submit` 之前,必须先使用 `+form-detail` 获取表单详情。** 原因如下:
|
|
@@ -21,10 +23,11 @@ lark-cli base +form-detail --share-token <share_token>
|
|
|
21
23
|
|
|
22
24
|
# 2️⃣ 根据返回的 questions 列表,按 type 格式化值、检查 required、判断 filter 条件
|
|
23
25
|
|
|
24
|
-
# 3️⃣
|
|
26
|
+
# 3️⃣ 再提交(高风险写操作,必须带 --yes)
|
|
25
27
|
lark-cli base +form-submit \
|
|
26
28
|
--share-token <share_token> \
|
|
27
|
-
--json '{"fields":{...}}'
|
|
29
|
+
--json '{"fields":{...}}' \
|
|
30
|
+
--yes
|
|
28
31
|
```
|
|
29
32
|
|
|
30
33
|
`+form-detail` 的返回中要重点读取 `questions[].type`、`questions[].required`、题目 `filter` 和附件场景所需的 `data.base_token`。
|
|
@@ -35,7 +38,8 @@ lark-cli base +form-submit \
|
|
|
35
38
|
# 基本提交(填写普通字段)
|
|
36
39
|
lark-cli base +form-submit \
|
|
37
40
|
--share-token <share_token> \
|
|
38
|
-
--json '{"fields":{"服务评分":5,"评价内容":"服务态度好"}}'
|
|
41
|
+
--json '{"fields":{"服务评分":5,"评价内容":"服务态度好"}}' \
|
|
42
|
+
--yes
|
|
39
43
|
|
|
40
44
|
# 带附件提交(需要额外提供 --base-token)
|
|
41
45
|
lark-cli base +form-submit \
|
|
@@ -47,15 +51,17 @@ lark-cli base +form-submit \
|
|
|
47
51
|
"附件字段名": ["./report.pdf", "./photo.png"],
|
|
48
52
|
"另一个附件字段": ["./doc.docx"]
|
|
49
53
|
}
|
|
50
|
-
}'
|
|
54
|
+
}' \
|
|
55
|
+
--yes
|
|
51
56
|
|
|
52
57
|
# 使用应用身份(bot)
|
|
53
58
|
lark-cli base +form-submit \
|
|
54
59
|
--share-token <share_token> \
|
|
55
60
|
--json '{"fields":{...}}' \
|
|
56
|
-
--as bot
|
|
61
|
+
--as bot \
|
|
62
|
+
--yes
|
|
57
63
|
|
|
58
|
-
# 预览 API
|
|
64
|
+
# 预览 API 调用(不实际执行,dry-run 无需 --yes)
|
|
59
65
|
lark-cli base +form-submit \
|
|
60
66
|
--share-token <share_token> \
|
|
61
67
|
--json '{"fields":{...}}' \
|
|
@@ -69,6 +75,7 @@ lark-cli base +form-submit \
|
|
|
69
75
|
| `--share-token <token>` | 是 | 表单分享 Token(必填),从表单分享链接中提取 |
|
|
70
76
|
| `--base-token <token>` | 条件必填 | Base token;**当 `--json` 包含 `attachments` 时必须提供**,用于将附件上传到 Base Drive Media |
|
|
71
77
|
| `--json <json>` | 是 | JSON 对象,包含 `"fields"`(普通字段值)和 `"attachments"`(附件上传),详见下方说明 |
|
|
78
|
+
| `--yes` | 是 | 确认高风险写操作。本命令为 high-risk-write,不带 `--yes` 会返回 `confirmation_required` |
|
|
72
79
|
| `--format` | 否 | 输出格式:json(默认)\| pretty \| table \| ndjson \| csv |
|
|
73
80
|
| `--as` | 否 | 身份:user(默认)\| bot |
|
|
74
81
|
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
|
@@ -138,7 +145,8 @@ https://www.example.com/share/base/form/shrbcvST8eZy0vk8zjVZ1CAXNye
|
|
|
138
145
|
```bash
|
|
139
146
|
lark-cli base +form-submit \
|
|
140
147
|
--share-token shrbcvST8eZy0vk8zjVZ1CAXNye \
|
|
141
|
-
--json '{"fields":{...}}'
|
|
148
|
+
--json '{"fields":{...}}' \
|
|
149
|
+
--yes
|
|
142
150
|
```
|
|
143
151
|
|
|
144
152
|
## 输出格式
|
|
@@ -158,6 +166,7 @@ lark-cli base +form-submit \
|
|
|
158
166
|
|
|
159
167
|
## 提示
|
|
160
168
|
|
|
169
|
+
- **本命令为高风险写操作(high-risk-write),必须额外传递 `--yes` 确认**,否则返回 `confirmation_required` 并以非零码退出;`--dry-run` 预览除外
|
|
161
170
|
- 本命令仅支持通过表单分享链接(share_token)提交,不支持通过 base_token + table_id + view_id 方式提交
|
|
162
171
|
- **当 `--json` 包含 `attachments` 时,必须额外提供 `--base-token`**,因为附件上传到 Base Drive Media 需要指定目标 Base
|
|
163
172
|
- 附件字段只需在 `--json.attachments` 中提供本地路径即可,CLI 自动完成校验、并行上传、Token 获取和合并写入
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
## 适用场景(重点)
|
|
8
8
|
|
|
9
9
|
- 适合导入 CSV / Excel、外部系统一次性写入新数据。
|
|
10
|
-
-
|
|
10
|
+
- 先把每条输入数据映射为独立的字段对象,再组装到 `create_records`。
|
|
11
11
|
|
|
12
12
|
## 推荐命令
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
lark-cli base +record-batch-create --base-token <base_token> --table-id <table_id> \
|
|
16
|
-
--json '{"
|
|
16
|
+
--json '{"create_records":[{"标题":"任务 A","状态":"Open"},{"标题":"任务 B","状态":"Done"}]}'
|
|
17
17
|
|
|
18
18
|
lark-cli base +record-batch-create --base-token <base_token> --table-id <table_id> --json @batch-create.json
|
|
19
19
|
```
|
|
@@ -34,23 +34,25 @@ lark-cli base +record-batch-create --base-token <base_token> --table-id <table_i
|
|
|
34
34
|
|
|
35
35
|
本节只说明 `+record-batch-create` 的外层 JSON 形状;CellValue 统一看 [lark-base-cell-value.md](lark-base-cell-value.md)。
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
对象形态:
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{"create_records":[{"标题":"任务 A","状态":"Open"},{"标题":"任务 B","状态":"Done"}]}
|
|
41
|
+
```
|
|
38
42
|
|
|
39
43
|
| 字段 | 类型 | 必填 | 说明 |
|
|
40
44
|
|------|------|------|------|
|
|
41
|
-
| `
|
|
42
|
-
| `rows` | `CellValue[][]` | 是 | 二维数组,每一行按 `fields` 同序给 cell;单次最多 200 行 |
|
|
45
|
+
| `create_records` | `Array<Map<FieldNameOrID, CellValue>>` | 是 | 记录字段对象数组;每条记录可以提交不同字段,单次最多 200 条 |
|
|
43
46
|
|
|
44
47
|
## 返回重点
|
|
45
48
|
|
|
46
|
-
返回 `
|
|
49
|
+
返回 `record_id_list` 和可选的 `ignored_fields`。
|
|
47
50
|
|
|
48
51
|
## 坑点
|
|
49
52
|
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
- select 写入未知选项时平台可能自动新增选项;如果不是要新增选项,先确认真实选项名。
|
|
53
|
+
- 每个 `create_records` 元素都是独立的记录字段对象,只提交该记录需要写入的字段。
|
|
54
|
+
- 单次最多 200 条,超出需分批写入。
|
|
55
|
+
- `select` 字段只支持写入字段中已有的选项;构造 CellValue 前先用 `+field-list` 或 `+field-search-options` 确认目标选项存在。
|
|
54
56
|
|
|
55
57
|
## 参考
|
|
56
58
|
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
通过 `update_records` 为每条记录提交字段值。
|
|
6
6
|
|
|
7
7
|
## 推荐命令
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
lark-cli base +record-batch-update --base-token <base_token> --table-id <table_id> \
|
|
11
|
-
--json '{"
|
|
11
|
+
--json '{"update_records":{"<record_id_a>":{"状态":["完成"]},"<record_id_b>":{"分数":20}}}'
|
|
12
12
|
|
|
13
13
|
lark-cli base +record-batch-update --base-token <base_token> --table-id <table_id> --json @batch-update.json
|
|
14
14
|
```
|
|
@@ -29,23 +29,25 @@ lark-cli base +record-batch-update --base-token <base_token> --table-id <table_i
|
|
|
29
29
|
|
|
30
30
|
本节只说明 `+record-batch-update` 的外层 JSON 形状;CellValue 统一看 [lark-base-cell-value.md](lark-base-cell-value.md)。
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
对象形态:
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{"update_records":{"recA":{"状态":["完成"]},"recB":{"分数":20}}}
|
|
36
|
+
```
|
|
33
37
|
|
|
34
38
|
| 字段 | 类型 | 必填 | 说明 |
|
|
35
39
|
|------|------|------|------|
|
|
36
|
-
| `
|
|
37
|
-
| `patch` | `Map<FieldNameOrID, CellValue>` | 是 | 字段更新对象;key 是字段名或字段 ID,value 是 `CellValue`;同一份 `patch` 会应用到 `record_id_list` 内所有记录 |
|
|
40
|
+
| `update_records` | `Map<RecordID, Map<FieldNameOrID, CellValue>>` | 是 | record ID 到字段更新对象的映射(单次最多 200 条) |
|
|
38
41
|
|
|
39
42
|
## 返回重点
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
成功响应只包含可选的 `ignored_fields`;没有忽略字段时 `data` 为空对象。请求不会预先校验 record ID 是否存在,因此需要确认实际写入结果时,应再用 `+record-get` 读回目标记录。
|
|
42
45
|
|
|
43
46
|
## 坑点
|
|
44
47
|
|
|
45
|
-
-
|
|
46
|
-
- `record_id_list` 最大 200 条,超过会被接口校验拒绝。
|
|
48
|
+
- 单次最多更新 200 条记录,超过会被接口校验拒绝。
|
|
47
49
|
- 命令不会自动做字段/行映射转换,传什么就发什么。
|
|
48
|
-
-
|
|
50
|
+
- 如果字段映射包含只读字段,返回里可能出现 `ignored_fields`;这些字段不会被更新。
|
|
49
51
|
|
|
50
52
|
## 参考
|
|
51
53
|
|
|
@@ -55,7 +55,7 @@ lark-cli base +record-upsert --base-token <base_token> --table-id <table_id> --r
|
|
|
55
55
|
## 坑点
|
|
56
56
|
|
|
57
57
|
- 有 `--record-id` 就一定更新;不传就一定创建,不会自动查重或按业务键 upsert。
|
|
58
|
-
- select
|
|
58
|
+
- `select` 字段只支持写入字段中已有的选项;构造 CellValue 前先用 `+field-list` 或 `+field-search-options` 确认目标选项存在。
|
|
59
59
|
- 这是写入操作,执行前必须确认目标表和字段。
|
|
60
60
|
|
|
61
61
|
## 参考
|
|
@@ -44,6 +44,7 @@ lark-cli calendar +create --summary "..." --start "..." --end "..." \
|
|
|
44
44
|
> 自动设置 `reminders: [{"minutes": 5}]`,默认日程开始前 5 分钟提醒。
|
|
45
45
|
> 自动设置 `vchat: {"vc_type": "vc"}`,默认日程包含飞书视频会议。如需其他视频会议类型或不含视频会议,请使用完整 API 命令。
|
|
46
46
|
> 失败保护:若添加参会人失败(如 open_id 错误),CLI 会自动删除刚创建的空日程(回滚,不通知参会人)。
|
|
47
|
+
> 搜索用户接口不支持 bot 身份,需用 `--as user` 进行搜索。
|
|
47
48
|
> 审批会议室:`+create` 不暴露低频字段 `attendees[].approval_reason`。如果会议室要求审批,请使用用户身份先创建日程,再用完整 API `calendar event.attendees create --as user` 添加会议室并传 `approval_reason`。
|
|
48
49
|
|
|
49
50
|
## 高级用法(完整 API 命令)
|
|
@@ -65,6 +65,9 @@ lark-cli calendar +update \
|
|
|
65
65
|
- 更新重复性日程时,必须先确定操作范围(仅此次/全部/此次及后续),然后按 [重复性日程操作规范](lark-calendar-recurring.md) 执行。
|
|
66
66
|
- 当同一次命令组合多个动作时,执行顺序为“日程字段 -> 移除参会人 -> 添加参会人”。若中途失败,不会自动回滚已成功步骤;错误信息会说明已完成的步骤。
|
|
67
67
|
**⚠️ 高风险操作**: 修改时间时必须先读取原日程时长并计算新 end。如果 end 计算错误,会导致日程时长变化,用户会直接感知,禁止擅自改变原日程的时长。
|
|
68
|
+
**不得擅自附加 `--skip-room-check` 重试**:将错误信息(含会议室 ID 与原因)原样透传给用户,说明本次更新会导致会议室预定失败,明确询问是否仍要继续;用户确认后再带 `--skip-room-check` 重新执行。
|
|
69
|
+
|
|
70
|
+
预检失败(如接口 404 或返回错误)会降级放行:向 stderr 打一条 warning 后继续执行,避免因新接口不稳定阻塞正常更新。
|
|
68
71
|
|
|
69
72
|
## 高级用法(完整 API 命令)
|
|
70
73
|
|
|
@@ -87,13 +87,21 @@ lark-cli docs +fetch --doc Z1Fj...tnAc \
|
|
|
87
87
|
"document": {
|
|
88
88
|
"document_id": "doxcnXXXX",
|
|
89
89
|
"revision_id": 12,
|
|
90
|
-
"content": "<title>标题</title><p>文档内容...</p>"
|
|
90
|
+
"content": "<title>标题</title><p>文档内容...</p>",
|
|
91
|
+
"reference_map": {
|
|
92
|
+
"<block_type>": {
|
|
93
|
+
"<ref>": {
|
|
94
|
+
"<real-attr-key>": "<real-attr-value>"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"tips": "<safe replay or degradation guidance>"
|
|
91
99
|
}
|
|
92
100
|
}
|
|
93
101
|
}
|
|
94
102
|
```
|
|
95
103
|
|
|
96
|
-
`content` 的格式由 `--doc-format`
|
|
104
|
+
`content` 的格式由 `--doc-format` 决定。`reference_map` 是正文引用数据的结构化 sidecar:一级键 `block_type` 表示引用所在的块类型,二级键 `ref` 对应正文中的临时引用;每个引用的值是由 `real-attr-key` 和 `real-attr-value` 组成的真实属性映射,具体属性由块类型决定。没有提取数据时,`reference_map` 可能为空。`content` 和 `reference_map` 属于同一份响应,保留或回放内容时应配套处理。`tips` 给出安全回放或降级提示。`im-markdown` 仅用于获取内容后在 `lark-im` 场景下使用。设置 `--scope` 时会被 `<fragment>` 包裹,详见上文"局部读取的输出结构"。
|
|
97
105
|
|
|
98
106
|
## 参数
|
|
99
107
|
|
|
@@ -98,8 +98,8 @@ Sub Agent 需要携带以下的最小上下文,以及后续的 [SVG 设计 Wor
|
|
|
98
98
|
|
|
99
99
|
###### 画板怎么处理 SVG
|
|
100
100
|
|
|
101
|
-
画板的 svg-parser 把可识别元素转成可编辑节点, 其余降级为内嵌图片(渲染没问题, 虽然不可编辑, 但是可以正常显示)
|
|
102
|
-
`<
|
|
101
|
+
画板的 svg-parser 把可识别元素转成可编辑节点, 其余降级为内嵌图片(渲染没问题, 虽然不可编辑, 但是可以正常显示);但非阴影用途的
|
|
102
|
+
`<filter>` / `<pattern>` / `<clipPath>` / `<mask>` 等装饰特性画板不支持(见下方⚠️)
|
|
103
103
|
**不需要所有元素都可编辑, 但必须避免使用不支持的装饰特性, 且要兼顾可编辑和美观漂亮**
|
|
104
104
|
|
|
105
105
|
**可识别的元素**
|
|
@@ -109,12 +109,14 @@ Sub Agent 需要携带以下的最小上下文,以及后续的 [SVG 设计 Wor
|
|
|
109
109
|
- 文本:`<text>` / `<tspan>` 画板硬编码 Noto Sans SC **文字必须用 `<text>`**
|
|
110
110
|
- 分组:`<g>` / `<a>` / `<use>` 引用 `<symbol>`
|
|
111
111
|
- 变换:`translate` / `rotate` / `scale` 正常;`skewX` / `skewY` / `matrix(...)` 降级
|
|
112
|
+
- 阴影:`<filter>` 里放 `<feDropShadow>` 或标准 drop/inner primitive 链 (`<feGaussianBlur in="SourceAlpha">` + `<feOffset>` + `<feFlood>` + `<feComposite>` + `<feMerge>`), 会被识别成节点阴影, drop 至多 1 个, inner 至多 1 个; 其余 filter 效果不识别
|
|
113
|
+
- 渐变:`<linearGradient>` / `<radialGradient>` 在 `<defs>` 中定义, 通过 `fill="url(#id)"` 引用 (载体限 `<rect>` / `<circle>` / `<ellipse>` / `<polygon>` / `<path>`), 需要至少 2 个 `<stop>`, `gradientUnits` 只支持默认的 `objectBoundingBox` (不写即可)
|
|
112
114
|
|
|
113
115
|
> [!IMPORTANT]
|
|
114
|
-
> ⚠️
|
|
116
|
+
> ⚠️ **不支持的装饰特性**
|
|
115
117
|
|
|
116
|
-
- `<
|
|
117
|
-
|
|
118
|
+
- `<pattern>` / `<clipPath>` / `<mask>` / 非阴影用途的 `<filter>` (blur / hue-rotate / 复合合成 / `flood-color=url(...)` / 多个 `<feDropShadow>` 等) → 画板不支持,**请避免使用,否则会导致画板渲染问题**
|
|
119
|
+
- 渐变边界:`gradientUnits="userSpaceOnUse"` / `spreadMethod="reflect|repeat"` / stops 少于 2 个 / 复杂 `gradientTransform` 会变成不可编辑图片, 视觉正确但失去可编辑性, 若无必要请沿用默认 `objectBoundingBox`
|
|
118
120
|
|
|
119
121
|
###### 3.插入后审查
|
|
120
122
|
|
|
@@ -123,9 +125,9 @@ Sub Agent 需要携带以下的最小上下文,以及后续的 [SVG 设计 Wor
|
|
|
123
125
|
`../../lark-whiteboard/SKILL.md`](../../lark-whiteboard/SKILL.md) 编辑。
|
|
124
126
|
|
|
125
127
|
```bash
|
|
126
|
-
lark-cli whiteboard +
|
|
128
|
+
lark-cli whiteboard +export \
|
|
127
129
|
--whiteboard-token "wbcnxxxxxxxx" \
|
|
128
|
-
--
|
|
130
|
+
--output-type preview \
|
|
129
131
|
--output ./preview.png
|
|
130
132
|
```
|
|
131
133
|
|
|
@@ -150,7 +152,6 @@ lark-cli whiteboard +query \
|
|
|
150
152
|
|
|
151
153
|
---
|
|
152
154
|
|
|
153
|
-
|
|
154
155
|
---
|
|
155
156
|
|
|
156
157
|
## 关联参考
|
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
本文件用于补充说明 block XML 扩展能力。常用标签和通用规则见 [`lark-doc-xml.md`](lark-doc-xml.md);后续新增其他 block 说明时可继续追加到本文件。
|
|
4
4
|
|
|
5
|
+
## HTML5 block
|
|
6
|
+
|
|
7
|
+
1. 写入 HTML 内容块时,把完整单文件 HTML 存为本地 `.html` 文件,XML 写 `<html5-block path="@widget.html"></html5-block>`;已有 `data-ref` 时配合 `--reference-map @reference-map.json`。读取时 `<html5-block data-ref="html5_1"></html5-block>` 只是占位,必须从 `document.reference_map["html5-block"]["html5_1"].data` 读取 HTML;若 entry 是 `path`,读取对应 `@doc-fetch-resources/...html` 文件。
|
|
8
|
+
2. 格式如下:
|
|
9
|
+
|
|
10
|
+
```html
|
|
11
|
+
<!doctype html>
|
|
12
|
+
<html lang="zh-CN">
|
|
13
|
+
<head>
|
|
14
|
+
<meta charset="utf-8">
|
|
15
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
16
|
+
<meta name="use-iframe" content="true">
|
|
17
|
+
<meta name="html-box-height-mode" content="auto">
|
|
18
|
+
<meta name="description" content="内容摘要,会导出为 html5-block 的 alt 属性,帮助模型理解该 HTML 块的用途">
|
|
19
|
+
<title></title>
|
|
20
|
+
</head>
|
|
21
|
+
<body>
|
|
22
|
+
...
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 布局与高度
|
|
28
|
+
|
|
29
|
+
- `lark-cli` 会读取 `.html` 文件并原样写入 `reference_map`,不会解析或校验 `html-box-height-mode`;创建或更新文档前在 `<head>` 中显式声明 `auto` 或 `viewport`。
|
|
30
|
+
- 生成时只使用 `auto` 或 `viewport`,不要臆造 `fixed`、`initial` 或像素值等其他 mode。
|
|
31
|
+
- 文档常见可用宽度约 `820px`;根容器使用 `width: 100%`、`max-width: 100%`、`box-sizing: border-box`。
|
|
32
|
+
|
|
33
|
+
四种策略:
|
|
34
|
+
|
|
35
|
+
1. 内容自然撑开:`auto` + 普通文档流;根容器不设固定高度或 `overflow: hidden`。
|
|
36
|
+
2. 仅按初始内容定高:`auto` + 首次渲染后不再追加或展开内容。
|
|
37
|
+
3. 固定像素操作区:`auto` + 业务容器按场景设置固定的 CSS `height` 和 `overflow: auto`;高度数值不写进 meta。
|
|
38
|
+
4. 单屏应用:`viewport` + `100vh` + 内部滚动、切页或缩放;适用于游戏、幻灯片、Dashboard、canvas 编辑器。
|
|
39
|
+
|
|
40
|
+
正文需要在飞书文档中完整展开时选 `auto`;内容应在 HTML Block 内滚动时选 `viewport`。`lark-cli` 不参与页面加载后的高度刷新,不要臆造相关 CLI flag。
|
|
41
|
+
|
|
42
|
+
### 内容限制
|
|
43
|
+
|
|
44
|
+
- HTML 总长度上限为 500KB。不要内联大图片、Base64、字体、长 JSON/CSV 或大量 mock 数据。
|
|
45
|
+
|
|
5
46
|
## OKR block
|
|
6
47
|
|
|
7
48
|
OKR block 可用 XML 格式完整表达。创建前先参考 [`lark-okr`](../../lark-okr/SKILL.md) 确认可用周期;创建时只写 root-only `<okr cycle-id="..."/>` 挂载已有 OKR,不构造 Objective/KR/Progress 子树。
|
|
@@ -13,7 +13,7 @@ p, h1-h9, ul, ol, li, table, thead, tbody, tr, th, td, blockquote, pre, code, hr
|
|
|
13
13
|
## 容器标签
|
|
14
14
|
|标签|说明|关键属性|
|
|
15
15
|
|-|-|-|
|
|
16
|
-
| `<callout>` |
|
|
16
|
+
| `<callout>` | 高亮框,子块仅支持文本块(如 `<p>`)、标题、列表、待办、引用;禁止裸文本及 `<table>`、`<img>`、`<pre>`、`<hr>`、`<grid>`、`<whiteboard>`、`<sheet>` 等其他块级标签或资源块 | `emoji`(默认 bulb), `background-color`, `border-color`, `text-color` |
|
|
17
17
|
| `<grid>` + `<column>` | 分栏布局,各列 width-ratio 之和为 1 | `width-ratio` |
|
|
18
18
|
| `<whiteboard>` | 嵌入画板 | `type`: `blank` \| `mermaid` \| `plantuml` \| `svg` |
|
|
19
19
|
| `<pre>` | (代码块,内含 `code`)| `lang`, `caption` |
|
|
@@ -23,7 +23,7 @@ p, h1-h9, ul, ol, li, table, thead, tbody, tr, th, td, blockquote, pre, code, hr
|
|
|
23
23
|
## 行内组件
|
|
24
24
|
| 标签 | 说明 | 关键属性 |
|
|
25
25
|
|-|-|-|
|
|
26
|
-
| `<cite type="user">` | @人 |
|
|
26
|
+
| `<cite type="user">` | @人 | XML 导入时必须显式传入 `user-id`:`<cite type="user" user-id="userID"></cite>` |
|
|
27
27
|
| `<cite type="doc">` | @文档 | `<cite type="doc" doc-id="docx_token"></cite>` |
|
|
28
28
|
| `<latex>` | 行内公式 | `<latex>E = mc^2</latex>` |
|
|
29
29
|
| `<img>` | 图片(可独立成块或内联) | `<img width="800" height="600" caption="说明" name="图.png" href="http 或 https"/>` |
|
|
@@ -46,8 +46,8 @@ p, h1-h9, ul, ol, li, table, thead, tbody, tr, th, td, blockquote, pre, code, hr
|
|
|
46
46
|
- `<task>` — `<task task-id="GUID"></task>`,必传 task-id(任务 guid)
|
|
47
47
|
- `<chat_card>` — `<chat_card chat-id="CHAT_ID"></chat_card>`,必传 chat-id
|
|
48
48
|
- `<sub-page-list>` — `<sub-page-list></sub-page-list>` 子页面列表块;仅 wiki 文档可插入
|
|
49
|
+
- `<html5-block>`、`<okr>` — 前者在飞书文档「HTML 块」iframe 中加载单文件 HTML,内容可用 HTML 渲染时直接使用;后者创建时仅支持 root-only `<okr cycle-id="..."/>` 挂载已有 OKR。完整语法与字段规则见 [`lark-doc-xml-extended-blocks.md`](lark-doc-xml-extended-blocks.md)。
|
|
49
50
|
- bitable、base_ref、synced_reference、synced_source — 不可创建,仅支持移动
|
|
50
|
-
- `<okr>` — 创建时仅支持 root-only `<okr cycle-id="..."/>` 挂载已有 OKR;完整结构与字段规则见 [`lark-doc-xml-extended-blocks.md`](lark-doc-xml-extended-blocks.md#okr-block)
|
|
51
51
|
|
|
52
52
|
# 四、块级复制与移动
|
|
53
53
|
|
|
@@ -85,6 +85,7 @@ p, h1-h9, ul, ol, li, table, thead, tbody, tr, th, td, blockquote, pre, code, hr
|
|
|
85
85
|
|
|
86
86
|
## 用户名写入规则
|
|
87
87
|
|
|
88
|
+
- 任何包含 `<cite type="user">` 的 XML 在导入、新建或编辑回写时,都必须显式传入 `user-id`;其值为用户的 `open_id`,不得省略。
|
|
88
89
|
- 当从 IM 消息、日历、审批、任务等来源获取到用户的 `open_id` 时,写入文档**必须**使用 `<cite type="user" user-id="open_id">` 标签,而非纯文本名字。这样文档中会渲染为可点击的 @人。
|
|
89
90
|
- 典型场景:IM 消息的 `sender`、`mentions`、reactions 的 `operator`、卡片消息中引用的用户、系统消息中的用户名、合并转发中的用户名。
|
|
90
91
|
- 当只有纯文本名字而没有 `open_id` 时(如系统消息、合并转发内容),先通过 `lark-cli contact +search-user --query "名字" --as user` 反查 `open_id`,再写入 cite 标签。
|
|
@@ -26,7 +26,10 @@ metadata:
|
|
|
26
26
|
- 高风险写操作(删除、公开权限修改、owner 转移、版本删除/回滚、批量移动/覆盖/同步)必须同时满足三个条件才执行:目标已解析为该操作可直接使用的执行对象,执行细节已明确到可直接调用命令(例如删除的 file-token/type、公开权限修改的共享范围、owner 转移的目标 owner、版本删除/回滚的 version id、移动/覆盖/同步的目标位置和冲突策略),且用户在本轮明确确认执行这些具体目标和执行细节。用户只说“删除没用的文件”“开放/共享给大家”“改成开放”“覆盖/移动这些”只表示目标状态;先只读发现并列出候选、权限档位或执行方案,停止等待用户确认。
|
|
27
27
|
- 用户要**检查 / 治理文档权限、公开范围、链接分享、外部访问、复制下载权限、密级标签、owner 转移**,或要”权限风险报告、收紧权限、申请查看 / 编辑权限、转移 / 批量转移 owner”,必须先阅读 [`references/lark-drive-workflow.md`](references/lark-drive-workflow.md),再按其中 `Workflow Registry` 进入 [`permission_governance`](references/lark-drive-workflow-permission-governance.md) workflow。
|
|
28
28
|
- 用户要为指定飞书文档**设置 / 修改密级标签(secure label)**,或查询当前用户可用的密级标签,直接读取 [`references/lark-drive-secure-label.md`](references/lark-drive-secure-label.md);这是 Drive 文件治理能力。
|
|
29
|
+
- 用户要**检查 / 治理文档权限、公开范围、链接分享、外部访问、复制下载权限、密级标签、owner 转移**,或要“权限风险报告、收紧权限、申请查看 / 编辑权限、转移 / 批量转移 owner”,必须先阅读 [`references/lark-drive-workflow.md`](references/lark-drive-workflow.md),再按其中 `Workflow Registry` 进入 [`permission_governance`](references/lark-drive-workflow-permission-governance.md) workflow。
|
|
30
|
+
- 用户要**按特定主题、关键词或内容线索跨容器查找资料,并统一收集到 Drive 文件夹或 Wiki 节点**,必须先阅读 [`references/lark-drive-workflow.md`](references/lark-drive-workflow.md),再按其中 `Workflow Registry` 进入 [`topic_move_collector`](references/lark-drive-workflow-topic-move-collector.md) workflow。该 workflow 负责搜索召回、内容验证、相关性分类、移动计划、写前确认和结果验证;禁止直接从 `drive +search` 或 `drive +move` 开始。
|
|
29
31
|
- 用户要**整理云盘 / 文件夹 / 文档库 / 知识库 / 个人文档库**,或要“盘点目录结构、找出未归档/临时/重复/空目录、生成整理方案”,必须先阅读 [`references/lark-drive-workflow.md`](references/lark-drive-workflow.md),再按其中 `Workflow Registry` 进入 [`knowledge_organize`](references/lark-drive-workflow-knowledge-organize.md) workflow。默认只生成方案;创建目录、移动资源、申请权限都必须单独确认。
|
|
32
|
+
- 按主题跨范围查找并集中归档,进入 `topic_move_collector`;对已知文件夹、文档库或知识库做目录盘点和结构重组,进入 `knowledge_organize`;只移动一个已明确资源时仍使用原子移动命令。
|
|
30
33
|
- 用户要**搜文档 / Wiki / 电子表格 / 多维表格 / 云空间(云盘/云存储)对象**,优先使用 `lark-cli drive +search`。自然语言里"最近我编辑过的"、"我创建的"(→ `--created-by-me`,原始创建者语义)、"我负责/owner 的"(→ `--mine`,owner 语义)、"最近一周我打开过的 xxx"、"某人 owner 的 docx" 等直接映射到扁平 flag,避免手写嵌套 JSON。
|
|
31
34
|
- 用户要**获取文档评论列表**时,优先使用 `lark-cli drive +list-comments --url '<url>'`,不要优先手写 `drive file.comments list`;支持妙搭 apps 的 `/page/<token>` URL;具体使用方式先阅读 [`references/lark-drive-list-comments.md`](references/lark-drive-list-comments.md)。
|
|
32
35
|
- 妙搭 apps 评论场景:除新增全文/局部评论不支持外,评论列表、批量查询、解决/恢复、回复创建/读取/更新/删除、reaction 添加/删除等评论管理能力已支持;使用原生命令时文档类型传 `apps`(`file_type=apps`),裸 token 调 shortcut 时传 `--type apps`。
|
|
@@ -135,7 +138,7 @@ Shortcut 是对常用操作的高级封装(`lark-cli drive +<verb> [flags]`)
|
|
|
135
138
|
| Shortcut | 说明 |
|
|
136
139
|
|----------|----------|
|
|
137
140
|
| [`+search`](references/lark-drive-search.md) | 搜索文档、Wiki、表格、文件夹等云空间对象;支持 `--edited-since`、`--created-by-me`、`--mine`、`--doc-types` 等扁平 flag;区分 original creator 与 owner 语义。 |
|
|
138
|
-
| [`+upload`](references/lark-drive-upload.md) | 上传本地文件到 Drive 文件夹或 wiki
|
|
141
|
+
| [`+upload`](references/lark-drive-upload.md) | 上传本地文件到 Drive 文件夹或 wiki 节点;修改/重写/更新已有文件时优先覆盖上传,而不是直接上传一个新文件。 |
|
|
139
142
|
| [`+create-folder`](references/lark-drive-create-folder.md) | 新建 Drive 文件夹,支持父文件夹与 bot 创建后自动授权。 |
|
|
140
143
|
| [`+download`](references/lark-drive-download.md) | 下载 Drive 文件到本地。 |
|
|
141
144
|
| [`+preview`](references/lark-drive-preview.md) | 查看或下载文件的 PDF / HTML / 文本 / 图片等预览产物。 |
|
|
@@ -190,9 +190,9 @@ lark-cli base +record-list --base-token '<base_token>' --table-id '<table_id>' -
|
|
|
190
190
|
- 若要定位画板内部节点,切到 `lark-whiteboard` 读取 raw 节点结构:
|
|
191
191
|
|
|
192
192
|
```bash
|
|
193
|
-
lark-cli whiteboard +
|
|
193
|
+
lark-cli whiteboard +export \
|
|
194
194
|
--whiteboard-token '<whiteboard_token>' \
|
|
195
|
-
--
|
|
195
|
+
--output-type raw
|
|
196
196
|
```
|
|
197
197
|
|
|
198
198
|
- 如果 raw 节点中存在唯一匹配 `quote` 的文本节点,可定位到该节点;如果有多个相同文本节点,仍然是弱匹配,需要结合位置、样式、用户描述或人工确认。
|
|
@@ -96,6 +96,7 @@ lark-cli drive +search --query 方案 --page-token '<PAGE_TOKEN>'
|
|
|
96
96
|
- "某项目发布会重点" → 先搜项目名 + "发布会" + "重点/功能/一览",再按标题和摘要判断是否需要只搜标题或扩大到正文。
|
|
97
97
|
|
|
98
98
|
每轮扩展都要保留非污染、可解释的 evidence(URL/token/标题/摘要);不能因为某个扩展词搜到高相似标题就跳过证据核验。
|
|
99
|
+
扩展 query 时,优先保留用户已经指定的空间、文件夹、群聊、人员、时间和类型等 filter;确需放宽检索范围时,先向用户说明原因并征得确认。
|
|
99
100
|
|
|
100
101
|
## 参数
|
|
101
102
|
|