@amaster.ai/pi-lark 0.1.10 → 0.1.12

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.
Files changed (68) hide show
  1. package/package.json +2 -2
  2. package/skills/lark-approval/SKILL.md +2 -2
  3. package/skills/lark-approval/references/lark-approval-instances-initiated.md +5 -0
  4. package/skills/lark-approval/references/lark-approval-tasks-add-sign.md +68 -20
  5. package/skills/lark-approval/references/lark-approval-tasks-query.md +5 -0
  6. package/skills/lark-base/SKILL.md +108 -5
  7. package/skills/lark-base/references/lark-base-data-query.md +2 -6
  8. package/skills/lark-base/references/lark-base-field-extension.md +170 -0
  9. package/skills/lark-base/references/lark-base-field-lookup.md +1 -1
  10. package/skills/lark-base/references/lark-base-filter-condition.md +32 -5
  11. package/skills/lark-base/references/lark-base-form-detail.md +1 -1
  12. package/skills/lark-base/references/lark-base-form-submit.md +2 -2
  13. package/skills/lark-base/references/lark-base-record-history-list.md +1 -1
  14. package/skills/lark-base/references/lark-base-record-query-and-analysis-sop.md +95 -205
  15. package/skills/lark-base/references/lark-base-template-center.md +5 -1
  16. package/skills/lark-calendar/SKILL.md +6 -0
  17. package/skills/lark-calendar/references/lark-calendar-join-event.md +43 -0
  18. package/skills/lark-drive/references/lark-drive-member-remove.md +2 -1
  19. package/skills/lark-im/SKILL.md +15 -1
  20. package/skills/lark-im/references/lark-im-messages-edit.md +89 -0
  21. package/skills/lark-im/references/lark-im-messages-mget.md +8 -0
  22. package/skills/lark-im/references/lark-im-messages-reply.md +2 -0
  23. package/skills/lark-im/references/lark-im-messages-send.md +6 -2
  24. package/skills/lark-markdown/SKILL.md +1 -1
  25. package/skills/lark-meeting/SKILL.md +6 -2
  26. package/skills/lark-meeting/references/lark-minutes-summary.md +1 -0
  27. package/skills/lark-meeting/references/lark-minutes-todo.md +39 -1
  28. package/skills/lark-meeting/references/lark-minutes-upload.md +6 -0
  29. package/skills/lark-meeting/references/lark-vc-agent-meeting-end.md +26 -0
  30. package/skills/lark-meeting/references/lark-vc-agent-meeting-invite.md +32 -0
  31. package/skills/lark-meeting/references/lark-vc-agent-meeting-join.md +8 -2
  32. package/skills/lark-meeting/references/lark-vc-meeting-countdown.md +103 -0
  33. package/skills/lark-meeting/references/lark-vc-meeting-events.md +1 -0
  34. package/skills/lark-meeting/references/lark-vc-meeting-screenshot.md +34 -0
  35. package/skills/lark-meeting/scenes/create-and-edit-minutes.md +25 -3
  36. package/skills/lark-meeting/scenes/live-meeting-attend.md +63 -6
  37. package/skills/lark-meeting/scenes/live-meeting-interact.md +32 -3
  38. package/skills/lark-sheets/SKILL.md +76 -60
  39. package/skills/lark-sheets/references/lark-sheets-batch-update.md +83 -14
  40. package/skills/lark-sheets/references/lark-sheets-chart.md +296 -159
  41. package/skills/lark-sheets/references/lark-sheets-conditional-format.md +46 -9
  42. package/skills/lark-sheets/references/lark-sheets-filter.md +1 -1
  43. package/skills/lark-sheets/references/lark-sheets-formula-translation.md +78 -65
  44. package/skills/lark-sheets/references/lark-sheets-formula-verify.md +21 -17
  45. package/skills/lark-sheets/references/lark-sheets-pivot-table.md +2 -1
  46. package/skills/lark-sheets/references/lark-sheets-range-operations.md +1 -1
  47. package/skills/lark-sheets/references/lark-sheets-read-data.md +8 -5
  48. package/skills/lark-sheets/references/lark-sheets-search-replace.md +4 -4
  49. package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +2 -2
  50. package/skills/lark-sheets/references/lark-sheets-sparkline.md +1 -0
  51. package/skills/lark-sheets/references/lark-sheets-styles-put.md +3 -3
  52. package/skills/lark-sheets/references/lark-sheets-visual-standards.md +6 -4
  53. package/skills/lark-sheets/references/lark-sheets-workbook.md +3 -1
  54. package/skills/lark-sheets/references/lark-sheets-write-cells.md +50 -48
  55. package/skills/lark-sheets/scripts/lark_chart_layout_check.py +472 -0
  56. package/skills/lark-slides/references/cli/lark-slides-add-slide.md +6 -6
  57. package/skills/lark-slides/references/cli/lark-slides-delete-slide.md +3 -3
  58. package/skills/lark-slides/references/cli/lark-slides-replace-slide.md +11 -11
  59. package/skills/lark-slides/references/cli/lark-slides-xml-presentation-slide-get.md +1 -1
  60. package/skills/lark-slides/references/cli/lark-slides-xml-presentation-slide-replace.md +2 -2
  61. package/skills/lark-slides/references/workflow/slides-editing.md +11 -11
  62. package/skills/lark-slides/references/xml/slides_xml_schema_definition.xml +2 -0
  63. package/skills/lark-base/references/lark-base-cell-value.md +0 -165
  64. package/skills/lark-base/references/lark-base-data-analysis-pandas.md +0 -93
  65. package/skills/lark-base/references/lark-base-data-analysis-python-stdlib.md +0 -120
  66. package/skills/lark-base/references/lark-base-record-batch-create.md +0 -63
  67. package/skills/lark-base/references/lark-base-record-batch-update.md +0 -57
  68. package/skills/lark-base/references/lark-base-record-query-and-analysis-cloud-sop.md +0 -145
