@amaster.ai/pi-lark 0.1.11 → 0.1.13
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-base/references/lark-base-dashboard-block-config.md +31 -0
- package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +6 -3
- package/skills/lark-base/references/lark-base-dashboard.md +17 -1
- package/skills/lark-doc/references/lark-doc-create-workflow.md +2 -2
- package/skills/lark-doc/references/lark-doc-script.md +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amaster.ai/pi-lark",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"description": "Pi extension for Lark/Feishu workspace — calendar, docs, drive, sheets, tasks, mail and more via lark-cli.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"vitest": "^4.0.0"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@amaster.ai/pi-shared": "0.1.
|
|
64
|
+
"@amaster.ai/pi-shared": "0.1.13"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"fetch-skills": "node scripts/fetch-skills.mjs",
|
|
@@ -17,6 +17,7 @@ Block 的 `data_config` 字段因 `type` 不同而变化。本文档是 Dashboar
|
|
|
17
17
|
| `funnel` | 漏斗图 |
|
|
18
18
|
| `wordCloud` | 词云 |
|
|
19
19
|
| `radar` | 雷达图 |
|
|
20
|
+
| `ranking` | 排行榜 |
|
|
20
21
|
| `statistics` | 指标卡 |
|
|
21
22
|
| `text` | 文本(支持 Markdown) |
|
|
22
23
|
|
|
@@ -96,6 +97,18 @@ user / created_by / updated_by: is, isNot, isEmpty, isNotEmpty
|
|
|
96
97
|
|
|
97
98
|
如果表中行序就是业务顺序,首次创建 block 时就一次性设置 `sort:{"type":"view","order":"asc"}` 保留行序,避免创建后再二次更新排序条件。
|
|
98
99
|
|
|
100
|
+
### ranking 排行榜专属契约
|
|
101
|
+
|
|
102
|
+
排行榜只支持一个分组和一个指标,公开字段固定为 `table_name`、`series`/`count_all`、`group_by`、`filter`、`limit_size`:
|
|
103
|
+
|
|
104
|
+
- `group_by` 必填且长度严格为 1;`mode` 仅支持 `integrated` / `enumerated`。
|
|
105
|
+
- `series` 长度严格为 1,且与 `count_all:true` 二选一;`rollup` 仅支持 `SUM` / `MAX` / `MIN` / `AVERAGE`。
|
|
106
|
+
- 排序只写在 `group_by[0].sort`,`type` 只能为 `value`,`order` 为 `asc` / `desc`。创建时省略排序默认按指标值降序。
|
|
107
|
+
- `limit_size` 是 Top N,取值为 `1..500` 的整数,创建时省略默认 `10`。
|
|
108
|
+
- 不支持顶层 `sort`、公开 `ranking` 对象或头像开关。
|
|
109
|
+
|
|
110
|
+
更新 `ranking` 时,`data_config` 是顶层 patch:只传 `limit_size` 只改 Top N;只传 `group_by` 只替换唯一分组和排序;只传 `series` 或 `count_all:true` 只切换指标;只传 `filter` 只替换筛选。切换 `table_name` 时必须在同一 patch 提供新的 `group_by` 以及 `series` 或 `count_all:true`;未传 `filter` 保留原筛选,未传 `limit_size` 保留原 Top N。
|
|
111
|
+
|
|
99
112
|
示例 — 柱状图按销售额降序:
|
|
100
113
|
|
|
101
114
|
```json
|
|
@@ -225,6 +238,7 @@ user / created_by / updated_by: is, isNot, isEmpty, isNotEmpty
|
|
|
225
238
|
- 看流程转化 → 漏斗图
|
|
226
239
|
- 看多维度评分 → 雷达图
|
|
227
240
|
- 显示单个指标 → 指标卡(统计数字或记录数)
|
|
241
|
+
- 查看单维度 Top N → 排行榜
|
|
228
242
|
|
|
229
243
|
最小柱状图:
|
|
230
244
|
|
|
@@ -354,6 +368,23 @@ user / created_by / updated_by: is, isNot, isEmpty, isNotEmpty
|
|
|
354
368
|
}
|
|
355
369
|
```
|
|
356
370
|
|
|
371
|
+
排行榜(按销售额取 Top 10):
|
|
372
|
+
|
|
373
|
+
```json
|
|
374
|
+
{
|
|
375
|
+
"table_name": "订单表",
|
|
376
|
+
"series": [{ "field_name": "金额", "rollup": "SUM" }],
|
|
377
|
+
"group_by": [{ "field_name": "负责人", "mode": "integrated", "sort": {"type":"value","order":"desc"} }],
|
|
378
|
+
"limit_size": 10
|
|
379
|
+
}
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
排行榜只更新 Top N:
|
|
383
|
+
|
|
384
|
+
```json
|
|
385
|
+
{"limit_size": 20}
|
|
386
|
+
```
|
|
387
|
+
|
|
357
388
|
指标卡(统计数字):
|
|
358
389
|
|
|
359
390
|
```json
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
这个命令适合以下场景:
|
|
8
8
|
|
|
9
|
-
1. 读取柱状图 / 条形图 / 折线图 / 饼图 / 环形图 / 面积图 / 组合图 / 散点图 / 漏斗图 / 雷达图 / 词云 / 指标卡的**实际计算结果**;
|
|
9
|
+
1. 读取柱状图 / 条形图 / 折线图 / 饼图 / 环形图 / 面积图 / 组合图 / 散点图 / 漏斗图 / 雷达图 / 排行榜 / 词云 / 指标卡的**实际计算结果**;
|
|
10
10
|
2. 把图表结果交给 AI 做后续总结、趋势解释、同比/环比说明、异常点提取;
|
|
11
11
|
3. 在**不读取原始记录**的前提下,直接消费图表层已经聚合好的结果;
|
|
12
12
|
4. 验证某个图表当前展示的数据是否符合预期。
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
当前支持以下图表类型的数据计算与返回:
|
|
28
28
|
|
|
29
|
-
### 二维图表(
|
|
29
|
+
### 二维图表(11 种)
|
|
30
30
|
|
|
31
31
|
- 柱状图
|
|
32
32
|
- 条形图
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
- 散点图
|
|
39
39
|
- 漏斗图
|
|
40
40
|
- 雷达图
|
|
41
|
+
- 排行榜
|
|
41
42
|
|
|
42
43
|
### 特殊类型(2 种)
|
|
43
44
|
|
|
@@ -262,7 +263,9 @@ CLI 成功输出使用标准 `{ok, identity, data}` 信封:
|
|
|
262
263
|
|
|
263
264
|
### 一、二维图表
|
|
264
265
|
|
|
265
|
-
|
|
266
|
+
适用于:柱状图、条形图、折线图、饼图、环形图、面积图、组合图、散点图、漏斗图、雷达图、排行榜。
|
|
267
|
+
|
|
268
|
+
排行榜复用同一 `dimensions` / `measures` / `main_data` 协议,不增加专属响应字段。结果的条数和顺序由 block 配置中的 `limit_size` 与 `group_by[0].sort` 决定;消费返回时保持 `main_data` 的服务端顺序,不要再次反转或自行重排。
|
|
266
269
|
|
|
267
270
|
#### 结构特征
|
|
268
271
|
|
|
@@ -60,7 +60,7 @@ lark-cli base +table-list --base-token xxx
|
|
|
60
60
|
lark-cli base +field-list --base-token xxx --table-id <table_id>
|
|
61
61
|
|
|
62
62
|
# 第 3 步:规划应该创建哪些组件(根据用户需求确定组件类型和数量)
|
|
63
|
-
#
|
|
63
|
+
# 例如:总销售额(指标卡)、月度趋势(折线图)、负责人 Top N(排行榜)
|
|
64
64
|
|
|
65
65
|
# 第 4 步:顺序创建每个组件(必须串行执行,不能并发)
|
|
66
66
|
# 重要:创建组件前,先确定 dashboard_id、组件 name/type 和真实表字段
|
|
@@ -84,6 +84,14 @@ lark-cli base +dashboard-block-create \
|
|
|
84
84
|
|
|
85
85
|
# 继续创建其他组件...
|
|
86
86
|
|
|
87
|
+
# 排行榜组件:省略 limit_size 和 sort 时分别默认 10、value desc
|
|
88
|
+
lark-cli base +dashboard-block-create \
|
|
89
|
+
--base-token xxx \
|
|
90
|
+
--dashboard-id blk_xxx \
|
|
91
|
+
--name "负责人销售额 Top 10" \
|
|
92
|
+
--type ranking \
|
|
93
|
+
--data-config '{"table_name":"订单表","series":[{"field_name":"金额","rollup":"SUM"}],"group_by":[{"field_name":"负责人"}]}'
|
|
94
|
+
|
|
87
95
|
# 第 5 步:组件创建完成后,可按需使用 arrange 智能重排(未使用 --position 时可选)
|
|
88
96
|
# 默认布局可能不够美观,arrange 会根据组件数量和类型自动优化布局
|
|
89
97
|
# 若任一组件使用了显式 --position,跳过此步骤;除非用户明确同意放弃精确布局
|
|
@@ -152,6 +160,13 @@ lark-cli base +dashboard-block-update \
|
|
|
152
160
|
--data-config '{...}' \
|
|
153
161
|
--position '{...}' # 可选,只在需要调整布局时传
|
|
154
162
|
|
|
163
|
+
# 排行榜只修改 Top N;不会覆盖分组、指标、筛选或排序
|
|
164
|
+
lark-cli base +dashboard-block-update \
|
|
165
|
+
--base-token xxx \
|
|
166
|
+
--dashboard-id blk_xxx \
|
|
167
|
+
--block-id chtxxxxxxxx \
|
|
168
|
+
--data-config '{"limit_size":20}'
|
|
169
|
+
|
|
155
170
|
```
|
|
156
171
|
|
|
157
172
|
### 场景 4:重排仪表盘布局
|
|
@@ -225,6 +240,7 @@ lark-cli base +dashboard-block-get-data --base-token xxx --block-id chtxxxxxxxx
|
|
|
225
240
|
| 类别比较(谁高谁低) | column | 柱状图组件 |
|
|
226
241
|
| 占比分布(各部分比例) | pie | 饼图组件 |
|
|
227
242
|
| 单个关键指标 | statistics | 指标卡组件 |
|
|
243
|
+
| 单维度 Top N 排名 | ranking | 排行榜组件,单分组、单指标 |
|
|
228
244
|
| 富文本说明/标题/注释 | text | 文本组件(支持 Markdown) |
|
|
229
245
|
|
|
230
246
|
详细组件类型和 data_config 完整规则:[Dashboard Block 配置](lark-base-dashboard-block-config.md)
|
|
@@ -116,6 +116,6 @@ lark-cli docs +script --command init-draft --presentation-decision '<上方完
|
|
|
116
116
|
1. 只有最新 release candidate 完成 Draft Profile Check 和 XML 规则复查后,才读取 [`lark-doc-create.md`](lark-doc-create.md),使用同一个 `draft_path` 创建文档。
|
|
117
117
|
2. 创建结果存在 warning、局部资源失败或回查发现局部问题时,不得再次新建文档;读取 [`lark-doc-update.md`](lark-doc-update.md),对已创建文档做最小范围修复,并按 update 流程 fetch 验证。
|
|
118
118
|
|
|
119
|
-
### Step 8
|
|
119
|
+
### Step 8:交付。
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
保留 Step 4 返回的 `work_dir` 及其中的创作草稿。最终只交付用户需要的结果,并说明必要来源、未关闭缺口、异常、失败或阻塞原因,以及文档 URL 或 token。
|
|
@@ -38,7 +38,7 @@ lark-cli docs +script --command init-draft \
|
|
|
38
38
|
- 决策必须是单个 JSON 对象,包含 `audience`、`reader_task`、`genre_contract`、`adapter`、`presentation_mode` 和 `visual_plan`。`presentation_mode` 取 `formal|normal|rich`;`genre_contract`、`adapter` 使用固定短名、`"none"` 或 `null`。
|
|
39
39
|
- `visual_plan` 包含非空 `reason` 和 `blocks` 数组;每项为 `{type,min_count,purpose}`,`type` 不重复,`min_count` 为正整数。按本 Skill 创建文档时,`blocks` 只对 `whiteboard`、`img`、`html5-block` 设置最低数量,其他表达按内容需要使用但不设数量约束;三类均无需约束时写 `[]`。CLI 为外部决策兼容 `type: "list"`,检查时将 `<ul>` 与 `<ol>` 的数量相加。仅有字数要求时添加 `word_count: {min,max}`;未指定的一侧写 `null`,至少一侧为正整数,且 `min <= max`。
|
|
40
40
|
- 返回 `data.workspace`(已创建的随机工作区)、`data.draft_path`(可直接写入的 XML 路径)和英文操作提示 `data.tip`。工作区及其中的 `.presentation-decision.json` 已存在,但 XML 尚不存在;遵循提示直接使用文件创建/写入能力在 `draft_path` 写入完整 XML,首次写入前不要读取该路径。
|
|
41
|
-
- 后续始终使用 `draft_path`,不得另建 XML、复用其他任务的路径或修改工作区中的 `.presentation-decision.json
|
|
41
|
+
- 后续始终使用 `draft_path`,不得另建 XML、复用其他任务的路径或修改工作区中的 `.presentation-decision.json`;保留 `workspace` 及其中的创作草稿。
|
|
42
42
|
|
|
43
43
|
## `parse`
|
|
44
44
|
|