@cvtoolman/huawei-lts-cli 1.0.1 → 1.0.2

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/README.md CHANGED
@@ -1,194 +1,261 @@
1
- # huawei-lts-cli — CLI + SKILL
2
-
3
- **简体中文** | [English](README_en.md)
4
-
5
- [![npm version](https://img.shields.io/npm/v/@cvtoolman/huawei-lts-cli.svg)](https://www.npmjs.com/package/@cvtoolman/huawei-lts-cli)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
-
8
- > 让你的 AI 编程助手(Claude Code、Cursor、Copilot、Qoder 等)通过自然语言查询华为云日志服务(LTS)。
9
-
10
- **一个工具,两部分:**
11
-
12
- | 部分 | 作用 |
13
- |---|---|
14
- | **CLI** (`lts-cli`) | 轻量命令行工具,对接华为云 LTS API |
15
- | **SKILL** (`SKILL.md`) | 一份给 AI 看的"说明书",教它如何把自然语言转成 CLI 命令 |
16
-
17
- AI 读完 skill 后,你只需说一句"查下今天的 ERROR 日志",AI 就能自动拼出正确的 `lts-cli` 命令并执行。不用记参数,不用手写 ISO 8601 时间格式。
18
-
19
- ## 为什么用 CLI + SKILL 而不是 MCP?
20
-
21
- AI 编程助手的上下文窗口很宝贵——一边要装代码库、一边要推理、一边还要跑工具。**省 token 就是省时省钱。**
22
-
23
- | | CLI + SKILL | MCP |
24
- |---|---|---|
25
- | **上下文开销** | **低** — skill 就一个短 markdown 文件,CLI 输出是纯文本 | **高** — 工具 schema + 快照数据常驻上下文 |
26
- | **AI 使用方式** | 执行 shell 命令,读取结果 | 通过协议调用结构化工具 |
27
- | **配置难度** | `npm install -g`、一个 skill 文件 | 服务进程、配置连线 |
28
- | **适用场景** | 编码过程中顺手查日志 | 长时间运行的自动化循环 |
29
-
30
- > **一句话:** 如果你想让 AI 在写代码时顺嘴帮你查日志——CLI + SKILL 是更轻、更省钱的方案。
31
-
32
- ## 快速开始
33
-
34
- ### 1. 安装 CLI
35
-
36
- ```bash
37
- npm install -g @cvtoolman/huawei-lts-cli
38
- ```
39
-
40
- ### 2. 配置凭证
41
-
42
- ```bash
43
- lts-cli init
44
- ```
45
-
46
- 向导会依次询问 AK、SK、Project ID、Region,一次配好。配置存储在 `~/.lts-cli/config.json`。
47
-
48
- ### 3. 安装 Skill(给 AI 工具用)
49
-
50
- **Claude Code:**
51
- ```bash
52
- mkdir -p .claude/skills/huawei-lts-log-query
53
- curl -o .claude/skills/huawei-lts-log-query/SKILL.md \
54
- https://raw.githubusercontent.com/jcxy/huawei-lts-cli/main/skills/huawei-lts-log-query/SKILL.md
55
- ```
56
-
57
- **Qoder:**
58
- ```bash
59
- mkdir -p .qoder/skills/huawei-lts-log-query
60
- curl -o .qoder/skills/huawei-lts-log-query/SKILL.md \
61
- https://raw.githubusercontent.com/jcxy/huawei-lts-cli/main/skills/huawei-lts-log-query/SKILL.md
62
- ```
63
-
64
- **手动安装(任意 AI 工具):** 将 [skills/huawei-lts-log-query/SKILL.md](skills/huawei-lts-log-query/SKILL.md) 复制到对应 AI 工具的 skills 目录下(`.claude/skills/`、`.qoder/skills/`、`.cursor/skills/` 等)。
65
-
66
- ### 4. 命令行直接使用(不依赖 AI)
67
-
68
- ```bash
69
- # 基础查询
70
- lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
71
-
72
- # 关键词搜索
73
- lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z -k "ERROR"
74
-
75
- # JSON 格式输出,管道给 jq 处理
76
- lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z -f json | jq .
77
- ```
78
-
79
- ## 命令参考
80
-
81
- ### `lts-cli query` — 查询日志
82
-
83
- ```
84
- lts-cli query [选项]
85
-
86
- 选项:
87
- -g, --group-id <groupId> 日志组 ID(可在配置中预设)
88
- -s, --stream-id <streamId> 日志流 ID(可在配置中预设)
89
- --start-time, --st <time> 开始时间,ISO 8601 格式(必填)
90
- --end-time, --et <time> 结束时间,ISO 8601 格式(必填)
91
- -k, --keyword <keyword> 搜索关键词
92
- -l, --limit <limit> 每页条数(默认: 100)
93
- -o, --offset <offset> 分页偏移量(默认: 0)
94
- -r, --reverse 按时间倒序
95
- -f, --format <format> 输出格式: pretty、json、table(默认: pretty)
96
- --no-paginate 关闭自动翻页
97
- ```
98
-
99
- ### `lts-cli config` — 管理配置
100
-
101
- ```
102
- lts-cli config [选项]
103
-
104
- 选项:
105
- --set <key=value> 设置配置项
106
- --get <key> 查看配置项
107
- --list 列出所有配置
108
- --unset <key> 删除配置项
109
- ```
110
-
111
- ### `lts-cli init` — 配置向导
112
-
113
- ```
114
- lts-cli init
115
-
116
- 交互式向导,引导设置 AK、SK、Project ID、Region、endpoint,
117
- 以及可选的默认日志组和日志流。
118
- ```
119
-
120
- ### `lts-cli completion` — Shell 补全
121
-
122
- ```
123
- lts-cli completion <bash|zsh|powershell>
124
-
125
- 生成 shell 补全脚本。
126
- ```
127
-
128
- ## 配置说明
129
-
130
- 配置存储在 `~/.lts-cli/config.json`(Linux/macOS)或 `%USERPROFILE%\.lts-cli\config.json`(Windows)。
131
-
132
- | 键 | 必填 | 说明 |
133
- |---|---|---|
134
- | `ak` | 是 | 华为云访问密钥 |
135
- | `sk` | 是 | 华为云私有密钥 |
136
- | `projectId` | 是 | 项目 ID |
137
- | `region` | 否 | 如 `cn-south-1` |
138
- | `endpoint` | 否 | 需包含 `https://` |
139
- | `groupId` | 否 | 默认日志组 ID |
140
- | `streamId` | 否 | 默认日志流 ID |
141
-
142
- ### 环境变量
143
-
144
- 所有配置项也支持环境变量(适用于 CI/CD):
145
-
146
- | 配置键 | 环境变量 |
147
- |---|---|
148
- | `ak` | `LTS_AK` |
149
- | `sk` | `LTS_SK` |
150
- | `projectId` | `LTS_PROJECT_ID` |
151
- | `region` | `LTS_REGION` |
152
- | `endpoint` | `LTS_ENDPOINT` |
153
- | `groupId` | `LTS_GROUP_ID` |
154
- | `streamId` | `LTS_STREAM_ID` |
155
-
156
- 环境变量优先级高于配置文件。
157
-
158
- ## 支持的区域
159
-
160
- | 区域 ID | 区域名称 | Endpoint |
161
- |---|---|---|
162
- | `cn-north-1` | 华北-北京一 | `lts.cn-north-1.myhuaweicloud.com` |
163
- | `cn-north-4` | 华北-北京四 | `lts.cn-north-4.myhuaweicloud.com` |
164
- | `cn-east-2` | 华东-上海二 | `lts.cn-east-2.myhuaweicloud.com` |
165
- | `cn-east-3` | 华东-上海三 | `lts.cn-east-3.myhuaweicloud.com` |
166
- | `cn-south-1` | 华南-广州 | `lts.cn-south-1.myhuaweicloud.com` |
167
- | `cn-south-4` | 华南-深圳 | `lts.cn-south-4.myhuaweicloud.com` |
168
- | `cn-southwest-2` | 西南-贵阳一 | `lts.cn-southwest-2.myhuaweicloud.com` |
169
- | `ap-southeast-1` | 亚太-新加坡 | `lts.ap-southeast-1.myhuaweicloud.com` |
170
- | `ap-southeast-2` | 亚太-曼谷 | `lts.ap-southeast-2.myhuaweicloud.com` |
171
- | `ap-southeast-3` | 亚太-雅加达 | `lts.ap-southeast-3.myhuaweicloud.com` |
172
- | `af-south-1` | 非洲-约翰内斯堡 | `lts.af-south-1.myhuaweicloud.com` |
173
-
174
- > 完整列表请参考 [华为云 LTS 终端节点](https://support.huaweicloud.com/api-lts/lts_api_0011.html)。
175
-
176
- ## 开发指南
177
-
178
- ```bash
179
- git clone https://github.com/jcxy/huawei-lts-cli.git
180
- cd huawei-lts-cli
181
- npm install
182
- npm run build
183
-
184
- # 开发模式运行(无需编译)
185
- npm run dev -- query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
186
-
187
- # 本地测试
188
- npm link
189
- lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
190
- ```
191
-
192
- ## License
193
-
194
- [MIT](LICENSE)
1
+ # huawei-lts-cli — CLI + SKILL
2
+
3
+ **简体中文** | [English](README_en.md)
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@cvtoolman/huawei-lts-cli.svg)](https://www.npmjs.com/package/@cvtoolman/huawei-lts-cli)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
+
8
+ > 让你的 AI 编程助手(Claude Code、Cursor、Copilot、Qoder 等)通过自然语言查询华为云日志服务(LTS)。
9
+
10
+ **一个工具,两部分:**
11
+
12
+ | 部分 | 作用 |
13
+ |---|---|
14
+ | **CLI** (`lts-cli`) | 轻量命令行工具,对接华为云 LTS API |
15
+ | **SKILL** (`SKILL.md`) | 一份给 AI 看的"说明书",教它如何把自然语言转成 CLI 命令 |
16
+
17
+ AI 读完 skill 后,你只需说一句"查下今天的 ERROR 日志",AI 就能自动拼出正确的 `lts-cli` 命令并执行。不用记参数,不用手写 ISO 8601 时间格式。
18
+
19
+ ## 为什么用 CLI + SKILL 而不是 MCP?
20
+
21
+ AI 编程助手的上下文窗口很宝贵——一边要装代码库、一边要推理、一边还要跑工具。**省 token 就是省时省钱。**
22
+
23
+ | | CLI + SKILL | MCP |
24
+ |---|---|---|
25
+ | **上下文开销** | **低** — skill 就一个短 markdown 文件,CLI 输出是纯文本 | **高** — 工具 schema + 快照数据常驻上下文 |
26
+ | **AI 使用方式** | 执行 shell 命令,读取结果 | 通过协议调用结构化工具 |
27
+ | **配置难度** | `npm install -g`、一个 skill 文件 | 服务进程、配置连线 |
28
+ | **适用场景** | 编码过程中顺手查日志 | 长时间运行的自动化循环 |
29
+
30
+ > **一句话:** 如果你想让 AI 在写代码时顺嘴帮你查日志——CLI + SKILL 是更轻、更省钱的方案。
31
+
32
+ ## 快速开始
33
+
34
+ ### 1. 安装 CLI
35
+
36
+ ```bash
37
+ npm install -g @cvtoolman/huawei-lts-cli
38
+ ```
39
+
40
+ ### 2. 配置凭证
41
+
42
+ ```bash
43
+ lts-cli init
44
+ ```
45
+
46
+ 向导会依次询问 AK、SK、Project ID、Region,一次配好。配置存储在 `~/.lts-cli/config.json`。
47
+
48
+ ### 3. 安装 Skill(给 AI 工具用)
49
+
50
+ **Claude Code:**
51
+ ```bash
52
+ mkdir -p .claude/skills/huawei-lts-log-query
53
+ curl -o .claude/skills/huawei-lts-log-query/SKILL.md \
54
+ https://raw.githubusercontent.com/jcxy/huawei-lts-cli/main/skills/huawei-lts-log-query/SKILL.md
55
+ ```
56
+
57
+ **Qoder:**
58
+ ```bash
59
+ mkdir -p .qoder/skills/huawei-lts-log-query
60
+ curl -o .qoder/skills/huawei-lts-log-query/SKILL.md \
61
+ https://raw.githubusercontent.com/jcxy/huawei-lts-cli/main/skills/huawei-lts-log-query/SKILL.md
62
+ ```
63
+
64
+ **手动安装(任意 AI 工具):** 将 [skills/huawei-lts-log-query/SKILL.md](skills/huawei-lts-log-query/SKILL.md) 复制到对应 AI 工具的 skills 目录下(`.claude/skills/`、`.qoder/skills/`、`.cursor/skills/` 等)。
65
+
66
+ ### 4. 命令行直接使用(不依赖 AI)
67
+
68
+ ```bash
69
+ # 基础查询
70
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
71
+
72
+ # 简单关键词搜索(旧版,向后兼容)
73
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z -k "ERROR"
74
+
75
+ # 高级查询:多字段组合(推荐)
76
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
77
+ -q "content:error AND appName:myapp"
78
+
79
+ # 复杂逻辑查询
80
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
81
+ -q "(level:ERROR OR level:WARN) NOT env:test"
82
+
83
+ # SQL 分析查询
84
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
85
+ -q "SELECT count(*) as cnt, level FROM log GROUP BY level" \
86
+ -f json
87
+
88
+ # JSON 格式输出,管道给 jq 处理
89
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z -f json | jq .
90
+ ```
91
+
92
+ > 💡 **提示**:使用 `-q` 参数可实现与 LTS 控制台相同的多条件组合查询功能。详见 [查询语法速查表](skills/huawei-lts-log-query/references/cheatsheet.md) 和 [高级查询指南](skills/huawei-lts-log-query/references/advanced-query-guide.md)。
93
+
94
+ ## 命令参考
95
+
96
+ ### `lts-cli query` — 查询日志
97
+
98
+ ```bash
99
+ lts-cli query [选项]
100
+
101
+ 选项:
102
+ -g, --group-id <groupId> 日志组 ID(可在配置中预设)
103
+ -s, --stream-id <streamId> 日志流 ID(可在配置中预设)
104
+ --start-time, --st <time> 开始时间,ISO 8601 格式(必填)
105
+ --end-time, --et <time> 结束时间,ISO 8601 格式(必填)
106
+ -k, --keyword <keyword> 简单关键词搜索(旧版,不推荐)
107
+ -q, --query <query> 高级查询表达式(推荐):
108
+ - 字段查询: content:error AND appName:myapp
109
+ - 比较运算: time>60 AND region:r
110
+ - SQL语法: SELECT * FROM log WHERE ...
111
+ - 逻辑运算符: AND, OR, NOT(需空格分隔)
112
+ -l, --limit <limit> 每页条数(默认: 100)
113
+ -o, --offset <offset> 分页偏移量(默认: 0)
114
+ -r, --reverse 按时间倒序
115
+ -f, --format <format> 输出格式: pretty、json、table(默认: pretty)
116
+ --no-paginate 关闭自动翻页
117
+ ```
118
+
119
+ #### 高级查询语法示例
120
+
121
+ **字段查询:**
122
+ ```bash
123
+ # 单字段匹配
124
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
125
+ -q "content:error"
126
+
127
+ # 多字段组合(且关系)
128
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
129
+ -q "content:error AND appName:myapp AND node:server1"
130
+
131
+ # 多字段组合(或关系)
132
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
133
+ -q "level:ERROR OR level:WARN"
134
+
135
+ # 排除条件
136
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
137
+ -q "level:DEBUG NOT module:test"
138
+
139
+ # 数值比较
140
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
141
+ -q "response_time>1000 AND status_code!=200"
142
+
143
+ # 复杂组合
144
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
145
+ -q "(level:ERROR OR level:WARN) NOT env:test"
146
+ ```
147
+
148
+ **SQL 查询:**
149
+ ```bash
150
+ # 统计各应用错误数量
151
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
152
+ -q "SELECT count(*) as cnt, appName FROM log WHERE content LIKE '%error%' GROUP BY appName"
153
+
154
+ # 平均响应时间
155
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
156
+ -q "SELECT avg(response_time) as avg_time FROM log WHERE status_code=200"
157
+ ```
158
+
159
+ > ⚠️ **注意**:AND、OR、NOT 前后必须有**空格**!
160
+
161
+ 详细文档请查看:
162
+ - [查询语法速查表](skills/huawei-lts-log-query/references/cheatsheet.md)
163
+ - [高级查询指南](skills/huawei-lts-log-query/references/advanced-query-guide.md)
164
+ - [控制台 vs CLI 对照](skills/huawei-lts-log-query/references/query-comparison.md)
165
+
166
+ ### `lts-cli config` — 管理配置
167
+
168
+ ```
169
+ lts-cli config [选项]
170
+
171
+ 选项:
172
+ --set <key=value> 设置配置项
173
+ --get <key> 查看配置项
174
+ --list 列出所有配置
175
+ --unset <key> 删除配置项
176
+ ```
177
+
178
+ ### `lts-cli init` — 配置向导
179
+
180
+ ```
181
+ lts-cli init
182
+
183
+ 交互式向导,引导设置 AK、SK、Project ID、Region、endpoint,
184
+ 以及可选的默认日志组和日志流。
185
+ ```
186
+
187
+ ### `lts-cli completion` — Shell 补全
188
+
189
+ ```
190
+ lts-cli completion <bash|zsh|powershell>
191
+
192
+ 生成 shell 补全脚本。
193
+ ```
194
+
195
+ ## 配置说明
196
+
197
+ 配置存储在 `~/.lts-cli/config.json`(Linux/macOS)或 `%USERPROFILE%\.lts-cli\config.json`(Windows)。
198
+
199
+ | 键 | 必填 | 说明 |
200
+ |---|---|---|
201
+ | `ak` | 是 | 华为云访问密钥 |
202
+ | `sk` | 是 | 华为云私有密钥 |
203
+ | `projectId` | 是 | 项目 ID |
204
+ | `region` | 否 | 如 `cn-south-1` |
205
+ | `endpoint` | 否 | 需包含 `https://` |
206
+ | `groupId` | 否 | 默认日志组 ID |
207
+ | `streamId` | 否 | 默认日志流 ID |
208
+
209
+ ### 环境变量
210
+
211
+ 所有配置项也支持环境变量(适用于 CI/CD):
212
+
213
+ | 配置键 | 环境变量 |
214
+ |---|---|
215
+ | `ak` | `LTS_AK` |
216
+ | `sk` | `LTS_SK` |
217
+ | `projectId` | `LTS_PROJECT_ID` |
218
+ | `region` | `LTS_REGION` |
219
+ | `endpoint` | `LTS_ENDPOINT` |
220
+ | `groupId` | `LTS_GROUP_ID` |
221
+ | `streamId` | `LTS_STREAM_ID` |
222
+
223
+ 环境变量优先级高于配置文件。
224
+
225
+ ## 支持的区域
226
+
227
+ | 区域 ID | 区域名称 | Endpoint |
228
+ |---|---|---|
229
+ | `cn-north-1` | 华北-北京一 | `lts.cn-north-1.myhuaweicloud.com` |
230
+ | `cn-north-4` | 华北-北京四 | `lts.cn-north-4.myhuaweicloud.com` |
231
+ | `cn-east-2` | 华东-上海二 | `lts.cn-east-2.myhuaweicloud.com` |
232
+ | `cn-east-3` | 华东-上海三 | `lts.cn-east-3.myhuaweicloud.com` |
233
+ | `cn-south-1` | 华南-广州 | `lts.cn-south-1.myhuaweicloud.com` |
234
+ | `cn-south-4` | 华南-深圳 | `lts.cn-south-4.myhuaweicloud.com` |
235
+ | `cn-southwest-2` | 西南-贵阳一 | `lts.cn-southwest-2.myhuaweicloud.com` |
236
+ | `ap-southeast-1` | 亚太-新加坡 | `lts.ap-southeast-1.myhuaweicloud.com` |
237
+ | `ap-southeast-2` | 亚太-曼谷 | `lts.ap-southeast-2.myhuaweicloud.com` |
238
+ | `ap-southeast-3` | 亚太-雅加达 | `lts.ap-southeast-3.myhuaweicloud.com` |
239
+ | `af-south-1` | 非洲-约翰内斯堡 | `lts.af-south-1.myhuaweicloud.com` |
240
+
241
+ > 完整列表请参考 [华为云 LTS 终端节点](https://support.huaweicloud.com/api-lts/lts_api_0011.html)。
242
+
243
+ ## 开发指南
244
+
245
+ ```bash
246
+ git clone https://github.com/jcxy/huawei-lts-cli.git
247
+ cd huawei-lts-cli
248
+ npm install
249
+ npm run build
250
+
251
+ # 开发模式运行(无需编译)
252
+ npm run dev -- query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
253
+
254
+ # 本地测试
255
+ npm link
256
+ lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
257
+ ```
258
+
259
+ ## License
260
+
261
+ [MIT](LICENSE)
@@ -14,7 +14,12 @@ function createQueryCommand() {
14
14
  .requiredOption('--end-time <endTime>', 'End time (ISO 8601, e.g. 2024-01-02T00:00:00Z)')
15
15
  .option('--st <startTime>', 'Alias for --start-time')
16
16
  .option('--et <endTime>', 'Alias for --end-time')
17
- .option('-k, --keyword <keyword>', 'Search keyword')
17
+ .option('-k, --keyword <keyword>', 'Simple keyword search (legacy, use --query for advanced queries)')
18
+ .option('-q, --query <query>', 'Advanced query expression. Supports:\n' +
19
+ ' - Field queries: content:error AND appName:myapp\n' +
20
+ ' - Comparison: time>60 AND region:r\n' +
21
+ ' - SQL syntax: SELECT * FROM log WHERE content LIKE \'%error%\'\n' +
22
+ ' - Logical operators: AND, OR, NOT (must be surrounded by spaces)')
18
23
  .option('-l, --limit <limit>', 'Limit number of results', parseInt, 100)
19
24
  .option('-o, --offset <offset>', 'Offset for pagination', parseInt, 0)
20
25
  .option('-r, --reverse', 'Reverse order (newest first)')
@@ -62,6 +67,7 @@ function createQueryCommand() {
62
67
  startTime,
63
68
  endTime,
64
69
  keyword: options.keyword,
70
+ query: options.query,
65
71
  limit: options.limit,
66
72
  offset: options.offset,
67
73
  reverse: options.reverse,
@@ -34,7 +34,12 @@ class LTSClient {
34
34
  .withStartTime(new Date(params.startTime).getTime().toString())
35
35
  .withEndTime(new Date(params.endTime).getTime().toString())
36
36
  .withLimit(params.limit ?? 100);
37
- if (params.keyword) {
37
+ // 优先使用 query 参数(支持SQL和结构化查询)
38
+ if (params.query) {
39
+ queryParams.withQuery(params.query);
40
+ }
41
+ else if (params.keyword) {
42
+ // 向后兼容:简单关键词搜索
38
43
  queryParams.withKeywords(params.keyword);
39
44
  }
40
45
  if (params.reverse !== undefined) {
package/package.json CHANGED
@@ -1,55 +1,55 @@
1
- {
2
- "name": "@cvtoolman/huawei-lts-cli",
3
- "version": "1.0.1",
4
- "description": "Command-line tool for querying Huawei Cloud Log Tank Service (LTS) logs",
5
- "main": "dist/cli/index.js",
6
- "bin": {
7
- "lts-cli": "./dist/cli/index.js"
8
- },
9
- "files": [
10
- "dist/"
11
- ],
12
- "scripts": {
13
- "build": "tsc",
14
- "dev": "tsx src/cli/index.ts",
15
- "start": "node dist/cli/index.js",
16
- "clean": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
17
- "prepublishOnly": "npm run clean && npm run build"
18
- },
19
- "keywords": [
20
- "huawei-cloud",
21
- "huawei",
22
- "lts",
23
- "log-tank-service",
24
- "logs",
25
- "cli",
26
- "log-query",
27
- "cloud-logging"
28
- ],
29
- "author": "cvtoolman",
30
- "license": "MIT",
31
- "repository": {
32
- "type": "git",
33
- "url": "git+https://github.com/jcxy/huawei-lts-cli.git"
34
- },
35
- "bugs": {
36
- "url": "https://github.com/jcxy/huawei-lts-cli/issues"
37
- },
38
- "homepage": "https://github.com/jcxy/huawei-lts-cli#readme",
39
- "engines": {
40
- "node": ">=16.0.0"
41
- },
42
- "dependencies": {
43
- "@huaweicloud/huaweicloud-sdk-core": "latest",
44
- "@huaweicloud/huaweicloud-sdk-lts": "latest",
45
- "chalk": "^4.1.2",
46
- "cli-table3": "latest",
47
- "commander": "latest",
48
- "uuid": "^9.0.0"
49
- },
50
- "devDependencies": {
51
- "@types/node": "latest",
52
- "tsx": "latest",
53
- "typescript": "latest"
54
- }
55
- }
1
+ {
2
+ "name": "@cvtoolman/huawei-lts-cli",
3
+ "version": "1.0.2",
4
+ "description": "Command-line tool for querying Huawei Cloud Log Tank Service (LTS) logs",
5
+ "main": "dist/cli/index.js",
6
+ "bin": {
7
+ "lts-cli": "./dist/cli/index.js"
8
+ },
9
+ "files": [
10
+ "dist/"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "dev": "tsx src/cli/index.ts",
15
+ "start": "node dist/cli/index.js",
16
+ "clean": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
17
+ "prepublishOnly": "npm run clean && npm run build"
18
+ },
19
+ "keywords": [
20
+ "huawei-cloud",
21
+ "huawei",
22
+ "lts",
23
+ "log-tank-service",
24
+ "logs",
25
+ "cli",
26
+ "log-query",
27
+ "cloud-logging"
28
+ ],
29
+ "author": "cvtoolman",
30
+ "license": "MIT",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/jcxy/huawei-lts-cli.git"
34
+ },
35
+ "bugs": {
36
+ "url": "https://github.com/jcxy/huawei-lts-cli/issues"
37
+ },
38
+ "homepage": "https://github.com/jcxy/huawei-lts-cli#readme",
39
+ "engines": {
40
+ "node": ">=16.0.0"
41
+ },
42
+ "dependencies": {
43
+ "@huaweicloud/huaweicloud-sdk-core": "latest",
44
+ "@huaweicloud/huaweicloud-sdk-lts": "latest",
45
+ "chalk": "^4.1.2",
46
+ "cli-table3": "latest",
47
+ "commander": "latest",
48
+ "uuid": "^9.0.0"
49
+ },
50
+ "devDependencies": {
51
+ "@types/node": "latest",
52
+ "tsx": "latest",
53
+ "typescript": "latest"
54
+ }
55
+ }