@@ -2,13 +2,14 @@
2
2
 
3
3
  ## 写入边界 + 回读校验
4
4
 
5
- `+batch-update` 把多次写入打包成单次请求,但每个子操作仍受编辑类任务硬性默认规则约束:
5
+ `+batch-update` 把多次写入打包成单次请求,但每个子操作仍应按编辑类任务的范围和回读建议处理:
6
6
 
7
- 1. **目标 range 必须落在用户授权范围内**:除用户明示要修改的区域外,子操作禁止扩张到无关单元格 / 列 / Sheet。规划 range 时先确认每个子操作的边界。
8
- 2. **批次完成后必须回读校验**:整个 `+batch-update` 执行成功后,用 `+csv-get` 或 `+cells-get` 抽样回读受影响区域,至少校验 3-5 个代表性单元格(首 / 中 / 末),与本地脚本预先计算的预期值对照。
9
- 3. **预期条数前置断言**:涉及"批量填充 N 行"或"对 M 个区域分别写入"时,先把 N、M 硬编码进代码,回读后断言实际等于预期;不一致就再发一轮 `+batch-update` 补齐,禁止交付半成品。
7
+ 1. **目标 range 应落在用户授权范围内**:除用户明示要修改的区域外,子操作避免扩张到无关单元格 / 列 / Sheet。规划 range 时先确认每个子操作的边界。
8
+ 2. **批次完成后建议回读校验**:整个 `+batch-update` 执行成功后,用 `+csv-get` 或 `+cells-get` 抽样回读受影响区域,至少校验 3-5 个代表性单元格(首 / 中 / 末),与本地脚本预先计算的预期值对照。
9
+ 3. **预期条数前置断言**:涉及"批量填充 N 行"或"对 M 个区域分别写入"时,建议先把 N、M 硬编码进代码,回读后比较实际与预期;不一致就优先再发一轮 `+batch-update` 补齐,补不齐则在交付说明里列出缺口。
10
+ 4. **三条工具硬约束**:`--yes` 必带(high-risk-write,不带退出码 10);单次 ≤100 条 operations,超出按批拆分;`+cells-batch-set-style` / `+cells-batch-clear` 等批量类 shortcut 不可嵌入 operations(它们本身就是批量原子操作,直接顶层调用)。
10
11
 
