diff --git a/skills/lark-base/SKILL.md b/skills/lark-base/SKILL.md index 19dcba9209..fd5e80caec 100644 --- a/skills/lark-base/SKILL.md +++ b/skills/lark-base/SKILL.md @@ -64,7 +64,7 @@ metadata: | 表单提交 | `+form-submit` | 先读 [lark-base-form-detail.md](references/lark-base-form-detail.md) 获取题目、filter 和附件所需 `base_token`;提交 JSON 读 [lark-base-form-submit.md](references/lark-base-form-submit.md) | | 表单题目创建/更新 | `+form-questions-create` / `+form-questions-update` | 读 [lark-base-form-questions-create.md](references/lark-base-form-questions-create.md) / [lark-base-form-questions-update.md](references/lark-base-form-questions-update.md);题目显隐条件 `visible_rule` 结构见公共协议 [lark-base-filter-condition.md](references/lark-base-filter-condition.md) | | 其他表单管理 | `+form-list/get/detail/create/update/delete` / `+form-questions-list/delete` | `+form-detail` 读 [lark-base-form-detail.md](references/lark-base-form-detail.md);删除前确认目标表单 | -| 仪表盘与组件 | `+dashboard-*` / `+dashboard-block-*` | 提到图表/看板/block 时先读 [lark-base-dashboard.md](references/lark-base-dashboard.md);组件 `data_config` 读 [dashboard-block-data-config.md](references/dashboard-block-data-config.md);读取图表计算结果用 `+dashboard-block-get-data` | +| 仪表盘与组件 | `+dashboard-*` / `+dashboard-block-*` | 提到图表/看板/block 时先读 [lark-base-dashboard.md](references/lark-base-dashboard.md);组件 `data_config` 读 [dashboard-block-data-config.md](references/dashboard-block-data-config.md);读取一个或多个图表计算结果用 `+dashboard-block-get-data` | | Workflow | `+workflow-*` | 创建/更新或理解 steps 时读入口 [lark-base-workflow-guide.md](references/lark-base-workflow-guide.md) 和 steps JSON SSOT [lark-base-workflow-schema.md](references/lark-base-workflow-schema.md);list/get/enable/disable 只处理 workflow ID 与启停状态 | | 高级权限与角色 | `+advperm-*` / `+role-*` | 角色操作先读入口 [lark-base-role-guide.md](references/lark-base-role-guide.md);角色 create/update 或解读完整配置再读权限 JSON SSOT [role-config.md](references/role-config.md);系统角色不可删除;关闭高级权限会影响自定义角色 | @@ -124,6 +124,9 @@ metadata: ## Dashboard / Workflow / Role - Dashboard 的复杂点是 block 的 `data_config`,不是 list/get/create/delete 命令参数。创建或更新 block 前先读 [dashboard-block-data-config.md](references/dashboard-block-data-config.md),组件必须串行创建;`+dashboard-arrange` 是服务端智能布局,仅在用户明确要求重排/美化、或对本次会话从零新建的仪表盘做收尾整理时执行。`+dashboard-block-get-data` 读取图表最终计算结果,不返回 block 名称、类型、布局或 `data_config`;需要元数据先用 `+dashboard-block-get`。 +- Dashboard shortcut 不支持指定组件的 `x/y/w/h`、精确位置或尺寸,不能把 `+dashboard-arrange` 静默当作等价实现。用户只要求一般性重排/美化时可执行一次智能重排;用户要求精确结果时先说明限制并询问是否接受自适应布局,接受后才执行。不要探测 raw `lark-cli api`、源码或未公开布局参数。 +- 创建接口成功返回即表示写入成功;只有结果不确定时才额外执行一次 `+dashboard-get` 或 `+dashboard-block-list`。不要仅为确认创建而逐组件调用 `+dashboard-block-get-data`。 +- 用户要读取多个组件的计算结果时,先列出组件,再按 [lark-base-dashboard-block-get-data.md](references/lark-base-dashboard-block-get-data.md) 在一个 shell 工具调用内串行读取;不要把每个 block 拆成独立模型轮次。 - Workflow 的复杂点是 `steps` 结构。创建、更新或解释完整 workflow 时读入口 [lark-base-workflow-guide.md](references/lark-base-workflow-guide.md) 和 steps JSON SSOT [lark-base-workflow-schema.md](references/lark-base-workflow-schema.md);enable/disable/list 只需确认 workflow ID、当前启停状态和用户意图。 - Role 的复杂点是权限 JSON。角色操作先读入口 [lark-base-role-guide.md](references/lark-base-role-guide.md);`+role-create` 只支持自定义角色;`+role-update` 是 delta merge;角色 create/update 或解读完整配置时读权限 JSON SSOT [role-config.md](references/role-config.md)。`+role-delete` 只适用于自定义角色,系统角色不可删除;删除角色和关闭高级权限前必须确认目标和影响。 diff --git a/skills/lark-base/references/lark-base-dashboard-block-get-data.md b/skills/lark-base/references/lark-base-dashboard-block-get-data.md index a49d9f9770..c9848cd6b2 100644 --- a/skills/lark-base/references/lark-base-dashboard-block-get-data.md +++ b/skills/lark-base/references/lark-base-dashboard-block-get-data.md @@ -71,6 +71,19 @@ lark-cli base +dashboard-block-get-data \ --block-id chtxxxxxxxx ``` +如果用户要读取多个组件,先通过 `+dashboard-block-list` 取得真实 ID,再在**一个 shell 工具调用**内串行执行。每条命令会依次输出一个完整 JSON envelope;不要把每个 block 拆成独立模型轮次。文本组件没有计算结果,应从列表中跳过。 + +```bash +block_ids=(cht_block_1 cht_block_2) +for block_id in "${block_ids[@]}"; do + lark-cli base +dashboard-block-get-data \ + --base-token bascn***************CtadY \ + --block-id "$block_id" +done +``` + +数组中的 ID 必须逐字来自 `+dashboard-block-list` 返回,不要把名称或未经验证的用户文本作为 shell 代码执行。循环仍然是串行 API 调用,只减少模型往返,不裁剪任何组件结果。 + 如果你需要先确认组件类型、名称或 `data_config`,请先执行: ```bash diff --git a/skills/lark-base/references/lark-base-dashboard.md b/skills/lark-base/references/lark-base-dashboard.md index 7786e7ed1d..81c2f9fb37 100644 --- a/skills/lark-base/references/lark-base-dashboard.md +++ b/skills/lark-base/references/lark-base-dashboard.md @@ -19,7 +19,7 @@ Dashboard 是 Base 中的数据可视化看板,可以把表格数据变成** | 修改组件 | `+dashboard-block-update` | 先读 block 现状,再读 [dashboard-block-data-config.md](dashboard-block-data-config.md) 决定替换哪些顶层 key | | 查看仪表盘有哪些组件 | `+dashboard-get` 或 `+dashboard-block-list` | 本页下方「查看仪表盘」 | | 读取图表计算结果 | `+dashboard-block-get-data` | 返回图表最终数据协议;需要 block 元数据先用 `+dashboard-block-get` | -| 智能重排组件布局 | `+dashboard-arrange` | 用户明确要求重排,或本次会话新建仪表盘的收尾整理;无法指定精确位置 | +| 智能重排组件布局 | `+dashboard-arrange` | 用户明确要求重排,或本次会话新建仪表盘的收尾整理;无法指定 `x/y/w/h`、精确位置或尺寸 | ## 典型场景工作流 @@ -29,7 +29,7 @@ Dashboard 是 Base 中的数据可视化看板,可以把表格数据变成** - 聚合方式:创建指标卡或分布图时优先把聚合写进 `data_config`,只有 Top N、字段取值探索、复杂筛选校验或 helper 汇总表场景才先用 `+data-query`。 - Dry-run 边界:已按模板构造的简单指标卡、分布图、趋势图不需要逐个 `--dry-run` 后再真实创建;只有在调试 JSON、检查请求体、复杂自造 `data_config` 或处理 API validation 错误时才 dry-run。 -- 验证方式:通过创建接口返回值确认创建成功与否,只在结果不确定时用 `+dashboard-get` 或 `+dashboard-block-list` 确认仪表盘和组件存在,或调用 `+dashboard-block-get-data`读取计算结果验证。 +- 验证方式:创建接口成功返回即表示写入成功。只有结果不确定时才用一次 `+dashboard-get` 或 `+dashboard-block-list` 确认仪表盘和组件存在;不要仅为确认创建而逐组件调用 `+dashboard-block-get-data`。 - 布局方式:`+dashboard-arrange` 仅两种情况使用:① 用户明确要求美化/重排;② 本次会话中从零新建的仪表盘,建完组件后做一次性布局整理。不是创建成功的必要步骤。 示例:搭建一个销售数据分析仪表盘 @@ -142,8 +142,10 @@ lark-cli base +dashboard-block-update \ > [!CAUTION] > - 排列结果是**服务端智能推荐**,不一定完全符合用户预期 -> - 无法指定具体位置(如"第一排放 A,第二排放 B"),排列逻辑是**自适应**的 +> - Dashboard shortcut 无法指定 `x/y/w/h`、精确位置或尺寸(如"第一排放 A""图表撑满整行"),排列逻辑是**自适应**的 > - **不建议**在已有仪表盘上自动调用,除非用户明确要求 +> - 用户只要求一般性重排/美化时,可执行一次 `+dashboard-arrange`;用户要求精确结果时,先说明限制并询问是否接受自适应布局,接受后才执行,不能静默替代或声称精确满足 +> - 执行一次 `+dashboard-arrange` 后即停止;不要继续探测 raw `lark-cli api`、源码或未公开布局参数 ```bash # 第 1 步:列出仪表盘,定位到目标仪表盘 @@ -184,6 +186,8 @@ lark-cli base +dashboard-block-get-data --base-token xxx --block-id chtxxxxxxxx # 最后:把获取到的现状信息整理好告诉用户 ``` +需要读取多个组件的计算结果时,先用方式 B 获取真实 `block_id`,再按 [lark-base-dashboard-block-get-data.md](lark-base-dashboard-block-get-data.md) 的多组件范式,在一个 shell 工具调用内串行读取;不要把每个 block 拆成独立模型轮次。文本组件没有计算结果,应跳过。 + ## 组件类型选择 组件 `type` 决定展示形式: