@lark-apaas/coding-miaoda-sandbox-skills 0.1.0-dev.28c4f05 → 0.1.0-dev.4e64c13
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/miaoda/animation-skill/SKILL.md +348 -0
- package/miaoda/authz-cli/SKILL.md +1 -0
- package/miaoda/charts-skill/SKILL.md +264 -0
- package/miaoda/creative-to-fullstack/SKILL.md +157 -0
- package/miaoda/creative-to-fullstack/references/artifact-signals.md +46 -0
- package/miaoda/creative-to-fullstack/references/ui-to-function.md +134 -0
- package/miaoda/data-analysis/SKILL.md +151 -0
- package/miaoda/data-analysis/references/json-output-specification.md +277 -0
- package/miaoda/data-analysis/references/post-analysis-guide.md +77 -0
- package/miaoda/data-analysis/references/python-analysis-reference.md +272 -0
- package/miaoda/data-analysis/references/tmp-file-management-guide.md +100 -0
- package/miaoda/debug-investigation/SKILL.md +21 -18
- package/miaoda/extract-json-schema/SKILL.md +147 -0
- package/miaoda/lark-apps/SKILL.md +37 -0
- package/miaoda/lark-apps/references/openapi-key.md +80 -0
- package/miaoda/lark-apps-authz/SKILL.md +292 -0
- package/miaoda/lark-apps-authz/references/permission-points.md +39 -0
- package/miaoda/lark-apps-authz/references/role.md +122 -0
- package/miaoda/lark-apps-db/SKILL.md +226 -0
- package/miaoda/lark-apps-db/references/full-reference.md +302 -0
- package/miaoda/lark-apps-file/SKILL.md +216 -0
- package/miaoda/lark-apps-ops/SKILL.md +62 -0
- package/miaoda/lark-apps-ops/references/lark-apps-access-scope-get.md +30 -0
- package/miaoda/lark-apps-ops/references/lark-apps-access-scope-set.md +40 -0
- package/miaoda/lark-apps-ops/references/lark-apps-cache.md +62 -0
- package/miaoda/lark-apps-ops/references/lark-apps-env.md +46 -0
- package/miaoda/lark-apps-ops/references/lark-apps-local-dev.md +25 -0
- package/miaoda/lark-apps-ops/references/lark-apps-member.md +93 -0
- package/miaoda/lark-apps-ops/references/lark-apps-observability.md +46 -0
- package/miaoda/lark-apps-ops/references/lark-apps-plugin-install.md +36 -0
- package/miaoda/lark-apps-ops/references/lark-apps-plugin-list.md +23 -0
- package/miaoda/lark-apps-ops/references/lark-apps-plugin-uninstall.md +25 -0
- package/miaoda/lark-apps-ops/references/lark-apps-release-create.md +30 -0
- package/miaoda/lark-apps-ops/references/lark-apps-release-get.md +28 -0
- package/miaoda/lark-apps-ops/references/lark-apps-release-list.md +31 -0
- package/miaoda/lark-apps-ops/references/lark-apps-update.md +30 -0
- package/miaoda/lark-apps-ops/references/openapi-key.md +80 -0
- package/miaoda/miaoda-file/SKILL.md +1 -0
- package/miaoda/miaoda-sql/SKILL.md +6 -2
- package/miaoda/performance-review/SKILL.md +144 -0
- package/miaoda/performance-review/references/business-analyzer.md +139 -0
- package/miaoda/performance-review/references/examples.md +107 -0
- package/miaoda/reviewer-usage/SKILL.md +111 -0
- package/miaoda/testing-guide/SKILL.md +218 -0
- package/miaoda-design/lark-apps-comment/SKILL.md +110 -0
- package/miaoda-design/lark-apps-ops/SKILL.md +45 -0
- package/miaoda-design/lark-apps-ops/references/lark-apps-release-create.md +51 -0
- package/miaoda-design/lark-apps-ops/references/lark-apps-release-get.md +28 -0
- package/miaoda-design/lark-apps-ops/references/lark-apps-release-list.md +31 -0
- package/miaoda-design/lark-apps-ops/references/lark-apps-update.md +33 -0
- package/{shared → miaoda-modern}/lark-apps/SKILL.md +5 -5
- package/miaoda-modern/lark-apps/references/openapi-key.md +80 -0
- package/miaoda-modern/lark-apps-ops/SKILL.md +62 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-access-scope-get.md +30 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-access-scope-set.md +40 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-cache.md +62 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-env.md +46 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-local-dev.md +25 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-member.md +93 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-observability.md +46 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-plugin-install.md +36 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-plugin-list.md +23 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-plugin-uninstall.md +25 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-release-create.md +30 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-release-get.md +28 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-release-list.md +31 -0
- package/miaoda-modern/lark-apps-ops/references/lark-apps-update.md +30 -0
- package/{shared/lark-apps → miaoda-modern/lark-apps-ops}/references/openapi-key.md +3 -3
- package/miaoda-modern/memory/SKILL.md +86 -0
- package/package.json +1 -1
- package/shared/lark-cli/SKILL.md +221 -0
- package/shared/lark-cli/lark-base/README.md +56 -0
- package/shared/lark-cli/lark-base/references/lark-base-commands.md +108 -0
- package/shared/lark-cli/lark-calendar/README.md +158 -0
- package/shared/lark-cli/lark-calendar/references/lark-calendar-meeting.md +30 -0
- package/shared/lark-cli/lark-calendar/references/lark-calendar-room-find.md +108 -0
- package/shared/lark-cli/lark-calendar/references/lark-calendar-suggestion.md +120 -0
- package/shared/lark-cli/lark-contact/README.md +35 -0
- package/shared/lark-cli/lark-contact/references/lark-contact-get-user.md +13 -0
- package/shared/lark-cli/lark-contact/references/lark-contact-search-user.md +121 -0
- package/shared/lark-cli/lark-doc/README.md +67 -0
- package/shared/lark-cli/lark-doc/references/lark-doc-fetch.md +138 -0
- package/shared/lark-cli/lark-doc/references/lark-doc-history.md +61 -0
- package/shared/lark-cli/lark-drive/README.md +129 -0
- package/shared/lark-cli/lark-drive/references/lark-drive-files-list.md +183 -0
- package/shared/lark-cli/lark-im/README.md +84 -0
- package/shared/lark-cli/lark-im/references/lark-im-chat-list.md +140 -0
- package/shared/lark-cli/lark-im/references/lark-im-chat-members-list.md +84 -0
- package/shared/lark-cli/lark-im/references/lark-im-chat-search.md +135 -0
- package/shared/lark-cli/lark-im/references/lark-im-reactions.md +232 -0
- package/shared/lark-cli/lark-minutes/README.md +51 -0
- package/shared/lark-cli/lark-minutes/references/lark-minutes-download.md +130 -0
- package/shared/lark-cli/lark-sheets/README.md +173 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-changeset.md +105 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-chart.md +45 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-conditional-format.md +42 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-filter-view.md +49 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-filter.md +42 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-float-image.md +43 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-formula-verify.md +64 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-history.md +70 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-pivot-table.md +44 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-read-data.md +216 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-search-replace.md +67 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-sheet-structure.md +52 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-sparkline.md +47 -0
- package/shared/lark-cli/lark-sheets/references/lark-sheets-workbook.md +69 -0
- package/shared/lark-cli/lark-sheets/scripts/sheets_df.py +32 -0
- package/shared/lark-cli/lark-slides/README.md +86 -0
- package/shared/lark-cli/lark-slides/references/lark-slides-history.md +105 -0
- package/shared/lark-cli/lark-slides/references/lark-slides-xml-presentation-slide-get.md +108 -0
- package/shared/lark-cli/lark-slides/references/lark-slides-xml-presentations-get.md +77 -0
- package/shared/lark-cli/lark-task/README.md +93 -0
- package/shared/lark-cli/lark-task/references/lark-task-get-my-tasks.md +57 -0
- package/shared/lark-cli/lark-task/references/lark-task-get-related-tasks.md +49 -0
- package/shared/lark-cli/lark-task/references/lark-task-search.md +36 -0
- package/shared/lark-cli/lark-task/references/lark-task-tasklist-search.md +35 -0
- package/shared/lark-cli/lark-vc/README.md +40 -0
- package/shared/lark-cli/lark-vc/references/lark-vc-recording.md +31 -0
- package/shared/lark-cli/lark-whiteboard/README.md +35 -0
- package/shared/lark-cli/lark-whiteboard/references/lark-whiteboard-export.md +59 -0
- package/shared/lark-cli/lark-wiki/README.md +50 -0
- package/shared/lark-cli/lark-wiki/references/lark-wiki-node-get.md +59 -0
- package/shared/lark-cli/lark-wiki/references/lark-wiki-node-list.md +95 -0
- package/shared/lark-cli/lark-wiki/references/lark-wiki-space-list.md +68 -0
- package/miaoda-design/attachment/SKILL.md +0 -58
- /package/{shared → miaoda}/memory/SKILL.md +0 -0
- /package/{shared → miaoda-modern}/animation-skill/SKILL.md +0 -0
- /package/{shared → miaoda-modern}/charts-skill/SKILL.md +0 -0
- /package/{shared → miaoda-modern}/data-analysis/SKILL.md +0 -0
- /package/{shared → miaoda-modern}/data-analysis/references/json-output-specification.md +0 -0
- /package/{shared → miaoda-modern}/data-analysis/references/post-analysis-guide.md +0 -0
- /package/{shared → miaoda-modern}/data-analysis/references/python-analysis-reference.md +0 -0
- /package/{shared → miaoda-modern}/data-analysis/references/tmp-file-management-guide.md +0 -0
- /package/{shared → miaoda-modern}/extract-json-schema/SKILL.md +0 -0
- /package/{shared → miaoda-modern}/performance-review/SKILL.md +0 -0
- /package/{shared → miaoda-modern}/performance-review/references/business-analyzer.md +0 -0
- /package/{shared → miaoda-modern}/performance-review/references/examples.md +0 -0
- /package/{shared → miaoda-modern}/reviewer-usage/SKILL.md +0 -0
- /package/{shared → miaoda-modern}/testing-guide/SKILL.md +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Lark Sheet Changeset
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
读取两个版本之间的 **changeset(变更操作清单)**,用于**复核某次编辑(尤其是 AI 编辑)是否真实满足用户诉求**。
|
|
6
|
+
|
|
7
|
+
典型场景:AI agent 对表格做了一批编辑后,想确认它"说做的"和"真正落到表格上的"是否一致——拉取编辑前版本到编辑后版本之间的 changeset,逐条核对 action 是否覆盖了用户要求的修改、有没有多改 / 漏改。
|
|
8
|
+
|
|
9
|
+
## 版本(revision)语义
|
|
10
|
+
|
|
11
|
+
- 这里的"版本"指表格的 **CS revision**(每次提交单调递增的修订号),不是文档历史里的命名版本。
|
|
12
|
+
- `--start-revision` 是复核基线,即你认定的"编辑前"版本。
|
|
13
|
+
- `--end-revision` 是"编辑后"版本;**省略时默认取最新 revision**,返回从 start 到最新的全部 changeset。
|
|
14
|
+
- **版本差上限 20**:`end - start + 1 ≤ 20`,超出会被拒绝(服务端同样以 20 兜底)。复核大跨度变更时请分段拉取。
|
|
15
|
+
|
|
16
|
+
## Shortcuts
|
|
17
|
+
|
|
18
|
+
| Shortcut | Risk | 分组 |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| `+changeset-get` | read | 变更记录 |
|
|
21
|
+
|
|
22
|
+
## Flags
|
|
23
|
+
|
|
24
|
+
### `+changeset-get`
|
|
25
|
+
|
|
26
|
+
_公共:URL/token(无 sheet 定位)_
|
|
27
|
+
|
|
28
|
+
| Flag | Type | 必填 | 说明 |
|
|
29
|
+
| --- | --- | --- | --- |
|
|
30
|
+
| `--start-revision` | int | required | 起始版本(编辑前基线,>= 1) |
|
|
31
|
+
| `--end-revision` | int | optional | 结束版本(省略取最新) |
|
|
32
|
+
|
|
33
|
+
## 返回结构
|
|
34
|
+
|
|
35
|
+
返回一个 JSON 对象,`changesets` 数组按版本顺序排列,每个元素是一次提交的**原始 action 列表**与元信息:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"spreadsheet_token": "shtcnXXXX",
|
|
40
|
+
"latest_revision": 142,
|
|
41
|
+
"start_revision": 120,
|
|
42
|
+
"end_revision": 135,
|
|
43
|
+
"changesets": [
|
|
44
|
+
{
|
|
45
|
+
"revision": 121,
|
|
46
|
+
"create_time": "2026-06-12T10:00:00Z",
|
|
47
|
+
"actions": [
|
|
48
|
+
{ "action": "setCellRange", "sheetId": "...", "value": { /* ... */ } }
|
|
49
|
+
],
|
|
50
|
+
"is_self_edit": false,
|
|
51
|
+
"is_ai_edit": true
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- 最外层 `latest_revision` 是**当前表格的最新版本号**(与查询区间无关),便于判断表格当前停在哪个版本、`--start-revision` 该取多少。
|
|
58
|
+
- `actions` 是**未经语义渲染的原始操作对象**,按提交内的执行顺序排列。复核时逐条比对:每个 action 改了哪个 sheet、哪个区域、改成什么,是否对应用户的诉求。
|
|
59
|
+
- `revision` / `create_time` 用于判断"这次改动属于哪个版本、什么时候做的"。
|
|
60
|
+
- `is_self_edit` 表示该 changeset 是否由当前请求用户提交(committer 与请求用户相同),即"是不是我自己提交的编辑"。
|
|
61
|
+
- `is_ai_edit` 表示该 changeset 是否由 AI 客户端提交(`member_id` 为 10 / 11)。复核时 `is_ai_edit=true` 即为 AI 写入的编辑(而非用户手动编辑),是核对 AI 是否完成诉求的主要对象。
|
|
62
|
+
|
|
63
|
+
## 复核工作流(判断 AI 是否真实完成诉求)
|
|
64
|
+
|
|
65
|
+
1. 记下 AI 开始编辑前的 revision(编辑前 `+workbook-info` 或上一次工具返回的 revision 即可作为 `--start-revision`)。
|
|
66
|
+
2. AI 编辑完成后,跑 `+changeset-get --url <表格> --start-revision <编辑前版本>`(不传 end → 取到最新)。
|
|
67
|
+
3. 遍历 `changesets[].actions`,核对:
|
|
68
|
+
- 用户要求的每一处修改是否都有对应 action;
|
|
69
|
+
- 有没有越权 / 多余的修改(动了用户没让动的 sheet / 区域);
|
|
70
|
+
- action 的目标区域、值是否与诉求一致。
|
|
71
|
+
4. 若版本跨度可能 > 20,分段拉取(如 `start..start+19`、`start+20..` …)。
|
|
72
|
+
|
|
73
|
+
## 注意
|
|
74
|
+
|
|
75
|
+
- `+changeset-get` 是**只读**操作,不改动表格。
|
|
76
|
+
- 大跨度 / 大批量编辑的 changeset 可能体积较大;输出在传输层已 gzip。必要时缩小版本区间。
|
|
77
|
+
- 该工具走只读 scope `sheets:spreadsheet:read`,需要对表格有查看权限。
|
|
78
|
+
|
|
79
|
+
## Examples
|
|
80
|
+
|
|
81
|
+
### `+changeset-get`
|
|
82
|
+
|
|
83
|
+
公共:`--url` / `--spreadsheet-token`(二选一,无 sheet 定位)。changeset 是工作簿级历史,不接受 sheet 定位 flag。
|
|
84
|
+
|
|
85
|
+
示例:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# 只传起始版本 → 返回从该版本到最新的全部 changeset(最常用:复核 AI 编辑前后的差异)
|
|
89
|
+
lark-cli sheets +changeset-get --url "https://example.feishu.cn/sheets/shtXXX" --start-revision 120
|
|
90
|
+
|
|
91
|
+
# 传起始 + 结束版本(版本差 end-start+1 ≤ 20)
|
|
92
|
+
lark-cli sheets +changeset-get --spreadsheet-token shtXXX --start-revision 120 --end-revision 135
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
输出契约(envelope.data):
|
|
96
|
+
|
|
97
|
+
- `latest_revision` — 当前表格最新版本号(与查询区间无关)
|
|
98
|
+
- `start_revision` / `end_revision` — 实际查询区间(省略 `--end-revision` 时 `end_revision` = 最新版本)
|
|
99
|
+
- `changesets[]` — 按版本顺序排列;每项含 `revision` / `create_time` / `actions`(原始操作列表)/ `is_self_edit` / `is_ai_edit`
|
|
100
|
+
|
|
101
|
+
### Validate / DryRun / Execute 约束
|
|
102
|
+
|
|
103
|
+
- `Validate` 阶段只做 XOR 检查(`--url` / `--spreadsheet-token` 二选一)与版本上限校验(`--start-revision ≥ 1`,传了 `--end-revision` 时 `end ≥ start` 且 `end - start + 1 ≤ 20`);**禁止**联网。
|
|
104
|
+
- `DryRun` 输出请求模板,不实际拉取 changeset。
|
|
105
|
+
- `Execute` 阶段才发起 changeset 查询;省略 `--end-revision` 时由服务端解析为最新 revision。
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Lark Sheet Chart
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
查看飞书表格中已有图表对象的配置。本 reference 覆盖 1 个只读 shortcut:
|
|
6
|
+
|
|
7
|
+
| 操作需求 | 使用工具 | 说明 |
|
|
8
|
+
|---------|---------|------|
|
|
9
|
+
| 查看已有图表 | `+chart-list` | 获取图表的类型、数据源和样式配置 |
|
|
10
|
+
|
|
11
|
+
> **跨 sheet 提示**:图表可能分布在多个子表;先 `+workbook-info` 掌握全局,再按子表 `+chart-list`。
|
|
12
|
+
|
|
13
|
+
## Shortcuts
|
|
14
|
+
|
|
15
|
+
| Shortcut | Risk | 分组 |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `+chart-list` | read | 对象 |
|
|
18
|
+
|
|
19
|
+
## Flags
|
|
20
|
+
|
|
21
|
+
### `+chart-list`
|
|
22
|
+
|
|
23
|
+
_公共四件套 · 系统:`--dry-run`_
|
|
24
|
+
|
|
25
|
+
| Flag | Type | 必填 | 说明 |
|
|
26
|
+
| --- | --- | --- | --- |
|
|
27
|
+
| `--chart-id` | string | optional | 指定单个图表 reference_id 过滤 |
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
公共四件套:`--url` / `--spreadsheet-token` / `--sheet-id` / `--sheet-name`(前两者 XOR,后两者 XOR)。
|
|
32
|
+
|
|
33
|
+
### `+chart-list`
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
lark-cli sheets +chart-list --url "https://example.feishu.cn/sheets/shtXXX" --sheet-id "$SID"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
输出契约:返回按工作表分组的图表列表,每个图表含 `chart_id` / `position` / `details.snapshot` 等。
|
|
40
|
+
|
|
41
|
+
### Validate / DryRun / Execute 约束
|
|
42
|
+
|
|
43
|
+
- `Validate`:XOR 公共四件套。
|
|
44
|
+
- `DryRun`:输出请求模板,零网络副作用。
|
|
45
|
+
- `Execute`:发起图表列表查询。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Lark Sheet Conditional Format
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
查看飞书表格中已有条件格式规则的配置。本 reference 覆盖 1 个只读 shortcut:
|
|
6
|
+
|
|
7
|
+
| 操作需求 | 使用工具 | 说明 |
|
|
8
|
+
|---------|---------|------|
|
|
9
|
+
| 查看已有条件格式 | `+cond-format-list` | 获取规则类型、范围和样式配置 |
|
|
10
|
+
|
|
11
|
+
## Shortcuts
|
|
12
|
+
|
|
13
|
+
| Shortcut | Risk | 分组 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `+cond-format-list` | read | 对象 |
|
|
16
|
+
|
|
17
|
+
## Flags
|
|
18
|
+
|
|
19
|
+
### `+cond-format-list`
|
|
20
|
+
|
|
21
|
+
_公共四件套 · 系统:`--dry-run`_
|
|
22
|
+
|
|
23
|
+
| Flag | Type | 必填 | 说明 |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| `--rule-id` | string | optional | 按规则 id 过滤 |
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
公共四件套:所有 shortcut 顶部排列 `--url` / `--spreadsheet-token` / `--sheet-id` / `--sheet-name`(XOR)。
|
|
30
|
+
|
|
31
|
+
### `+cond-format-list`
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 列出当前 sheet 全部条件格式规则(含 rule_id、rule_type、范围与样式)
|
|
35
|
+
lark-cli sheets +cond-format-list --url "..." --sheet-id "$SID"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Validate / DryRun / Execute 约束
|
|
39
|
+
|
|
40
|
+
- `Validate`:XOR 公共四件套。
|
|
41
|
+
- `DryRun`:输出请求模板,零网络副作用。
|
|
42
|
+
- `Execute`:发起条件格式列表查询。
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Lark Sheet Filter View
|
|
2
|
+
|
|
3
|
+
## 概念回顾
|
|
4
|
+
|
|
5
|
+
筛选视图是 sheet 内的多份独立筛选配置,每个视图持有自己的 `range` 和 `rules`,由独立 `view_id`(10 位随机字符串)标识。一个 sheet 可有多个视图,视图的隐藏行仅在用户进入该视图时本地生效,不影响其他协作者,也不与该 sheet 上可能并存的筛选器(filter)互相影响。
|
|
6
|
+
|
|
7
|
+
## 使用场景
|
|
8
|
+
|
|
9
|
+
查看飞书表格中已有筛选视图对象的配置。本 reference 覆盖 1 个只读 shortcut:
|
|
10
|
+
|
|
11
|
+
| 操作需求 | 使用工具 | 说明 |
|
|
12
|
+
|---------|---------|------|
|
|
13
|
+
| 查看已有筛选视图 | `+filter-view-list` | 获取 sheet 上所有视图(视图名、范围、规则) |
|
|
14
|
+
|
|
15
|
+
## Shortcuts
|
|
16
|
+
|
|
17
|
+
| Shortcut | Risk | 分组 |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| `+filter-view-list` | read | 对象 |
|
|
20
|
+
|
|
21
|
+
## Flags
|
|
22
|
+
|
|
23
|
+
### `+filter-view-list`
|
|
24
|
+
|
|
25
|
+
_公共四件套 · 系统:`--dry-run`_
|
|
26
|
+
|
|
27
|
+
| Flag | Type | 必填 | 说明 |
|
|
28
|
+
| --- | --- | --- | --- |
|
|
29
|
+
| `--view-id` | string | optional | 按筛选视图 reference_id 过滤(命中即只返回单个视图) |
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
公共四件套:所有 shortcut 顶部排列 `--url` / `--spreadsheet-token` / `--sheet-id` / `--sheet-name`(XOR)。`view_id` 是 10 位随机字符串,每个 sheet 可有多个视图。
|
|
34
|
+
|
|
35
|
+
### `+filter-view-list`
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# 列出某个 sheet 的全部筛选视图
|
|
39
|
+
lark-cli sheets +filter-view-list --url "..." --sheet-id "$SID"
|
|
40
|
+
|
|
41
|
+
# 按 view_id 精确定位
|
|
42
|
+
lark-cli sheets +filter-view-list --url "..." --sheet-id "$SID" --view-id vAbcde1234
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Validate / DryRun / Execute 约束
|
|
46
|
+
|
|
47
|
+
- `Validate`:XOR 公共四件套。
|
|
48
|
+
- `DryRun`:输出请求模板,零网络副作用;`--sheet-name` 在 dry-run 输出里生成为 `<resolve:Sheet1>` 占位符。
|
|
49
|
+
- `Execute`:发起筛选视图查询(返回各视图的 range + rules)。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Lark Sheet Filter
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
查看飞书表格中已有筛选器(filter)对象的配置。本 reference 覆盖 1 个只读 shortcut:
|
|
6
|
+
|
|
7
|
+
| 操作需求 | 使用工具 | 说明 |
|
|
8
|
+
|---------|---------|------|
|
|
9
|
+
| 查看已有筛选器 | `+filter-list` | 获取筛选器的范围、规则和条件配置 |
|
|
10
|
+
|
|
11
|
+
> 每个工作表至多一个筛选器,`filter_id` 等于该工作表的 `sheet_id`。
|
|
12
|
+
|
|
13
|
+
## Shortcuts
|
|
14
|
+
|
|
15
|
+
| Shortcut | Risk | 分组 |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `+filter-list` | read | 对象 |
|
|
18
|
+
|
|
19
|
+
## Flags
|
|
20
|
+
|
|
21
|
+
### `+filter-list`
|
|
22
|
+
|
|
23
|
+
_公共四件套 · 系统:`--dry-run`_
|
|
24
|
+
|
|
25
|
+
_仅含公共 / 系统 flag。_
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
公共四件套:所有 shortcut 顶部排列 `--url` / `--spreadsheet-token` / `--sheet-id` / `--sheet-name`(XOR)。`filter_id` 等同于 `sheet_id`(每个工作表至多一个筛选器)。
|
|
30
|
+
|
|
31
|
+
### `+filter-list`
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 查看当前 sheet 的筛选器配置(filter_id 等于 sheet_id)
|
|
35
|
+
lark-cli sheets +filter-list --url "..." --sheet-id "$SID"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Validate / DryRun / Execute 约束
|
|
39
|
+
|
|
40
|
+
- `Validate`:XOR 公共四件套。
|
|
41
|
+
- `DryRun`:输出请求模板,零网络副作用。
|
|
42
|
+
- `Execute`:发起筛选器查询(返回当前筛选条件 + 已过滤行数)。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Lark Sheet Float Image
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
查看飞书表格中已有**浮动图片**对象的配置(悬浮在单元格上方的图片,不属于单元格内容;与随行走的单元格内嵌图片不同)。本 reference 覆盖 1 个只读 shortcut:
|
|
6
|
+
|
|
7
|
+
| 操作需求 | 使用工具 | 说明 |
|
|
8
|
+
|---------|---------|------|
|
|
9
|
+
| 查看已有浮动图片 | `+float-image-list` | 获取浮动图片的位置、大小和层级配置 |
|
|
10
|
+
|
|
11
|
+
## Shortcuts
|
|
12
|
+
|
|
13
|
+
| Shortcut | Risk | 分组 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `+float-image-list` | read | 对象 |
|
|
16
|
+
|
|
17
|
+
## Flags
|
|
18
|
+
|
|
19
|
+
### `+float-image-list`
|
|
20
|
+
|
|
21
|
+
_公共四件套 · 系统:`--dry-run`_
|
|
22
|
+
|
|
23
|
+
| Flag | Type | 必填 | 说明 |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| `--float-image-id` | string | optional | 按 id 过滤;省略时列工作表全部 |
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
公共四件套:所有 shortcut 顶部排列 `--url` / `--spreadsheet-token` / `--sheet-id` / `--sheet-name`(XOR)。浮动图片是 sheet 级对象。
|
|
30
|
+
|
|
31
|
+
### `+float-image-list`
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
lark-cli sheets +float-image-list --url "..." --sheet-id "$SID"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
返回每张浮动图片的 `image_token` / `position` / `size` / `z-index` 等。
|
|
38
|
+
|
|
39
|
+
### Validate / DryRun / Execute 约束
|
|
40
|
+
|
|
41
|
+
- `Validate`:XOR 公共四件套。
|
|
42
|
+
- `DryRun`:输出请求模板,零网络副作用。
|
|
43
|
+
- `Execute`:发起浮动图片列表查询。
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Lark Sheet Formula Verify(+formula-verify)
|
|
2
|
+
|
|
3
|
+
> **本文定位**:飞书表格"公式是否真的零错误"的**只读**自检入口。`+formula-verify` 对指定子表(或整本工作簿)扫描公式与单元格值,一次调用聚合全表错误清单 + 编译失败清单 + 每类错误的定位与样本,让你快速核对一张表的公式健康度。它**不改动表格**。
|
|
4
|
+
|
|
5
|
+
## 为什么需要自检
|
|
6
|
+
|
|
7
|
+
飞书在线表格已经实时算好结果,但"算出来"和"算对了"是两件事。常见缺口:
|
|
8
|
+
|
|
9
|
+
- 公式编译失败 → 单元格落成文本(写入类操作留下的 `formula_errors[]` 是**编译失败**信号)。
|
|
10
|
+
- 公式编译成功但**运行时错误**:`#REF!` / `#DIV/0!` / `#VALUE!` / `#NAME?` / `#NULL!` / `#NUM!` / `#N/A`——这一类只看 `formula_errors[]` 看不到,必须扫单元格值。
|
|
11
|
+
|
|
12
|
+
`+formula-verify` 把两路信号合并成一份统一 JSON:一次调用聚合全表错误清单 + 编译失败清单 + 每类错误的定位与样本,AI 一眼就能定位问题。
|
|
13
|
+
|
|
14
|
+
## 调用契约
|
|
15
|
+
|
|
16
|
+
最小调用形态:
|
|
17
|
+
|
|
18
|
+
| 入参 | 含义 |
|
|
19
|
+
|---|---|
|
|
20
|
+
| `--url` / `--spreadsheet-token` | 表格定位(XOR 二选一,必填) |
|
|
21
|
+
| `--sheet-id` / `--sheet-name` | 限定子表(mutually exclusive;省略则扫全部可见子表) |
|
|
22
|
+
| `--range` | 限定 A1 范围;省略则用各 sheet 的 `current_region` |
|
|
23
|
+
| `--max-locations` | 每类错误样本上限,默认 20 |
|
|
24
|
+
| `--ai-only` | 只校验 AI 公式(`=AI(prompt, [range])`),跳过普通公式的 7 类 Excel 错误扫描。AI 公式是异步计算的:把这个 flag 配 `--range` 当写后的**第一次抽样检查**,不要用 `+cells-get` 轮询;抽样里没有明确的 failed / unsupported 状态时,可以在告知用户「计算仍在后台进行」的前提下继续交付,不必卡着等 pending 公式算完 |
|
|
25
|
+
| `--exit-on-error` | `status='errors_found'` 时返回非 0 退出码(CI 网关用) |
|
|
26
|
+
|
|
27
|
+
返回核心字段:
|
|
28
|
+
|
|
29
|
+
- `status` ∈ `success` / `errors_found` / `partial`——**唯一可机读的健康度判据**。
|
|
30
|
+
- `total_errors` / `total_formulas` / `scanned_cells`——本次扫描规模指标。
|
|
31
|
+
- `has_more`——为 true 表示扫描被内部上限截断(详见后文「截断与续读」),未覆盖完整范围。
|
|
32
|
+
- `error_summary[<错误类型>]`——每类错误的 `count` / `locations[]` / `samples[].{address,formula,depends_on}`。
|
|
33
|
+
- `compile_errors[]`——合并最近一次写入留下的编译失败清单,与运行时错误并存时同时出现。
|
|
34
|
+
- `warning_message`——仅在 `has_more=true` 时出现,告知调用方需要缩小 `--range` / 拆 `--sheet-id` 续读。
|
|
35
|
+
|
|
36
|
+
## 结果判读规则
|
|
37
|
+
|
|
38
|
+
- `status='success'` → 该扫描范围内公式零错误。
|
|
39
|
+
- `status='partial'` → 扫描被内部上限截断,只覆盖了一部分。先缩小 `--range` 或拆 `--sheet-id` 续扫,**不允许**把 `partial` 当作 `success`。
|
|
40
|
+
- `status='errors_found'` 且 `compile_errors[]` 非空 → 存在编译失败(这些单元格此刻是文本、不是公式);按 `compile_errors[].reason` 定位是哪类语法问题(飞书函数名 / 范围语法 / 引用样式)。
|
|
41
|
+
- `status='errors_found'` 且只剩运行时错误 → 按 `error_summary` 的 `samples[].formula` + `depends_on` 排查根因(零除?空值参与运算?引用越界?日期差写法?数组语义?)。
|
|
42
|
+
|
|
43
|
+
注意:
|
|
44
|
+
|
|
45
|
+
- "编译失败但运行时无报错"不算 zero-error(编译失败的单元格此刻是文本不是公式,源数据一变就再也算不出值)。
|
|
46
|
+
- 靠肉眼读首末 5 行确认是不可靠的——表中段、隐藏行、合并区里的错误这样根本看不到。
|
|
47
|
+
- 修复公式属于写操作,不在本只读命令的范围内;把 `+formula-verify` 报出的错误定位转述给用户即可。
|
|
48
|
+
|
|
49
|
+
## 截断与续读
|
|
50
|
+
|
|
51
|
+
后端有一个内部硬上限对总扫描单元格数做截断(不暴露给调用方),超过后立即返回 `has_more=true` + `warning_message`,`error_summary` / `compile_errors` 仅覆盖已扫描部分。处理路径:
|
|
52
|
+
|
|
53
|
+
- 把工作簿按 `--sheet-id` / `--sheet-name` 拆成多次调用。
|
|
54
|
+
- 同 sheet 内按 `--range` 切片(如先 `A1:Z200` 再 `AA1:AZ200`),逐块自检。
|
|
55
|
+
- 每块都跑到 `has_more=false` 且 `status='success'` 才算这块通过。
|
|
56
|
+
|
|
57
|
+
## 常见陷阱
|
|
58
|
+
|
|
59
|
+
| 坑 | 应对 |
|
|
60
|
+
|---|---|
|
|
61
|
+
| 错误字符串本地化 | 后端按内部 `error_kind` / `compute_status` 字段识别错误类别,不走字符串匹配;调用方拿到的 7 类英文错误代码由后端统一规范输出,与 locale 无关。 |
|
|
62
|
+
| `formatted_value` 可能隐藏错误 | 某些条件格式 / 自定义数字格式会把 `#DIV/0!` 显示成空白。后端直接读 cell `error_kind`,不依赖 `formatted_value`,绕开此类被遮蔽。 |
|
|
63
|
+
| 把 `partial` 当 `success` | `partial` 仅表示**已扫描部分**无错误,剩余区域未知。必须续扫直到 `has_more=false` 且 `status='success'` 才能算通过。 |
|
|
64
|
+
| 编译失败 vs 运行时错误 | 同一份报告里 `compile_errors[]` 与 `error_summary` 并存。先看 `compile_errors[]`(编译失败)、再看运行时错误。 |
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Lark Sheet History
|
|
2
|
+
|
|
3
|
+
## 概念回顾
|
|
4
|
+
|
|
5
|
+
每张飞书电子表格保留一串历史版本(`minor_histories`)。每个版本由 `history_version_id` 标识,并附带创建时间(`create_time`)、动作(`action`)与块修订信息(`all_block_revision`)。历史是**工作簿级**的(针对整张电子表格,不针对单个子表)。
|
|
6
|
+
|
|
7
|
+
`+history-list` 读取版本列表;`+history-revert-status` 轮询某次回滚任务的状态(进行中 / 成功 / 失败)。若只是想拿**当前文档版本号(revision)**当作 `+changeset-get` 的起点锚点,直接用 `+revision-get`(见 `lark-sheets-workbook`)更轻量。
|
|
8
|
+
|
|
9
|
+
## 使用场景
|
|
10
|
+
|
|
11
|
+
读取历史版本列表、查询回滚状态。本 reference 覆盖 2 个只读 shortcut:
|
|
12
|
+
|
|
13
|
+
| 操作需求 | 使用工具 | 说明 |
|
|
14
|
+
|---------|---------|------|
|
|
15
|
+
| 查看历史版本列表 | `+history-list` | 返回 `minor_histories`,每条含 `history_version_id` / `create_time` / `action` / `all_block_revision` 四个字段;支持向前分页(可选 `--end-version`) |
|
|
16
|
+
| 查询回滚状态 | `+history-revert-status` | 传入 `--transaction-id`(回滚任务的异步受理标识);轮询某次回滚的进行中 / 成功 / 失败状态 |
|
|
17
|
+
|
|
18
|
+
**注意事项(必须了解)**:
|
|
19
|
+
- **历史是工作簿级**:定位只需 `--url` / `--spreadsheet-token`(XOR),不需要子表选择器。
|
|
20
|
+
- **`+history-list` 倒序分页**:首次查省略 `--end-version`,返回最新一页;若响应里附带 `next_end_version` 与 `has_more=true`,把 `next_end_version` 作为下一次的 `--end-version` 即可继续向更早翻页;当响应**不包含**这两个字段时表示已到最早一页,不必再翻。
|
|
21
|
+
- **`+history-revert-status` 是只读轮询**:`--transaction-id` 是某次回滚任务的受理标识;回滚本身是高风险写操作,不在本只读集合内。
|
|
22
|
+
|
|
23
|
+
## Shortcuts
|
|
24
|
+
|
|
25
|
+
| Shortcut | Risk | 分组 |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| `+history-list` | read | 历史版本 |
|
|
28
|
+
| `+history-revert-status` | read | 历史版本 |
|
|
29
|
+
|
|
30
|
+
## Flags
|
|
31
|
+
|
|
32
|
+
### `+history-list`
|
|
33
|
+
|
|
34
|
+
_公共:URL/token(无 sheet 定位) · 系统:`--dry-run`_
|
|
35
|
+
|
|
36
|
+
| Flag | Type | 必填 | 说明 |
|
|
37
|
+
| --- | --- | --- | --- |
|
|
38
|
+
| `--end-version` | int | optional | 分页查询的最大版本(倒序);首次查询省略,下一页传上一页返回的 next_end_version。 |
|
|
39
|
+
|
|
40
|
+
### `+history-revert-status`
|
|
41
|
+
|
|
42
|
+
_公共:URL/token(无 sheet 定位) · 系统:`--dry-run`_
|
|
43
|
+
|
|
44
|
+
| Flag | Type | 必填 | 说明 |
|
|
45
|
+
| --- | --- | --- | --- |
|
|
46
|
+
| `--transaction-id` | string | required | 异步回滚的受理标识 |
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
|
|
50
|
+
公共定位:所有 shortcut 顶部排列 `--url` / `--spreadsheet-token`(XOR,二选一)。
|
|
51
|
+
|
|
52
|
+
### `+history-list`
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 列出某张电子表格的最新一页历史版本
|
|
56
|
+
lark-cli sheets +history-list --url "https://sample.feishu.cn/sheets/SHTxxxxxx"
|
|
57
|
+
|
|
58
|
+
# 用原始 spreadsheet token 定位
|
|
59
|
+
lark-cli sheets +history-list --spreadsheet-token "SHTxxxxxx"
|
|
60
|
+
|
|
61
|
+
# 翻到下一页:把上次响应里的 next_end_version 作为 --end-version 传入
|
|
62
|
+
lark-cli sheets +history-list --url "https://sample.feishu.cn/sheets/SHTxxxxxx" --end-version 12345
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### `+history-revert-status`
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# 查询某次回滚的当前状态(进行中 / 成功 / 失败)
|
|
69
|
+
lark-cli sheets +history-revert-status --url "https://sample.feishu.cn/sheets/SHTxxxxxx" --transaction-id "<transaction-id>"
|
|
70
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Lark Sheet Pivot Table
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
查看飞书表格中已有数据透视表对象的配置。本 reference 覆盖 1 个只读 shortcut:
|
|
6
|
+
|
|
7
|
+
| 操作需求 | 使用工具 | 说明 |
|
|
8
|
+
|---------|---------|------|
|
|
9
|
+
| 查看已有透视表 | `+pivot-list` | 获取透视表的结构、数据源、配置与展开后的占用区域 |
|
|
10
|
+
|
|
11
|
+
## Shortcuts
|
|
12
|
+
|
|
13
|
+
| Shortcut | Risk | 分组 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `+pivot-list` | read | 对象 |
|
|
16
|
+
|
|
17
|
+
## Flags
|
|
18
|
+
|
|
19
|
+
### `+pivot-list`
|
|
20
|
+
|
|
21
|
+
_公共四件套 · 系统:`--dry-run`_
|
|
22
|
+
|
|
23
|
+
| Flag | Type | 必填 | 说明 |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| `--pivot-table-id` | string | optional | 按 id 过滤 |
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
公共四件套:所有 shortcut 顶部排列 `--url` / `--spreadsheet-token` / `--sheet-id` / `--sheet-name`(XOR)。
|
|
30
|
+
|
|
31
|
+
### `+pivot-list`
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
lark-cli sheets +pivot-list --url "..." --sheet-id "$SID"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
> **返回值含 `info`(展开后的占用区域与状态)**:每个透视表对象除 `position` / `snapshot` 外,还返回 `info`,标明它在 sheet 上的平铺区域与状态——`info.page_range`(筛选/分页区 A1)、`info.content_range`(主体数据区 A1)、`info.span_range`(空表合并区 A1)、`info.error_state`(错误状态,如 `None`/`Cover`/`Shrink`/`Loading`)、`info.is_empty` / `info.is_hidden`、`info.row`/`info.col`(锚点)等。
|
|
38
|
+
> **用途(判断某单元格是否属于透视表)**:读到某单元格要判断它是普通单元格还是透视产物时,先 `+pivot-list` 拿 `info`,看该单元格是否落在 `page_range` / `content_range` 内——落在区域内即属于某个透视表(透视表单元格不能当普通单元格解读),落在区域外则是普通单元格。
|
|
39
|
+
|
|
40
|
+
### Validate / DryRun / Execute 约束
|
|
41
|
+
|
|
42
|
+
- `Validate`:`--url` / `--spreadsheet-token` XOR 必填;`--sheet-id` / `--sheet-name` XOR 必填一个。
|
|
43
|
+
- `DryRun`:输出请求模板,零网络副作用。
|
|
44
|
+
- `Execute`:发起透视表列表查询。
|