11
- 若本次 `+batch-update` 的任一子操作写入了公式、复制了公式模板、或导入了含公式的数据块,**回读校验之后还必须继续执行 `+formula-verify`**。`+batch-update` 只保证"写入动作按序执行了",不保证整批公式运行结果 zero-error。
12
+ 若本次 `+batch-update` 的任一子操作写入了公式、复制了公式模板、或导入了含公式的数据块,回读校验之外可继续执行 `+formula-verify` 做诊断。`+batch-update` 只保证"写入动作按序执行了",不保证整批公式运行结果 zero-error。
12
13
 
13
14
  ## 使用场景
14
15
 
@@ -16,16 +17,22 @@
16
17
 
17
18
  **先分流再动手(按操作组合选入口)**:美化收尾(样式 / 合并 / 行高列宽 / 冻结的任意组合)→ 一次 `+styles-put`(声明式规格,见 `lark-sheets-styles-put`),不要拼 `--operations` 子操作数组;**同一个写操作**打多个区域 → 用该命令自身的复数形态(`+cells-set --writes` / `+cells-batch-clear` / `+dim-delete --ranges` / resize 的 map 形态等);只有跨类型、有顺序依赖的操作链才用本命令。
18
19
 
20
+ **⚠️ 何时优先使用 `+batch-update`**:
21
+ - 需要先插入行列再写入数据时(`+dim-{insert|delete|hide|unhide|freeze|group|ungroup}` + `+cells-set`)
22
+ - 需要对多个区域执行**不同类型**的写入操作时(如 `+cells-set` + `+cells-clear` 组合)。同一个写操作打多区域用该命令自身的复数形态、多区域 merge 用 `+styles-put` 的 `cell_merges`、大范围 unmerge 直接单次调用——均见上方分流,不进本命令
23
+
24
+ **多个互不依赖的图表任务优先使用 `+batch-chart-create` / `+batch-chart-update`**;只有图表与其它写入存在同一批次顺序依赖时,才把图表 shortcut 放进 `+batch-update`。
25
+
19
26
  **不可放进 `--operations` 的写 shortcut**(`shortcut` 枚举不含它们,强行写入会被校验拒):`+cells-set-image`(需本地上传图片)、`+styles-put` / `+dropdown-update` / `+dropdown-delete` / `+cells-batch-clear`(自身已是批量入口,不可再嵌套)、`+dim-move`。这些操作需在 `+batch-update` 之外单独调用。
20
27
 
21
28
  **行高列宽批量不走这里**:多行 / 多列不同尺寸用 `+styles-put` 的 `row_sizes` / `col_sizes`(可与样式同批),或 `+rows-resize --heights` / `+cols-resize --widths` 的 map 形态(见 `lark-sheets-range-operations`);map 形态不可作为 `--operations` 子操作嵌入(子操作里仍可用单区间形态 `range` + `height`/`width`)。
22
29
 
23
- **执行语义(fail-fast,不回滚)**:默认首个失败的子操作即中断剩余操作,但**已执行成功的子操作不回滚**——服务端报 "N succeeded, M failed" 时前 N 个已实际生效。修复失败项后**只重发失败起的剩余子集**,整批重发会把已成功的操作(如插行)重复应用。传 `--continue-on-error` 则遇失败仍继续执行剩余操作。正因如此,含结构变更(插删行列 / 移动)的批次失败后要先回读确认现状再续发。
30
+ **执行语义(fail-fast;失败后哪些已生效取决于批次构成)**:默认首个失败的子操作即中断剩余操作。此前的子操作**是否已落盘不统一**:纯单元格 / 行列结构类写入在提交前只累计在内存,失败时整体不落盘(等效回滚);而图表 / 透视表等对象类子操作执行时会**先把此前累计的写入提交落盘再创建对象**——批次含这类子操作时,失败前完成的部分(含其之前的普通写入)已实际生效、无法回滚。因此失败后**不要假设"全部回滚"或"全部保留"**:先看返回 `results` 里各子操作的状态,再回读现状(行列数 / 目标格 / `+chart-list` 等对象清单)确认已生效集合,只补发未生效部分——盲目整批重发会重复应用已生效操作(如插行 / 建图),盲目只发失败尾可能写到未生效的旧结构上。传 `--continue-on-error` 则遇失败仍继续执行剩余操作,已成功部分保留(返回 "N succeeded, M failed")。
24
31
 
