@guandata/guancli 1.0.48 → 1.0.50
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 +11 -0
- package/README.md +11 -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 +10 -7
- package/skills/guancli/references/auth-and-config.md +12 -0
- package/skills/guancli/references/metric-commands.md +36 -1
- package/skills/guancli/references/metric-generic-query.md +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## @guandata/guancli 1.0.50
|
|
4
|
+
|
|
5
|
+
- 指标查询结果会明确展示是否命中查询加速,命中时可看到相关加速指标信息,便于判断查询效果。
|
|
6
|
+
- 多环境使用时,Agent 可根据 Domain 或 BI 地址定位对应登录环境,减少环境选择错误。
|
|
7
|
+
|
|
8
|
+
## @guandata/guancli 1.0.49 - 2026-08-07
|
|
9
|
+
|
|
10
|
+
- 支持指标查询加速,提升指标查询场景的执行效率与使用体验。
|
|
11
|
+
- 指标查询结果超过 1000 行时默认输出为文件,避免终端展示过长内容。
|
|
12
|
+
- 支持按 Domain 或 URL 查找 Profile,简化认证配置与环境切换。
|
|
13
|
+
|
|
3
14
|
## @guandata/guancli 1.0.48 - 2026-08-04
|
|
4
15
|
|
|
5
16
|
- 支持直接基于已有仪表板或智能洞察卡片生成洞察结果,可应用筛选条件并选择分析思路。
|
package/README.md
CHANGED
|
@@ -41,6 +41,17 @@ guancli chatbi query --theme-name "经营主题" --message "最近30天营业收
|
|
|
41
41
|
|
|
42
42
|
## 版本更新
|
|
43
43
|
|
|
44
|
+
### @guandata/guancli 1.0.50
|
|
45
|
+
|
|
46
|
+
- 指标查询结果会明确展示是否命中查询加速,命中时可看到相关加速指标信息,便于判断查询效果。
|
|
47
|
+
- 多环境使用时,Agent 可根据 Domain 或 BI 地址定位对应登录环境,减少环境选择错误。
|
|
48
|
+
|
|
49
|
+
### @guandata/guancli 1.0.49
|
|
50
|
+
|
|
51
|
+
- 支持按 Domain 或 URL 查找 Profile,切换和定位目标环境更方便。
|
|
52
|
+
- 新增指标查询加速能力,提升指标查询效率。
|
|
53
|
+
- 指标查询结果超过 1000 行时默认转为文件输出,更适合处理大结果集。
|
|
54
|
+
|
|
44
55
|
### @guandata/guancli 1.0.48
|
|
45
56
|
|
|
46
57
|
- 支持直接基于已有仪表板或智能洞察卡片生成洞察结果,可应用筛选条件并选择分析思路。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/skills/guancli/SKILL.md
CHANGED
|
@@ -40,12 +40,14 @@ guancli 是 BI 资源的**查询分析入口**,并支持 Form 表单填报 CRU
|
|
|
40
40
|
|
|
41
41
|
## 先做判断
|
|
42
42
|
|
|
43
|
-
1.
|
|
44
|
-
2.
|
|
45
|
-
3.
|
|
46
|
-
4.
|
|
47
|
-
5.
|
|
48
|
-
6.
|
|
43
|
+
1. 认证检查和 BI 查询都会联网,密码 profile 或服务端轮换 token 时可能更新本地 token;只在当前任务允许认证刷新时执行。
|
|
44
|
+
2. 多 profile 且已知登录 Domain 或 BI/页面 URL 时,先用 `auth list --domain <domain>` 或 `auth list --url <url>` 找候选;0 个候选时报告无匹配,并让用户明确现有 profile 或授权新建/更新哪个 profile,不能自动登录。多个候选时让用户按 profile 名称明确选择。选定 profile 后,用 `guancli --profile <name> auth status` 验证,并在后续查询中保留同一 `--profile <name>`;只有用户明确要求切换机器级默认环境时才用 `auth use`。
|
|
45
|
+
3. 未指定 profile 线索时,用 `auth status` 确认当前默认环境的认证是否有效;首次配置、PAT、profile 和配置文件细节见 `references/auth-and-config.md`。
|
|
46
|
+
4. 如果 Token 过期,密码登录方式会自动刷新;Token 方式需重新登录。
|
|
47
|
+
5. 先判断资源类型:ETL 用 `etl`,数据集用 `ds`,页面/仪表板用 `page`,卡片用 `card`,表单填报用 `form`。
|
|
48
|
+
6. 信息不全时先 `tree` 或 `search`,拿到 ID 后再 `get`;目录名能出现在 `ds tree`,不代表同词一定能命中 `ds search`。三棵 `tree` 都支持 `--max-depth N` / `--keyword 词`(客户环境目录树可达数千节点,全量输出会被截断,默认先 `--max-depth 2` 再按需加深)。
|
|
49
|
+
7. 用户给的是业务目录名而不是数据集名时,先 `ds tree` 定位目录,再在目录内按真实表名搜索,或从已有 `page/card` 反查 `dsId`。
|
|
50
|
+
8. 用户要求查询卡片数据,但没有说明是否沿用页面筛选上下文时,主动询问“是否应用该卡片关联筛选器的默认筛选条件”。用户确认后使用 `card preview <cd_id> --with-default-filters`;用户明确不要、已经给出筛选条件或已明确要求使用默认条件时,不重复询问。卡片属于多个页面时,根据报错列出的候选页面请用户确认,再传 `--page-id <pg_id>`。
|
|
49
51
|
|
|
50
52
|
## 按需读取资料
|
|
51
53
|
|
|
@@ -89,7 +91,7 @@ guancli insight card <cd_id> --page-id <page_id>
|
|
|
89
91
|
|
|
90
92
|
## 指标关键规则
|
|
91
93
|
|
|
92
|
-
- 普通指标数据查询用 `guancli metric query <metric_id>`,可加 `--dim`、`--filter
|
|
94
|
+
- 普通指标数据查询用 `guancli metric query <metric_id>`,可加 `--dim`、`--filter`、排序、列筛选、输出格式等;未指定 `-o/--output` 且结果超过 1000 行时会自动写入 `metric_<metricId>_<timestamp>.<ext>`。回答指标数据查询结果时,必须检查输出中的 `查询加速` summary 或 `_queryAccelerate` 列:命中时明确说明“本次查询命中查询加速”,并列出源指标 ID、加速指标 ID 和优先级;未命中时说明“未命中查询加速”;如果显示 `未知: 后端未返回`,说明当前后端未返回命中 metadata,不能推断是否命中。
|
|
93
95
|
- 搜索指标支持两种方式:`guancli metric search <keyword>` 按指标名称模糊搜索;`guancli metric search --fuzzy <keyword>` 同时按指标名称、业务口径、自定义业务属性值做 OR 模糊搜索,可多次传参,命中优先级为 name=1、desc=2、bizAttr=3。`[keyword]` 和 `--fuzzy` 互斥。
|
|
94
96
|
- 回答指标搜索结果时,必须逐条说明“命中的指标”和“命中方式”:至少包含指标 ID、指标名称、命中条件/字段、命中优先级、命中关键词;不要把用户输入默认解释为指标名称精确匹配。如果结果中有“命中条件”“命中优先级”“命中关键词”列,必须原样纳入结论。
|
|
95
97
|
- 按数据集反查指标用 `guancli metric by-dataset <ds_id>`;如果已知指标主题,可加 `-d <metric_topic_id>` 缩小范围;需要结构化结果时用 `-f json`。
|
|
@@ -164,5 +166,6 @@ guancli --raw insight agent ask <agent_id> --session-id <session_id> --expert-id
|
|
|
164
166
|
|
|
165
167
|
- 用中文输出,优先给“可执行结论”。
|
|
166
168
|
- 不只贴原始命令结果,必须做逻辑归纳(按链路/主题)。
|
|
169
|
+
- 对 `guancli metric query` 的结果,必须在结论中单独交代查询加速命中情况;如果命中,必须点名具体加速指标 ID,不能只说“用了加速”。
|
|
167
170
|
- 涉及时间相关信息时给出明确日期。
|
|
168
171
|
- 如果用户给的是模糊对象名,先说明你是如何定位到具体资源 ID 的。
|
|
@@ -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 获取关联指标。命令会跨指标主题扫描指标,并结合指标详情和指标血缘判断该数据集关联的指标;结果包含直接使用该数据集的原子指标,也包含继续引用这些指标的复合指标和衍生指标。
|
|
@@ -141,6 +163,15 @@ guancli metric by-dataset <ds_id> --profile default --raw
|
|
|
141
163
|
|
|
142
164
|
查询指标数据,支持维度、筛选、排序、列筛选和行数限制。泛化查询参数见 `metric-generic-query.md`。
|
|
143
165
|
|
|
166
|
+
非 `--raw` 输出会展示本次查询是否命中查询加速:summary 中有 `查询加速`,数据行中有 `_queryAccelerate`。命中时展示源指标 ID、加速指标 ID 和优先级,例如 `metric_xxx->acc_xxx(优先级1)`;未命中时显示 `否`。若后端版本尚未返回查询加速 metadata,则显示 `未知: 后端未返回`。
|
|
167
|
+
|
|
168
|
+
回答要求:
|
|
169
|
+
|
|
170
|
+
- 必须单独说明本次查询加速命中情况。
|
|
171
|
+
- 命中时必须明确列出命中的加速指标 ID、对应源指标 ID 和优先级。
|
|
172
|
+
- 未命中时说明未命中查询加速。
|
|
173
|
+
- 如果是 `未知: 后端未返回`,只能说明后端未返回命中 metadata,不能推断是否命中。
|
|
174
|
+
|
|
144
175
|
```bash
|
|
145
176
|
guancli metric query <metric_id> [flags]
|
|
146
177
|
```
|
|
@@ -157,6 +188,9 @@ guancli metric query <metric_id> [flags]
|
|
|
157
188
|
| `--sort-desc string` | 无 | 按列降序排序,与 `--sort-asc` 互斥 |
|
|
158
189
|
| `--columns strings` | 无 | 只显示指定列,逗号分隔,在 CLI 端执行 |
|
|
159
190
|
| `--precision int` | `6` | 数值最大小数位数;传 `-1` 保留原始精度 |
|
|
191
|
+
| `-o, --output string` | 无 | 将查询结果写入文件;未指定且结果超过 1000 行时自动写入文件 |
|
|
192
|
+
|
|
193
|
+
未指定 `-o/--output` 且查询结果超过 1000 行时,默认写入 `metric_<metricId>_<timestamp>.<ext>` 文件,避免把大结果直接塞入上下文。默认 `-f auto` 在写文件时会切换为 CSV;显式指定 `-f json/csv/table/expanded/excel` 时按指定格式写入。
|
|
160
194
|
|
|
161
195
|
筛选操作符:
|
|
162
196
|
|
|
@@ -179,6 +213,7 @@ guancli metric query <metric_id> --profile default --dim 省份 --filter "省份
|
|
|
179
213
|
guancli metric query <metric_id> --profile default --dim 省份 --sort-desc 订购数量
|
|
180
214
|
guancli metric query <metric_id> --profile default --dim 省份 --columns "省份,订购数量"
|
|
181
215
|
guancli metric query <metric_id> --profile default --dim 省份 -f csv
|
|
216
|
+
guancli metric query <metric_id> --profile default --dim 省份 --limit 10000 -f csv -o metric.csv
|
|
182
217
|
guancli metric query <metric_id> --profile default --dim 省份 --raw
|
|
183
218
|
```
|
|
184
219
|
|
|
@@ -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
|
|