@guandata/guancli 1.0.43 → 1.0.45
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 +3 -3
- package/skills/guancli/SKILL.md +9 -0
- package/skills/guancli/references/auth-and-config.md +4 -0
- package/skills/guancli/references/metric-commands.md +22 -2
- package/skills/guancli/references/preview-and-output.md +20 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## @guandata/guancli 1.0.45 - 2026-07-28
|
|
4
|
+
|
|
5
|
+
- `auth status` 现在遵循根级 `--profile` 与 `GUANCLI_PROFILE`,可可靠核验高层 skill 当前进程链使用的目标环境。
|
|
6
|
+
- 卡片预览支持应用所在页面的默认筛选条件,覆盖常用选择器、日期粒度和动态参数;遇到多页面或无法确定的映射时会提前提示确认,避免静默返回错误结果。
|
|
7
|
+
- 动态参数会按当前卡片的实际配置解析,多个卡片使用不同参数时不再相互干扰。
|
|
8
|
+
|
|
9
|
+
## @guandata/guancli 1.0.44 - 2026-07-25
|
|
10
|
+
|
|
11
|
+
- 指标搜索支持多个关键词,并可同时匹配指标名称、业务口径和业务属性,结果会说明命中位置和优先级。
|
|
12
|
+
- 表单业务字段与系统展示列同名时可正确读取和写入,系统只读列会提前给出明确提示。
|
|
13
|
+
- 优化 Agent 的资源查询策略,优先使用轻量字段查询,减少大型环境中的等待和超时。
|
|
14
|
+
|
|
3
15
|
## @guandata/guancli 1.0.43 - 2026-07-23
|
|
4
16
|
|
|
5
17
|
- Token 登录引导和状态校验更准确,减少配置错误或失效凭证造成的反复排查。
|
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.45
|
|
45
|
+
|
|
46
|
+
- 卡片预览支持应用所在页面的默认筛选条件,覆盖常用选择器、日期粒度和动态参数;遇到多页面或无法确定的映射时会提前提示确认,避免静默返回错误结果。
|
|
47
|
+
- 动态参数会按当前卡片的实际配置解析,多个卡片使用不同参数时不再相互干扰。
|
|
48
|
+
- 认证状态检查会遵循当前 Profile,帮助 Agent 准确确认正在操作的目标环境。
|
|
49
|
+
|
|
50
|
+
### @guandata/guancli 1.0.44
|
|
51
|
+
|
|
52
|
+
- 指标搜索支持多个关键词,并可同时匹配指标名称、业务口径和业务属性,结果会说明命中位置和优先级。
|
|
53
|
+
- 表单业务字段与系统展示列同名时可正确读取和写入,系统只读列会提前给出明确提示。
|
|
54
|
+
- 优化 Agent 的资源查询策略,优先使用轻量字段查询,减少大型环境中的等待和超时。
|
|
55
|
+
|
|
44
56
|
### @guandata/guancli 1.0.43
|
|
45
57
|
|
|
46
58
|
- Token 登录引导和状态校验更准确,减少配置错误或失效凭证造成的反复排查。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guandata/guancli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.45",
|
|
4
4
|
"description": "观远 BI 命令行工具 - 通过 API 操作 ETL、数据集、页面、表单等资源,并提供 ChatBI 问数/洞察能力",
|
|
5
5
|
"bin": {
|
|
6
6
|
"guancli": "bin/run.js"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"node": ">=14"
|
|
39
39
|
},
|
|
40
40
|
"publishConfig": {
|
|
41
|
-
"
|
|
42
|
-
"
|
|
41
|
+
"registry": "https://registry.npmjs.org/",
|
|
42
|
+
"access": "public"
|
|
43
43
|
}
|
|
44
44
|
}
|
package/skills/guancli/SKILL.md
CHANGED
|
@@ -44,6 +44,7 @@ guancli 是 BI 资源的**查询分析入口**,并支持 Form 表单填报 CRU
|
|
|
44
44
|
3. 先判断资源类型:ETL 用 `etl`,数据集用 `ds`,页面/仪表板用 `page`,卡片用 `card`,表单填报用 `form`。
|
|
45
45
|
4. 信息不全时先 `tree` 或 `search`,拿到 ID 后再 `get`;目录名能出现在 `ds tree`,不代表同词一定能命中 `ds search`。
|
|
46
46
|
5. 用户给的是业务目录名而不是数据集名时,先 `ds tree` 定位目录,再在目录内按真实表名搜索,或从已有 `page/card` 反查 `dsId`。
|
|
47
|
+
6. 用户要求查询卡片数据,但没有说明是否沿用页面筛选上下文时,主动询问“是否应用该卡片关联筛选器的默认筛选条件”。用户确认后使用 `card preview <cd_id> --with-default-filters`;用户明确不要、已经给出筛选条件或已明确要求使用默认条件时,不重复询问。卡片属于多个页面时,根据报错列出的候选页面请用户确认,再传 `--page-id <pg_id>`。
|
|
47
48
|
|
|
48
49
|
## 按需读取资料
|
|
49
50
|
|
|
@@ -73,13 +74,21 @@ guancli page get <resource_id>
|
|
|
73
74
|
guancli ds preview <ds_id> --limit 20
|
|
74
75
|
guancli card get <cd_id>
|
|
75
76
|
guancli card preview <cd_id> --value-format raw -f csv
|
|
77
|
+
guancli card preview <cd_id> --with-default-filters
|
|
76
78
|
```
|
|
77
79
|
|
|
80
|
+
> `ds get` / `page get` / `etl get` 拉取完整资源详情(默认还会附血缘),在大环境上
|
|
81
|
+
> 可能明显偏慢甚至超时。只想了解数据集字段结构(做卡片/仪表板前的探查)时,
|
|
82
|
+
> 优先用 `guands dataset fields <ds_id>`(轻量、秒回);详情确需查看时先加
|
|
83
|
+
> `--brief` 跳过血缘。命令超时时不要原样重试——换轻量命令或转后台执行。
|
|
84
|
+
|
|
78
85
|
详细筛选、输出、动态参数和复杂报表 Pro 行为见 `references/preview-and-output.md`。
|
|
79
86
|
|
|
80
87
|
## 指标关键规则
|
|
81
88
|
|
|
82
89
|
- 普通指标数据查询用 `guancli metric query <metric_id>`,可加 `--dim`、`--filter`、排序、列筛选、输出格式等。
|
|
90
|
+
- 搜索指标支持两种方式:`guancli metric search <keyword>` 按指标名称模糊搜索;`guancli metric search --fuzzy <keyword>` 同时按指标名称、业务口径、自定义业务属性值做 OR 模糊搜索,可多次传参,命中优先级为 name=1、desc=2、bizAttr=3。`[keyword]` 和 `--fuzzy` 互斥。
|
|
91
|
+
- 回答指标搜索结果时,必须逐条说明“命中的指标”和“命中方式”:至少包含指标 ID、指标名称、命中条件/字段、命中优先级、命中关键词;不要把用户输入默认解释为指标名称精确匹配。如果结果中有“命中条件”“命中优先级”“命中关键词”列,必须原样纳入结论。
|
|
83
92
|
- 按数据集反查指标用 `guancli metric by-dataset <ds_id>`;如果已知指标主题,可加 `-d <metric_topic_id>` 缩小范围;需要结构化结果时用 `-f json`。
|
|
84
93
|
- 只要传入 `--compare`、`--compare-value`、`--xtd`、`--last`、`--recent`、`--recent-base`、`--percentage`、`--percentage-dim`、`--rank-top`、`--rank-order`、`--rank-dim`、`--adv-calc-json` 任一参数,就进入指标泛化查询模式。泛化查询要求 BI 版本 `>= 8.2.1`;如需确认环境版本,先执行 `guancli server-version --profile <profile>`。
|
|
85
94
|
- 当用户要创建、编辑、删除指标,创建指标主题/目录,批量标准化指标 Excel,或管理公共维度时,切换到 `guanmetric`。
|
|
@@ -52,8 +52,12 @@ guancli auth remove staging # 删除 staging 环境
|
|
|
52
52
|
```bash
|
|
53
53
|
guancli --profile staging etl tree
|
|
54
54
|
guancli --profile staging chatbi list-theme
|
|
55
|
+
GUANCLI_PROFILE=staging guancli auth status
|
|
56
|
+
GUANCLI_PROFILE=staging guancli etl tree
|
|
55
57
|
```
|
|
56
58
|
|
|
59
|
+
显式的子命令 `--profile` 优先于根级 `--profile` / `GUANCLI_PROFILE`;未指定时才使用配置中的默认环境。高层 skill(如 `guanetl`)使用 `GUANCLI_PROFILE` 绑定当前进程链,不修改机器级默认环境。
|
|
60
|
+
|
|
57
61
|
### ChatBI 配置
|
|
58
62
|
|
|
59
63
|
ChatBI 统一复用当前 profile 的 `base_url` 和 `uIdToken`。
|
|
@@ -57,7 +57,7 @@ guancli metric project 经营 --profile default --raw
|
|
|
57
57
|
|
|
58
58
|
### metric search
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
搜索指标;传 `[keyword]` 时按指标名称模糊搜索,不传关键词返回所有指标。使用 `--fuzzy` 时,后台会同时按指标名称、业务口径和自定义业务属性值做 OR 模糊搜索。
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
63
|
guancli metric search [keyword] [flags]
|
|
@@ -68,13 +68,33 @@ guancli metric search [keyword] [flags]
|
|
|
68
68
|
| 参数 | 说明 |
|
|
69
69
|
| --- | --- |
|
|
70
70
|
| `-d, --dir-id string` | 限定搜索主题 ID |
|
|
71
|
+
| `--fuzzy strings` | 名称、业务口径、自定义业务属性统一模糊搜索关键词,可多次指定,也支持逗号、中文逗号、顿号分隔;和 `[keyword]` 互斥 |
|
|
72
|
+
|
|
73
|
+
`--fuzzy` 语义:
|
|
74
|
+
|
|
75
|
+
- 多个关键词之间是 OR,命中任意关键词即返回。
|
|
76
|
+
- 对每个指标按优先级返回最高优先级命中:`matched by name` = 1,`matched by desc` = 2,`matched by bizAttr` = 3。
|
|
77
|
+
- 自定义业务属性值统一模糊匹配;后端只匹配启用且可搜索的业务属性。
|
|
78
|
+
- 结果会在原有指标字段基础上增加命中条件、命中优先级和命中关键词。
|
|
79
|
+
- `[keyword]` 走旧指标名称搜索接口;`--fuzzy` 走新的统一模糊搜索接口,二者不能同时使用。
|
|
80
|
+
|
|
81
|
+
回答要求:
|
|
82
|
+
|
|
83
|
+
- 必须逐条返回命中的指标,至少包含指标 ID、指标名称、状态、类型。
|
|
84
|
+
- 必须明确说明每条结果是通过什么方式命中的:命中条件/字段、命中优先级、命中关键词。
|
|
85
|
+
- 不要把用户输入默认解释为“指标名称精确匹配”。例如用户说“查询 api_test 主题下的啦啦啦指标”,应表述为“用 `--fuzzy 啦啦啦` 在 api_test 主题内搜索,以下指标命中”,再说明是命中名称、业务口径还是业务属性。
|
|
86
|
+
- 如果同一关键词命中多个指标,必须列出所有命中指标,不要只挑一个继续做详情或数据查询,除非用户明确要求。
|
|
71
87
|
|
|
72
88
|
示例:
|
|
73
89
|
|
|
74
90
|
```bash
|
|
91
|
+
guancli metric search --fuzzy 订购 --profile default -d <metric_topic_id>
|
|
92
|
+
guancli metric search --fuzzy 订购 --profile default -f json
|
|
75
93
|
guancli metric search 订购 --profile default -d <metric_topic_id>
|
|
76
94
|
guancli metric search 订购 --profile default -f json
|
|
77
|
-
guancli metric search
|
|
95
|
+
guancli metric search --fuzzy "收入,GMV" --profile default -d <metric_topic_id>
|
|
96
|
+
guancli metric search --fuzzy 收入 --fuzzy GMV --profile default -f json
|
|
97
|
+
guancli metric search --fuzzy 订购 --profile default --raw
|
|
78
98
|
```
|
|
79
99
|
|
|
80
100
|
### metric get
|
|
@@ -88,6 +88,7 @@ guancli card preview <cd_id> -f csv # 导出 CSV 到 stdout
|
|
|
88
88
|
guancli card preview <cd_id> -f csv -o card.csv # 导出 CSV 到文件
|
|
89
89
|
guancli card preview <cd_id> -f excel -o card.xls # 导出 Excel 可打开文件
|
|
90
90
|
guancli card preview <cd_id> --value-format raw -f csv # 保留原始数值,适合 AI 后续计算
|
|
91
|
+
guancli card preview <cd_id> --with-default-filters # 应用所在页面关联选择器的默认条件
|
|
91
92
|
```
|
|
92
93
|
|
|
93
94
|
卡片 ID (cdId) 可通过 `page get` 命令查看页面详情获取。
|
|
@@ -111,10 +112,28 @@ guancli card preview <complex_report_pro_cd_id> --filter "周 toWeek EQ 2026-W01
|
|
|
111
112
|
|
|
112
113
|
字段类型会自动从卡片关联的数据集 schema 推断。日期粒度筛选需配合 `card get` 查看字段配置中的筛选器字段名和粒度。
|
|
113
114
|
|
|
115
|
+
### 应用页面关联筛选器的默认条件
|
|
116
|
+
|
|
117
|
+
图表卡片默认只按卡片自身配置取数,不会隐式继承页面筛选上下文。需要得到与页面首次打开时一致的结果,可显式传入 `--with-default-filters`。CLI 会读取卡片所属页面,找出通过 `asFilter.columnMappings` 关联到该卡片的选择器,并将默认字段筛选或动态参数一并传给卡片数据接口;整个过程只依赖卡片和页面元信息,不会查询需要数据集管理权限的全局动态参数接口。
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
guancli card preview <cd_id> --with-default-filters
|
|
121
|
+
guancli card preview <cd_id> --with-default-filters --page-id <pg_id>
|
|
122
|
+
guancli card preview <cd_id> --with-default-filters --filter "区域 EQ 华南"
|
|
123
|
+
guancli card preview <cd_id> --with-default-filters --dynamic-param "结束日期=2026-07-24"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
- 卡片元信息只关联一个页面时自动使用该页面;关联多个页面时必须用 `--page-id` 明确上下文。
|
|
127
|
+
- 显式 `--filter` 或 `--dynamic-param` 会覆盖相同 `fdId` 或 `dpId` 的页面默认值,其他默认条件仍然保留。
|
|
128
|
+
- 首版支持普通固定值、多选、日期范围、后端已经解析出实际区间的时间宏,以及动态参数选择器。
|
|
129
|
+
- 树、组合、`FIRST_PICK`、`autoLink`、聚合/结果级映射、依赖其他选择器的级联运行态、必填但无默认值,以及无法从页面元信息确定实际值或目标映射的默认条件均 fail closed:CLI 在查询卡片数据前明确报错,不会静默忽略后继续执行。
|
|
130
|
+
- 多个选择器写入同一字段或动态参数、时间宏目标形态不明确、动态参数默认值包含逗号等可能产生歧义的情况同样会停止查询。
|
|
131
|
+
- 该参数仅适用于 CHART 图表卡片;复杂报表 Pro、选择器和其他卡片类型暂不支持。
|
|
132
|
+
|
|
114
133
|
### 带动态参数预览图表卡片
|
|
115
134
|
|
|
116
135
|
图表卡片 preview 支持通过 `--dynamic-param` 覆盖 BI 全局动态参数,格式为 `参数名=值` 或 `dpId=值`,可多次指定。
|
|
117
|
-
CLI
|
|
136
|
+
CLI 优先从当前卡片元数据补全参数,并把完整 `dynamicParams` 传给 `/api/card/{cdId}/data`。卡片已声明动态参数时,只接受当前卡片实际使用的参数;仅对完全没有内嵌参数元数据的旧卡片,才兼容回退查询 `/api/dynamic-parameter/query`。因此普通查看账号可直接覆盖当前卡片实际使用的动态参数,不依赖全局参数管理权限,也不会把同名或近似名称的无关全局参数静默传给卡片。
|
|
118
137
|
该能力仅支持 CHART 图表卡片;数据集 preview 当前后端接口不消费动态参数,暂不支持。
|
|
119
138
|
多选参数值沿用 BI 前端约定,使用英文逗号拼接成一个字符串传入。
|
|
120
139
|
|