25
- **公式相关批处理的默认闭环**:
32
+ **公式相关批处理的建议诊断**:
26
33
  - 写前:先读 `lark-sheets-formula-translation`,把公式改写成飞书可执行语义。
27
34
  - 写时:用 `+batch-update` 一次性完成插行/写公式/复制模板等成套动作。
28
- - 写后:抽样回读之外,继续跑 `lark-sheets-formula-verify`,直到 `+formula-verify` 返回 `status='success'`。
35
+ - 写后:抽样回读之外,可继续跑 `lark-sheets-formula-verify` 做一次诊断。
29
36
 
30
37
  **`+dropdown-update` 的选项模式(`--options` / `--source-range` 二选一)+ 配色规则**(`--colors` 长度可短不能长、必须配 `--highlight=true` 才生效、不传按内置 10 色色板循环补色)见 [`lark-sheets-write-cells`](./lark-sheets-write-cells.md) 的「Dropdown 选项 + 配色」节,本文不重复。`+dropdown-delete` 不涉及这些 flag。
31
38
 
@@ -34,6 +41,8 @@
34
41
  | Shortcut | Risk | 分组 |
35
42
  | --- | --- | --- |
36
43
  | `+batch-update` | high-risk-write | 批量 |
44
+ | `+batch-chart-create` | write | 批量 |
45
+ | `+batch-chart-update` | write | 批量 |
37
46
  | `+dropdown-update` | write | 对象 |
38
47
  | `+dropdown-delete` | high-risk-write | 对象 |
39
48
  | `+cells-batch-clear` | high-risk-write | 批量 |
@@ -46,9 +55,27 @@ _公共:URL/token(无 sheet 定位) · 系统:`--yes`、`--dry-run`_
46
55
 
47
56
  | Flag | Type | 必填 | 说明 |
48
57
  | --- | --- | --- | --- |
49
- | `--operations` | string + File + Stdin(复合 JSON) | required | JSON 数组:[{"shortcut":"+xxx-yyy","input":{...}}, ...]。shortcut 用 CLI 名;input 是该 shortcut 的入参集——含子表定位 sheet_id(或 sheet_name),但不含 spreadsheet token/url(后者只在顶层 --url/--spreadsheet-token 给一次;+batch-update 顶层没有 --sheet-id);input 的键是该 shortcut 的 flag 展平成 JSON(如 "range":"A11:B12"),不是再套一层嵌套。基础 flag 查 --help,复合 JSON flag 查 --print-schema --flag-name <flag>;不要手填 operation 字段(由 CLI 按 shortcut 自动注入)。默认 fail-fast:首个失败即中断剩余操作,**已执行的子操作不回滚**(服务端报 "N succeeded, M failed" 时 N 个已生效,修复后只重发失败起的剩余子集,不要整批重发);传 --continue-on-error 遇失败仍继续;不支持嵌套;按数组顺序串行执行 |
58
+ | `--operations` | string + File + Stdin(复合 JSON) | required | JSON 数组:[{"shortcut":"+xxx-yyy","input":{...}}, ...]。shortcut 用 CLI 名;input 是该 shortcut 的入参集——含子表定位 sheet_id(或 sheet_name),但不含 spreadsheet token/url(后者只在顶层 --url/--spreadsheet-token 给一次;+batch-update 顶层没有 --sheet-id);input 的键是该 shortcut 的 flag 展平成 JSON(如 "range":"A11:B12"),不是再套一层嵌套。基础 flag 查 --help,复合 JSON flag 查 --print-schema --flag-name <flag>;不要手填 operation 字段(由 CLI 按 shortcut 自动注入)。默认 fail-fast:首个失败即中断剩余操作;此前子操作是否已落盘**不统一**(纯单元格/结构写入失败时整体不落盘,图表/透视表等对象子操作会提前把累计写入落盘且自身无法回滚),失败后不要假设全回滚或全保留——先看 results 再回读现状确认已生效集合,只补发未生效部分;传 --continue-on-error 遇失败仍继续、已成功部分保留;不支持嵌套;按数组顺序串行执行 |
50
59
  | `--continue-on-error` | bool | optional | 遇子操作失败时继续执行剩余操作;默认 false(首个失败即整批中断) |
