@guandata/guancli 1.0.47 → 1.0.49
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/CHANGELOG.md +12 -0
- package/README.md +12 -0
- package/binaries/guancli-darwin-arm64 +0 -0
- package/binaries/guancli-darwin-x64 +0 -0
- package/binaries/guancli-linux-arm64 +0 -0
- package/binaries/guancli-linux-x64 +0 -0
- package/binaries/guancli-win32-x64.exe +0 -0
- package/package.json +1 -1
- package/skills/guancli/SKILL.md +57 -2
- package/skills/guancli/references/auth-and-config.md +12 -0
- package/skills/guancli/references/metric-commands.md +27 -1
- package/skills/guancli/references/metric-generic-query.md +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## @guandata/guancli 1.0.49 - 2026-08-07
|
|
4
|
+
|
|
5
|
+
- 支持指标查询加速,提升指标查询场景的执行效率与使用体验。
|
|
6
|
+
- 指标查询结果超过 1000 行时默认输出为文件,避免终端展示过长内容。
|
|
7
|
+
- 支持按 Domain 或 URL 查找 Profile,简化认证配置与环境切换。
|
|
8
|
+
|
|
9
|
+
## @guandata/guancli 1.0.48 - 2026-08-04
|
|
10
|
+
|
|
11
|
+
- 支持直接基于已有仪表板或智能洞察卡片生成洞察结果,可应用筛选条件并选择分析思路。
|
|
12
|
+
- 新增仪表板智能体问答,可选择专家、继续追问并查看历史会话。
|
|
13
|
+
- 修复指标查询排序,升序和降序配置可正确生效。
|
|
14
|
+
|
|
3
15
|
## @guandata/guancli 1.0.47 - 2026-07-29
|
|
4
16
|
|
|
5
17
|
- 卡片预览筛选支持使用卡片内重命名后的表头,也可继续使用数据集原始字段名。
|
package/README.md
CHANGED
|
@@ -41,6 +41,18 @@ guancli chatbi query --theme-name "经营主题" --message "最近30天营业收
|
|
|
41
41
|
|
|
42
42
|
## 版本更新
|
|
43
43
|
|
|
44
|
+
### @guandata/guancli 1.0.49
|
|
45
|
+
|
|
46
|
+
- 支持按 Domain 或 URL 查找 Profile,切换和定位目标环境更方便。
|
|
47
|
+
- 新增指标查询加速能力,提升指标查询效率。
|
|
48
|
+
- 指标查询结果超过 1000 行时默认转为文件输出,更适合处理大结果集。
|
|
49
|
+
|
|
50
|
+
### @guandata/guancli 1.0.48
|
|
51
|
+
|
|
52
|
+
- 支持直接基于已有仪表板或智能洞察卡片生成洞察结果,可应用筛选条件并选择分析思路。
|
|
53
|
+
- 新增仪表板智能体问答,可选择专家、继续追问并查看历史会话。
|
|
54
|
+
- 修复指标查询排序,升序和降序配置可正确生效。
|
|
55
|
+
|
|
44
56
|
### @guandata/guancli 1.0.47
|
|
45
57
|
|
|
46
58
|
- 卡片预览筛选支持使用卡片内重命名后的表头,也可继续使用数据集原始字段名。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/skills/guancli/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: guancli
|
|
3
|
-
description: 当用户要分析观远 BI / Guandata 的 ETL、数据集、页面/仪表板、卡片、血缘、节点 SQL、资源树、目录、表单填报数据、指标 metric 查询、指标树归因 metric_attribution、指标泛化查询参数,或给出 ETL ID、dsId、page ID、card ID、metric ID、metric tree ID
|
|
3
|
+
description: 当用户要分析观远 BI / Guandata 的 ETL、数据集、页面/仪表板、卡片、血缘、节点 SQL、资源树、目录、表单填报数据、指标 metric 查询、指标树归因 metric_attribution、指标泛化查询参数,或给出 ETL ID、dsId、page ID、card ID、metric ID、metric tree ID 想看现有内容/查询数据,或要为已有仪表板/智能洞察卡片生成智能洞察结果时,主动使用这个 skill。用户提到“创建超级应用”“创建 SuperApp”“新建 SuperApp 项目”“SuperApp 模板项目”时,也要使用这个 skill,并引导使用 `guancli app create`。即使用户只说"看一下这个 page""贴一下这个 ETL 的 SQL""搜个叫 X 的数据集""这个数据集长啥样""页面卡片用了哪些 ds""帮我查这个指标""生成指标泛化查询命令""帮我创建一个超级应用",也要触发。它直接调用 BI HTTP API 拉数据并整理成 AI 友好的中文结论,定位是 BI 查询分析 + 表单填报 CRUD + 指标查询分析 + SuperApp 模板项目创建。创建/编辑/删除指标、指标主题、指标目录或公共维度走 guanmetric;修改 ETL 走 guanetl;新建/改 Card/Page 走 guanvis;数据源/数据集 CRUD/增量/调度走 guands;页面 PNG 视觉验证走 guanvis screenshot。若用户希望直接分析 BI 项目而不是手工点页面,或希望直接通过 ChatBI 进行主题问数/洞察分析,也应优先使用这个 skill。
|
|
4
4
|
compatibility: Requires Node.js 14+. Install via npm install -g @guandata/guancli.
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -19,6 +19,7 @@ guancli 是 BI 资源的查询分析入口,并支持 Form 表单填报 CRUD、
|
|
|
19
19
|
- 用户要搜索指标、获取指标详情、查询指标数据、查看指标目录、执行指标树归因,或让你生成/解释指标泛化查询命令。
|
|
20
20
|
- 用户给出数据集 ID,想查看该数据集创建或影响到的所有指标,包括直接原子指标以及下游复合指标、衍生指标。
|
|
21
21
|
- 用户要创建超级应用 / SuperApp / SuperApp 模板项目。
|
|
22
|
+
- 用户要为已有仪表板或智能洞察卡片生成智能洞察结果。
|
|
22
23
|
|
|
23
24
|
如果用户只想生成页面 PNG 截图成品,不要用本 skill,改用 `guanvis screenshot`。
|
|
24
25
|
|
|
@@ -75,6 +76,8 @@ guancli ds preview <ds_id> --limit 20
|
|
|
75
76
|
guancli card get <cd_id>
|
|
76
77
|
guancli card preview <cd_id> --value-format raw -f csv
|
|
77
78
|
guancli card preview <cd_id> --with-default-filters
|
|
79
|
+
guancli insight page <page_id>
|
|
80
|
+
guancli insight card <cd_id> --page-id <page_id>
|
|
78
81
|
```
|
|
79
82
|
|
|
80
83
|
> `ds get` / `page get` / `etl get` 拉取完整资源详情(默认还会附血缘),在大环境上
|
|
@@ -86,7 +89,7 @@ guancli card preview <cd_id> --with-default-filters
|
|
|
86
89
|
|
|
87
90
|
## 指标关键规则
|
|
88
91
|
|
|
89
|
-
- 普通指标数据查询用 `guancli metric query <metric_id>`,可加 `--dim`、`--filter
|
|
92
|
+
- 普通指标数据查询用 `guancli metric query <metric_id>`,可加 `--dim`、`--filter`、排序、列筛选、输出格式等;未指定 `-o/--output` 且结果超过 1000 行时会自动写入 `metric_<metricId>_<timestamp>.<ext>`。
|
|
90
93
|
- 搜索指标支持两种方式:`guancli metric search <keyword>` 按指标名称模糊搜索;`guancli metric search --fuzzy <keyword>` 同时按指标名称、业务口径、自定义业务属性值做 OR 模糊搜索,可多次传参,命中优先级为 name=1、desc=2、bizAttr=3。`[keyword]` 和 `--fuzzy` 互斥。
|
|
91
94
|
- 回答指标搜索结果时,必须逐条说明“命中的指标”和“命中方式”:至少包含指标 ID、指标名称、命中条件/字段、命中优先级、命中关键词;不要把用户输入默认解释为指标名称精确匹配。如果结果中有“命中条件”“命中优先级”“命中关键词”列,必须原样纳入结论。
|
|
92
95
|
- 按数据集反查指标用 `guancli metric by-dataset <ds_id>`;如果已知指标主题,可加 `-d <metric_topic_id>` 缩小范围;需要结构化结果时用 `-f json`。
|
|
@@ -105,6 +108,58 @@ guancli app create --name <project_name> --path <parent_dir>
|
|
|
105
108
|
- 该命令会下载 SuperApp 模板并创建项目目录,随后尝试复制 `.env.template`、更新 `package.json` 名称、初始化 git,并根据模板情况执行 `setup.sh` 或 `npm install` + 启动本地 dev server。
|
|
106
109
|
- 如果用户只是要创建本地 SuperApp 模板项目,不需要先做 BI 资源查询;直接给出或执行 `guancli app create`。
|
|
107
110
|
|
|
111
|
+
## 仪表板、卡片智能洞察
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
guancli insight inspect <page_id>
|
|
115
|
+
guancli insight page <page_id>
|
|
116
|
+
guancli insight page <page_id> --selector "<selector_id>=<value>" --locale zh-CN
|
|
117
|
+
guancli insight page <page_id> --analysis-id <analysis_id>
|
|
118
|
+
guancli insight card <cd_id> --page-id <page_id>
|
|
119
|
+
guancli insight card <cd_id> --page-id <page_id> --selector "<selector_id>=<value>" --locale zh-CN
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
- 复用当前 profile 的 uIdToken,当前等待完整非流式结果。
|
|
123
|
+
- `insight inspect` 输出洞察开关、分析思路 ID/名称和页面关联的 LLM 配置;不输出提示词正文,筛选器继续通过 `page get` / `card get` 查看。
|
|
124
|
+
- 页面洞察仅支持已开启智能洞察的普通仪表板(`pgType=PAGE`);数据大屏、智能归因、分析报告等页面类型不支持。
|
|
125
|
+
- 卡片洞察必须同时提供卡片所属页面 ID,且仅支持 `cdType=INTELLIGENT_INSIGHT` 的智能洞察卡片。
|
|
126
|
+
- `--selector` 使用页面筛选器 ID;同一 ID 需要多个值时重复传入。CLI 会先确认该 ID 是页面筛选器,再生成洞察。
|
|
127
|
+
- 页面洞察可通过 `--analysis-id` 或 `--analysis-name` 指定分析,两者不能同时使用。
|
|
128
|
+
- CLI 会先校验页面权限与类型、洞察开关、卡片归属与类型、筛选器和指定分析,预检通过后才发起生成请求。
|
|
129
|
+
- 页面或卡片智能洞察 `/generate` 接口明确返回 404/405 时,CLI 会提示升级 BI。
|
|
130
|
+
- 默认只输出洞察正文;需要完整响应时使用 `--raw`。
|
|
131
|
+
|
|
132
|
+
主流程:
|
|
133
|
+
|
|
134
|
+
1. 先执行 `guancli auth status`;认证失效时重新登录。
|
|
135
|
+
2. 没有页面 ID 时执行 `guancli page search <页面关键词>` 确定页面。
|
|
136
|
+
3. 执行 `guancli insight inspect <page_id>` 查看洞察开关、分析思路和 LLM 配置。
|
|
137
|
+
4. 需要筛选器或卡片 ID 时,执行 `guancli page get <page_id> --brief` 查看页面资源 ID。
|
|
138
|
+
5. 调用页面或卡片洞察命令;需要指定输出语言时增加 `--locale`。
|
|
139
|
+
|
|
140
|
+
## 仪表板智能体(Dashboard Agent)
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
guancli insight agent list
|
|
144
|
+
guancli insight agent get <agent_id>
|
|
145
|
+
guancli --raw insight agent ask <agent_id> --expert-id <expert_id> --message "分析本月销售额下降的原因"
|
|
146
|
+
guancli insight agent sessions <agent_id>
|
|
147
|
+
guancli insight agent messages <session_id>
|
|
148
|
+
guancli --raw insight agent ask <agent_id> --session-id <session_id> --expert-id <expert_id> --message "继续分析华东区域"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
- 与 `chatbi insight` 基于数据集主题的洞察能力相互独立。
|
|
152
|
+
- Agent 和专家均使用 ID 调用;guancli 不负责按名称选择 Agent 或专家。
|
|
153
|
+
- `ask` 会创建消息、等待任务并返回最终回答;默认只输出正文,使用 `--raw` 可取得 `sessionId` 等完整信息。
|
|
154
|
+
- 追问时复用已有 `sessionId`,可以继续使用原专家,也可以指定其他专家。
|
|
155
|
+
|
|
156
|
+
流程:
|
|
157
|
+
|
|
158
|
+
1. 用 `list` 获取 Agent,再用 `get <agent_id>` 获取专家并选择对应 ID。
|
|
159
|
+
2. 用 `ask` 发起提问并等待结果;需要继续追问时,使用 `--raw` 保存返回的 `sessionId`。
|
|
160
|
+
3. 用 `sessions` 和 `messages` 查找、查看已有会话。
|
|
161
|
+
4. 携带已有 `sessionId` 再次执行 `ask` 继续追问。
|
|
162
|
+
|
|
108
163
|
## 回答风格要求
|
|
109
164
|
|
|
110
165
|
- 用中文输出,优先给“可执行结论”。
|
|
@@ -26,6 +26,12 @@ guancli auth login
|
|
|
26
26
|
|
|
27
27
|
选择登录方式 `2`,直接粘贴已有的 uIdToken。适用于已从 Web 界面或其他途径获取 uIdToken 的场景。
|
|
28
28
|
|
|
29
|
+
如需按登录 Domain 筛选这个 profile,可在非交互式登录时同时保存:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
guancli auth login --url https://bi.example.com --domain demo --token <uid-token>
|
|
33
|
+
```
|
|
34
|
+
|
|
29
35
|
### 方式三:Personal Access Token
|
|
30
36
|
|
|
31
37
|
```bash
|
|
@@ -42,11 +48,17 @@ guancli auth login --url https://bi.example.com --pat <pat>
|
|
|
42
48
|
guancli auth login --profile staging # 添加 staging 环境
|
|
43
49
|
guancli auth login --profile prod --default # 添加 prod 并设为默认
|
|
44
50
|
guancli auth list # 列出所有环境
|
|
51
|
+
guancli auth list --domain demo # 按登录 Domain 筛选
|
|
52
|
+
guancli auth list --url https://bi.example.com/page/123 # 按页面 URL 筛选
|
|
45
53
|
guancli auth status # 查看当前认证状态
|
|
46
54
|
guancli auth use staging # 切换默认环境为 staging
|
|
55
|
+
guancli auth use --domain demo # 按登录 Domain 切换
|
|
56
|
+
guancli auth use --url https://bi.example.com/page/123 # 按页面 URL 切换
|
|
47
57
|
guancli auth remove staging # 删除 staging 环境
|
|
48
58
|
```
|
|
49
59
|
|
|
60
|
+
`auth list` 可用 `--domain` 或 `--url` 只读筛选 profile;`auth use` 使用相同筛选条件切换默认 profile。`--domain` 只匹配 profile 保存的登录 Domain,忽略大小写;`--url` 必须为不含 userinfo 的 HTTP(S) URL,且编码路径不得把 `/`、`.` 或 `..` 作为 path segment;它按相同协议、主机和最长的 `base_url` 路径前缀匹配,因此可直接传页面深链。`auth use` 遇到多个候选会拒绝切换,需改用 profile 名称明确选择。
|
|
61
|
+
|
|
50
62
|
使用特定环境(不切换默认):
|
|
51
63
|
|
|
52
64
|
```bash
|
|
@@ -32,6 +32,7 @@ guancli metric [command]
|
|
|
32
32
|
| `project` | 获取指标主题列表 |
|
|
33
33
|
| `search` | 搜索指标 |
|
|
34
34
|
| `get` | 获取指标详情 |
|
|
35
|
+
| `accelerate` | 查询指标查询加速配置 |
|
|
35
36
|
| `by-dataset` | 按数据集 ID 获取直接和下游关联指标 |
|
|
36
37
|
| `query` | 查询指标数据 |
|
|
37
38
|
| `tree` | 获取指标目录树 |
|
|
@@ -76,6 +77,7 @@ guancli metric search [keyword] [flags]
|
|
|
76
77
|
- 对每个指标按优先级返回最高优先级命中:`matched by name` = 1,`matched by desc` = 2,`matched by bizAttr` = 3。
|
|
77
78
|
- 自定义业务属性值统一模糊匹配;后端只匹配启用且可搜索的业务属性。
|
|
78
79
|
- 结果会在原有指标字段基础上增加命中条件、命中优先级和命中关键词。
|
|
80
|
+
- 非 `--raw` 输出会额外查询并返回每个指标关联的查询加速摘要,包括查询加速数量和加速指标 ID/优先级/字段摘要。
|
|
79
81
|
- `[keyword]` 走旧指标名称搜索接口;`--fuzzy` 走新的统一模糊搜索接口,二者不能同时使用。
|
|
80
82
|
|
|
81
83
|
回答要求:
|
|
@@ -99,7 +101,9 @@ guancli metric search --fuzzy 订购 --profile default --raw
|
|
|
99
101
|
|
|
100
102
|
### metric get
|
|
101
103
|
|
|
102
|
-
|
|
104
|
+
获取指标详情,包括元数据、数据口径、数据集、权限、统计信息、自定义属性、查询加速和血缘关系。
|
|
105
|
+
|
|
106
|
+
非 `--raw` 输出会额外查询并返回该指标关联的查询加速列表;`--raw` 保持服务端指标详情接口原始响应。
|
|
103
107
|
|
|
104
108
|
```bash
|
|
105
109
|
guancli metric get <metric_id> [flags]
|
|
@@ -114,6 +118,24 @@ guancli metric get <metric_id> --profile default -f json
|
|
|
114
118
|
guancli metric get <metric_id> --profile default --raw
|
|
115
119
|
```
|
|
116
120
|
|
|
121
|
+
### metric accelerate
|
|
122
|
+
|
|
123
|
+
查询指标的查询加速配置。后端取数时会按 `acceleratePriority` 从高到低尝试加速指标;只有当查询维度和筛选维度都能被加速指标适用维度覆盖时才会命中。
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
guancli metric accelerate list <metric_id> [flags]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
示例:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
guancli metric accelerate list <metric_id> --profile default
|
|
133
|
+
guancli metric accelerate list <metric_id> --profile default -f json
|
|
134
|
+
guancli metric accelerate list <metric_id> --profile default --raw
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
> 查询加速创建、编辑、删除和优先级调整使用 `guanmetric accelerate`。
|
|
138
|
+
|
|
117
139
|
### metric by-dataset
|
|
118
140
|
|
|
119
141
|
按数据集 ID 获取关联指标。命令会跨指标主题扫描指标,并结合指标详情和指标血缘判断该数据集关联的指标;结果包含直接使用该数据集的原子指标,也包含继续引用这些指标的复合指标和衍生指标。
|
|
@@ -157,6 +179,9 @@ guancli metric query <metric_id> [flags]
|
|
|
157
179
|
| `--sort-desc string` | 无 | 按列降序排序,与 `--sort-asc` 互斥 |
|
|
158
180
|
| `--columns strings` | 无 | 只显示指定列,逗号分隔,在 CLI 端执行 |
|
|
159
181
|
| `--precision int` | `6` | 数值最大小数位数;传 `-1` 保留原始精度 |
|
|
182
|
+
| `-o, --output string` | 无 | 将查询结果写入文件;未指定且结果超过 1000 行时自动写入文件 |
|
|
183
|
+
|
|
184
|
+
未指定 `-o/--output` 且查询结果超过 1000 行时,默认写入 `metric_<metricId>_<timestamp>.<ext>` 文件,避免把大结果直接塞入上下文。默认 `-f auto` 在写文件时会切换为 CSV;显式指定 `-f json/csv/table/expanded/excel` 时按指定格式写入。
|
|
160
185
|
|
|
161
186
|
筛选操作符:
|
|
162
187
|
|
|
@@ -179,6 +204,7 @@ guancli metric query <metric_id> --profile default --dim 省份 --filter "省份
|
|
|
179
204
|
guancli metric query <metric_id> --profile default --dim 省份 --sort-desc 订购数量
|
|
180
205
|
guancli metric query <metric_id> --profile default --dim 省份 --columns "省份,订购数量"
|
|
181
206
|
guancli metric query <metric_id> --profile default --dim 省份 -f csv
|
|
207
|
+
guancli metric query <metric_id> --profile default --dim 省份 --limit 10000 -f csv -o metric.csv
|
|
182
208
|
guancli metric query <metric_id> --profile default --dim 省份 --raw
|
|
183
209
|
```
|
|
184
210
|
|
|
@@ -45,11 +45,14 @@ guancli server-version --profile <profile>
|
|
|
45
45
|
| `--limit int` | 返回行数限制 |
|
|
46
46
|
| `--precision int` | 数值最大小数位数,`-1` 表示原始精度 |
|
|
47
47
|
| `-f, --format string` | 输出格式:`auto`、`table`、`csv`、`expanded`、`json` |
|
|
48
|
+
| `-o, --output string` | 将查询结果写入文件;未指定且结果超过 1000 行时自动写入文件 |
|
|
48
49
|
| `--raw` | 输出服务端原始 JSON |
|
|
49
50
|
| `-v, --verbose` | 显示详细日志 |
|
|
50
51
|
|
|
51
52
|
筛选操作符:`EQ`、`NE`、`LT`、`LE`、`GT`、`GE`、`BT`、`IN`、`IS_NULL`、`NOT_NULL`、`CONTAINS`、`NOT_CONTAINS`、`STARTSWITH`、`NOT_STARTSWITH`、`ENDSWITH`、`NOT_ENDSWITH`。
|
|
52
53
|
|
|
54
|
+
未指定 `-o/--output` 且查询结果超过 1000 行时,默认写入 `metric_<metricId>_<timestamp>.<ext>` 文件;默认 `-f auto` 写文件时使用 CSV。
|
|
55
|
+
|
|
53
56
|
## 参数值
|
|
54
57
|
|
|
55
58
|
### `--compare`
|
|
@@ -183,6 +186,7 @@ guancli metric query <metric_id> \
|
|
|
183
186
|
```bash
|
|
184
187
|
guancli metric query <metric_id> --profile default --dim 日期 --compare yoy -f json
|
|
185
188
|
guancli metric query <metric_id> --profile default --dim 日期 --xtd ytd -f csv
|
|
189
|
+
guancli metric query <metric_id> --profile default --dim 日期 --recent 7d -f csv -o recent.csv
|
|
186
190
|
guancli metric query <metric_id> --profile default --dim 日期 --recent 7d --raw
|
|
187
191
|
```
|
|
188
192
|
|