51
60
 
61
+ ### `+batch-chart-create`
62
+
63
+ _公共:URL/token(无 sheet 定位) · 系统:`--dry-run`_
64
+
65
+ | Flag | Type | 必填 | 说明 |
66
+ | --- | --- | --- | --- |
67
+ | `--operations` | string + File + Stdin(复合 JSON) | required | 图表创建操作 JSON 数组;每项直接填写 `+chart-create-basic` 的 flag 和目标 sheet 定位,不要再套 `shortcut` / `input`。CLI 内部固定使用 `+chart-create-basic`。默认允许部分失败,成功图表保留,只重试失败项 |
68
+ | `--continue-on-error` | bool | optional | 单个图表失败后是否继续;默认 true |
69
+
70
+ ### `+batch-chart-update`
71
+
72
+ _公共:URL/token(无 sheet 定位) · 系统:`--dry-run`_
73
+
74
+ | Flag | Type | 必填 | 说明 |
75
+ | --- | --- | --- | --- |
76
+ | `--operations` | string + File + Stdin(复合 JSON) | required | 图表更新操作 JSON 数组;每项使用 `+chart-config-update` 或 `+chart-data-update`,input 传对应命令的 flag 集合和目标 sheet 定位。CLI 会先读取各图表当前快照,再生成 partial properties;默认允许部分失败 |
77
+ | `--continue-on-error` | bool | optional | 单个图表失败后是否继续;默认 true |
78
+
52
79
  ### `+dropdown-update`
53
80
 
54
81
  _公共:URL/token(无 sheet 定位) · 系统:`--dry-run`_
@@ -60,7 +87,7 @@ _公共:URL/token(无 sheet 定位) · 系统:`--dry-run`_
60
87
  | `--colors` | string + File + Stdin(简单 JSON) | optional | 下拉胶囊背景色,RGB hex 数组(如 `["#1FB6C1","#F006C2"]`)。长度可短不可长——超长 Validate 拦截(`--colors length (N) must not exceed dropdown source size (M)`),未指定项按内置 10 色色板循环补色。**单独传即生效**;`--highlight=false` 时被忽略。 |
61
88
  | `--multiple` | bool | optional | 启用多选 |
62
89
  | `--highlight` | bool | optional | 下拉胶囊背景色高亮开关。**不传 = 开**(按内置 10 色色板循环上色);`--highlight=false` 关闭得到纯白下拉。配色用 `--colors` 覆盖。 |
63
- | `--source-range` | string | xor | listFromRange 模式的下拉源 range,A1 表示法 + sheet 前缀(如 `'Sheet1'!T1:T3`)。映射到 server `data_validation.range`,搭配 server `data_validation.type='listFromRange'` 自动生效。跟 `--options` 二选一:传 `--options` 走 inline 列表(type=list),传本 flag 走 range 引用(type=listFromRange)。`--colors` 长度规则不变(≤ 源 range 单元格数),`--highlight` / `--multiple` 行为相同。当 `--highlight` 开启且 source 覆盖单元格数超过 2000 时,服务端会将该下拉判为 option-error(这是不支持的组合);CLI 会向 stderr 输出 warning。如需取消,传 `--highlight=false`。 |
90
+ | `--source-range` | string | xor | listFromRange 模式的下拉源 range,A1 表示法 + sheet 前缀(如 `'Sheet1'!T1:T3`)。映射到 server `data_validation.range`,搭配 server `data_validation.type='listFromRange'` 自动生效。跟 `--options` 二选一:传 `--options` 走 inline 列表(type=list),传本 flag 走 range 引用(type=listFromRange)。`--colors` 长度规则不变(≤ 源 range 单元格数),`--highlight` / `--multiple` 行为相同。当 `--highlight` 开启且 source 覆盖单元格数超过 2000 时,服务端会将该下拉判为 option-error(这是不支持的组合);CLI 会在返回结果的 `data.warnings` 中给出 warning。如需取消,传 `--highlight=false`。 |
64
91
 
65
92
  ### `+dropdown-delete`
66
93
 
@@ -88,8 +115,37 @@ _公共:URL/token(无 sheet 定位) · 系统:`--yes`、`--dry-run`_
88
115
  _要批量执行的 CLI shortcut 操作列表,按声明顺序串行执行;任一失败立即中断_
89
116
 
90
117
  **数组项**(类型 object):
91
- - `shortcut` (enum) — CLI shortcut 名(不是底层 MCP tool 名) [+cells-set / +cells-set-style / +cells-clear / +cells-merge / +cells-unmerge / +cells-replace / +csv-put / +dropdown-set / +dim-insert / +dim-delete / +dim-hide / +dim-unhide / +dim-freeze / +dim-group / +dim-ungroup / +rows-resize / +cols-resize / +range-move / +range-copy / +range-fill / +range-sort / +sheet-create / +sheet-delete / +sheet-rename / +sheet-move / +sheet-copy / +sheet-hide / +sheet-unhide / +sheet-set-tab-color / +sheet-show-gridline / +sheet-hide-gridline / +chart-create / +chart-update / +chart-delete / +pivot-create / +pivot-update / +pivot-delete / +cond-format-create / +cond-format-update / +cond-format-delete / +filter-create / +filter-update / +filter-delete / +filter-view-create / +filter-view-update / +filter-view-delete / +sparkline-create / +sparkline-update / +sparkline-delete / +float-image-create / +float-image-update / +float-image-delete]
92
- - `input` (object) — 该 shortcut 的入参集——含子表定位 sheet_id(或 sheet_name),但不含 spreadsheet token/url(后者只在顶层 …
118
+ - `shortcut` (enum) — CLI shortcut 名(不是底层 MCP tool 名) [+cells-set / +cells-set-style / +cells-clear / +cells-merge / +cells-unmerge / +cells-replace / +csv-put / +dropdown-set / +dim-insert / +dim-delete / +dim-hide / +dim-unhide / +dim-freeze / +dim-group / +dim-ungroup / +rows-resize / +cols-resize / +range-move / +range-copy / +range-fill / +range-sort / +sheet-create / +sheet-delete / +sheet-rename / +sheet-move / +sheet-copy / +sheet-hide / +sheet-unhide / +sheet-set-tab-color / +sheet-show-gridline / +sheet-hide-gridline / +chart-create / +chart-update / +chart-delete / +chart-create-basic / +chart-config-update / +chart-data-update / +pivot-create / +pivot-update / +pivot-delete / +cond-format-create / +cond-format-update / +cond-format-delete / +filter-create / +filter-update / +filter-delete / +filter-view-create / +filter-view-update / +filter-view-delete / +sparkline-create / +sparkline-update / +sparkline-delete / +float-image-create / +float-image-update / +float-image-delete]
119
+ - `input` (object) — 该 shortcut 的入参集——含子表定位 sheet_id(或 sheet_name)
120
+
121
+ ### `+batch-chart-create` `--operations`
122
+
123
+
124
+ **数组项**(类型 object):
125
+ - `sheet_id` (string?) — 目标子表 ID;与 sheet_name 二选一
126
+ - `sheet_name` (string?) — 目标子表名;与 sheet_id 二选一
127
+ - `chart_type` (enum) [column / bar / line / area / pie / scatter / combo / radar / bubble / waterfall / pareto]
128
+ - `data_range` (string)
129
+ - `header_range` (string?)
130
+ - `data_direction` (enum?) [row / column]
131
+ - `dim1_index` (integer?)
132
+ - `dim2_indexes` (oneOf?)
133
+ - `series_types` (oneOf?)
134
+ - `series_y_axes` (oneOf?)
135
+ - `key_index` (integer?) — 气泡图标识/名称维度的 1-based 索引;默认 1
136
+ - `x_index` (integer?) — 气泡图 X 值维度的 1-based 索引;与 y_index 同时提供
137
+ - `y_index` (integer?) — 气泡图 Y 值维度的 1-based 索引;与 x_index 同时提供
138
+ - `group_index` (integer?) — 气泡图可选分组维度的 1-based 索引
139
+ - `size_index` (integer?) — 气泡图可选气泡大小维度的 1-based 索引
140
+ - `title` (string?)
141
+ - `anchor_cell` (string?)
142
+
143
+ ### `+batch-chart-update` `--operations`
144
+
145
+
146
+ **数组项**(类型 object):
147
+ - `shortcut` (enum) [+chart-config-update / +chart-data-update]
148
+ - `input` (object) — 对应图表更新 shortcut 的 flag 集合;包含 sheet_id 或 sheet_name,不包含 spreadsheet token/url
93
149
 
94
150
  ### `+dropdown-update` `--options`
95
151
 
@@ -135,9 +191,22 @@ lark-cli sheets +batch-update --url "https://example.feishu.cn/sheets/shtXXX" --
135
191
  > ]
136
192
  > ```
137
193
 
194
+ > **多图表组合**:先完成全部辅助数据,再把每张图的输入放进 `+batch-chart-create`;每项同时记录精确表头范围、数据方向和预期系列数。批次完成后,每个受影响的 sheet 各调用一次 `+chart-list`。已有图表的批量修正改用 `+batch-chart-update`。
195
+ >
196
+ > ```json
197
+ > [
198
+ > {"sheet_name":"Sheet1","chart_type":"column","data_range":"'Sheet1'!A1:C10","title":"分类对比","anchor_cell":"F2"},
199
+ > {"sheet_name":"Sheet1","chart_type":"line","data_range":"'Sheet1'!E1:G10","title":"趋势变化","anchor_cell":"F18"}
200
+ > ]
201
+ > ```
202
+ >
203
+ > ```bash
204
+ > lark-cli sheets +batch-chart-create --url "..." --operations @ops.json
205
+ > ```
206
+
138
207
  ### `+cells-batch-clear`
139
208
 
140
- 多 range 一次性清除(服务端走 `+batch-update` 批量提交,fail-fast、不回滚);`--scope` 同 `+cells-clear`(`content` / `formats` / `all`,默认 `content`),`high-risk-write` 强制 `--yes`:
209
+ 多 range 一次性清除(服务端走 `+batch-update` 批量提交,fail-fast,失败处置见下方「执行语义」);`--scope` 同 `+cells-clear`(`content` / `formats` / `all`,默认 `content`),`high-risk-write` 强制 `--yes`:
141
210
 
142
211
  ```bash
143
212
  # dry-run 先看清除范围
@@ -152,4 +221,4 @@ lark-cli sheets +cells-batch-clear --url "..." \
152
221
 
153
222
  - `Validate`:`+batch-update` 的 `--operations` 必须合法 JSON,且为非空数组;逐个子操作 `shortcut` / `input` 字段必填校验,input 键必须在该 shortcut 的 flag 词汇表内(未知键报错并提示最近似键与完整键契约);**校验错误聚合上报**——所有子操作的首错一次性返回,全部修完再重发一次即可;**禁止嵌套 `+batch-update`**。`+cells-batch-clear` 的 `--ranges` 必须 JSON 数组、每项带 sheet 前缀,`high-risk-write` 强制 `--yes` 或 `--dry-run`(`--scope` 默认 `content`)。
154
223
  - `DryRun`:按顺序输出每个子操作的目标 API + 请求 body 模板,不发起调用。
155
- - `Execute`:按声明顺序串行执行;默认 fail-fast——任一子操作失败即中断剩余操作,**已成功的子操作不回滚**,报错会注明已生效数量与「仅重发失败起的剩余子集」的续发方式。
224
+ - `Execute`:按声明顺序串行执行;默认 fail-fast——任一子操作失败即中断剩余操作。失败后哪些子操作已生效**见上方「执行语义」**(取决于批次构成,不做统一假设),按报错中的子操作状态回读确认后再补发。