deepminer-cli 0.1.26 → 0.1.27

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
@@ -10,8 +10,7 @@ DeepMiner 系统的命令行工具,用于管理认证、配置和 AI 会话。
10
10
  - **空间管理**: 查看和切换工作空间
11
11
  - **配置管理**: API 端点配置
12
12
  - **安全存储**: Token 以受限权限存储在本地
13
- - **文件上传**: 上传文件到 OSS,带文件大小验证
14
- - **AI 会话**: 启动/继续/停止 AI 助手会话,支持自定义消息、会话追问和 claw_param 参数
13
+ - **AI 会话**: 启动/继续/停止 AI 助手会话,支持自定义消息、文件附件、会话追问和 claw_param 参数
15
14
  - **JSON 输出**: 所有命令支持 `--json` 结构化输出,适合 AI agent 和脚本调用
16
15
  - **错误提示**: 错误响应包含 `hint` 字段,提供可操作的修复建议
17
16
  - **Dry Run**: `--dry-run` 预览 HTTP 请求而不实际执行
@@ -37,6 +36,18 @@ go build -o dm-cli .
37
36
 
38
37
  ## 快速开始
39
38
 
39
+ **方式一:使用 AccessKey(推荐,无需登录)**
40
+
41
+ ```bash
42
+ # 1. 初始化配置(带 AccessKey,无需后续登录和选择空间)
43
+ dm-cli config init --endpoint https://dm-dev.xmingai.com --accesskey <your_access_key>
44
+
45
+ # 2. 直接使用
46
+ dm-cli agent start-thread --message "你好"
47
+ ```
48
+
49
+ **方式二:使用用户名密码登录**
50
+
40
51
  ```bash
41
52
  # 1. 初始化配置
42
53
  dm-cli config init --endpoint https://dm-dev.xmingai.com
@@ -49,20 +60,27 @@ dm-cli auth switch <space_id>
49
60
 
50
61
  # 4. 查看状态
51
62
  dm-cli auth status
63
+ ```
52
64
 
53
- # 5. 启动 AI 会话(返回 agent_run_id、thread_id)
65
+ **通用操作**
66
+
67
+ ```bash
68
+ # 启动 AI 会话(返回 agent_run_id、thread_id)
54
69
  dm-cli agent start-thread --message "你好"
55
70
 
56
- # 5a. 在已有会话中继续追问
71
+ # 带文件附件发送
72
+ dm-cli agent start-thread --message "请分析这个报告" --file ./report.ppt
73
+
74
+ # 在已有会话中继续追问
57
75
  dm-cli agent start-thread --message "继续聊" --thread-id <thread_id>
58
76
 
59
- # 5b. 停止正在运行的 Agent
77
+ # 停止正在运行的 Agent
60
78
  dm-cli agent stop --agent-run-id <agent_run_id>
61
79
 
62
- # 6. 上传文件
63
- dm-cli file upload --file document.pdf
80
+ # 查看用户打开的 agent
81
+ dm-cli agent user-open
64
82
 
65
- # 7. 登出
83
+ # 登出(仅用户名密码模式)
66
84
  dm-cli auth logout
67
85
  ```
68
86
 
@@ -74,8 +92,8 @@ dm-cli auth logout
74
92
  dm-cli auth status --json
75
93
  # {"ok": true, "data": {"logged_in": true, "user_id": "...", "current_space": "...", ...}}
76
94
 
77
- dm-cli file upload --file data.xlsx --json
78
- # {"ok": true, "data": {"file_id": "...", "file_key": "...", ...}}
95
+ dm-cli agent start-thread --message "分析" --file ./data.xlsx --json
96
+ # {"ok": true, "data": {"agent_run_id": "...", "thread_id": "...", ...}}
79
97
  ```
80
98
 
81
99
  ## 命令列表
@@ -83,8 +101,9 @@ dm-cli file upload --file data.xlsx --json
83
101
  ### 配置
84
102
 
85
103
  ```bash
86
- dm-cli config init --endpoint <url> # 初始化配置(设置 API 端点)
87
- dm-cli config show # 显示当前配置
104
+ dm-cli config init --endpoint <url> # 初始化配置(设置 API 端点)
105
+ dm-cli config init --endpoint <url> --accesskey <key> # 初始化配置并设置 AccessKey(无需登录)
106
+ dm-cli config show # 显示当前配置
88
107
  ```
89
108
 
90
109
  ### 认证
@@ -96,16 +115,24 @@ dm-cli auth status # 显示登录状态
96
115
  dm-cli auth logout # 退出登录
97
116
  ```
98
117
 
99
- ### 文件管理
118
+ ### AI 会话
100
119
 
101
120
  ```bash
102
- dm-cli file upload --file <路径> # 上传文件
103
- dm-cli file upload --file <路径> --name <文件名> # 上传文件(自定义名称)
104
- dm-cli file upload --file <路径> --feature <类型> # 上传文件(指定功能类型)
105
- dm-cli file upload --file <路径> --id <ID> # 上传文件(指定文件 ID)
121
+ dm-cli agent start-thread --message <消息> # 发送文本消息
122
+ dm-cli agent start-thread --message <消息> --file <路径> # 附带文件
123
+ dm-cli agent start-thread --message <消息> --file <路径1> --file <路径2> # 附带多个文件
124
+ dm-cli agent start-thread --message <消息> --thread-id <会话ID> # 在已有会话中继续追问
125
+ dm-cli agent start-thread --message <消息> --claw-param <JSON> # 附带渠道参数
126
+ dm-cli agent start-thread --message <消息> --agent-mode <模式> # 指定 agent_mode(默认 auto)
127
+ dm-cli agent stop --agent-run-id <运行ID> # 停止正在运行的 Agent
128
+ dm-cli agent user-open # 列出用户打开的 agent
106
129
  ```
107
130
 
108
- #### 文件大小限制
131
+ #### 文件附件说明
132
+
133
+ 使用 `--file` 参数附带本地文件,CLI 会自动上传并拼接到消息中。可多次指定以附带多个文件。
134
+
135
+ **文件大小限制**:
109
136
 
110
137
  | 类型 | 扩展名 | 最大大小 |
111
138
  |------|--------|----------|
@@ -113,16 +140,6 @@ dm-cli file upload --file <路径> --id <ID> # 上传文件(指
113
140
  | 音频 | mp3/wav/aac | 100 MB |
114
141
  | 其他 | * | 300 MB |
115
142
 
116
- ### AI 会话
117
-
118
- ```bash
119
- dm-cli agent start-thread # 使用默认消息 "你好"
120
- dm-cli agent start-thread --message <消息> # 自定义消息
121
- dm-cli agent start-thread --message <消息> --thread-id <会话ID> # 在已有会话中继续追问
122
- dm-cli agent start-thread --message <消息> --claw-param <JSON> # 附带渠道参数
123
- dm-cli agent stop --agent-run-id <运行ID> # 停止正在运行的 Agent
124
- ```
125
-
126
143
  #### claw_param 参数说明
127
144
 
128
145
  可选的 `--claw-param` 用于指定 DM 系统的渠道和发送者信息:
@@ -244,13 +261,13 @@ dm-cli/
244
261
  │ ├── auth/ # 认证命令
245
262
  │ ├── config/ # 配置命令
246
263
  │ ├── agent/ # AI 命令
247
- │ ├── file/ # 文件管理命令
248
264
  │ └── schema/ # Schema 输出命令
249
265
  ├── internal/
250
266
  │ ├── auth/ # 认证模块
251
267
  │ ├── client/ # HTTP 客户端
252
268
  │ ├── config/ # 配置管理
253
269
  │ ├── cmdutil/ # 命令工具
270
+ │ ├── fileutil/ # 文件上传共享逻辑
254
271
  │ ├── output/ # 输出处理
255
272
  │ └── validate/ # 输入验证
256
273
  ├── schema/ # CLI Schema 定义(嵌入)
@@ -310,7 +327,6 @@ dm-cli <TAB> # 显示所有命令
310
327
  dm-cli auth <TAB> # 显示 auth 子命令
311
328
  dm-cli config <TAB> # 显示 config 子命令
312
329
  dm-cli agent <TAB> # 显示 agent 子命令
313
- dm-cli file <TAB> # 显示 file 子命令
314
330
  ```
315
331
 
316
332
  ## 许可证
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepminer-cli",
3
- "version": "0.1.26",
3
+ "version": "0.1.27",
4
4
  "description": "DeepMiner CLI - Command-line tool for DM system with cross-platform support, JWT authentication, and workspace management",
5
5
  "keywords": [
6
6
  "deepminer",
package/scripts/_dm-cli CHANGED
@@ -1,7 +1,7 @@
1
1
  #compdef dm-cli
2
2
 
3
3
  _dm_cli() {
4
- local context state state_descr line
4
+ local curcontext="$curcontext" state state_descr line
5
5
  typeset -A opt_args
6
6
 
7
7
  _arguments -C \
@@ -17,7 +17,6 @@ _dm_cli() {
17
17
  'config:管理配置'
18
18
  'auth:用户认证'
19
19
  'agent:AI 助手相关命令'
20
- 'file:文件管理'
21
20
  'schema:输出 CLI Schema 定义'
22
21
  'version:显示版本号'
23
22
  )
@@ -28,7 +27,6 @@ _dm_cli() {
28
27
  config) _dm_cli_config ;;
29
28
  auth) _dm_cli_auth ;;
30
29
  agent) _dm_cli_agent ;;
31
- file) _dm_cli_file ;;
32
30
  schema) _dm_cli_schema ;;
33
31
  esac
34
32
  ;;
@@ -36,7 +34,7 @@ _dm_cli() {
36
34
  }
37
35
 
38
36
  _dm_cli_config() {
39
- local context state state_descr line
37
+ local curcontext="$curcontext" state state_descr line
40
38
  typeset -A opt_args
41
39
 
42
40
  _arguments -C \
@@ -56,6 +54,7 @@ _dm_cli_config() {
56
54
  init)
57
55
  _arguments \
58
56
  '--endpoint=[API 端点 URL]:url' \
57
+ '--accesskey=[Access Key]:key' \
59
58
  '--json[以 JSON 格式输出]' \
60
59
  '--dry-run[预览请求]' \
61
60
  '--help[显示帮助]'
@@ -72,7 +71,7 @@ _dm_cli_config() {
72
71
  }
73
72
 
74
73
  _dm_cli_auth() {
75
- local context state state_descr line
74
+ local curcontext="$curcontext" state state_descr line
76
75
  typeset -A opt_args
77
76
 
78
77
  _arguments -C \
@@ -118,7 +117,7 @@ _dm_cli_auth() {
118
117
  }
119
118
 
120
119
  _dm_cli_agent() {
121
- local context state state_descr line
120
+ local curcontext="$curcontext" state state_descr line
122
121
  typeset -A opt_args
123
122
 
124
123
  _arguments -C \
@@ -130,6 +129,7 @@ _dm_cli_agent() {
130
129
  local -a subcommands=(
131
130
  'start-thread:发起 AI 会话'
132
131
  'stop:停止 Agent 运行'
132
+ 'user-open:列出用户打开的 agent'
133
133
  )
134
134
  _describe -t subcommands 'subcommand' subcommands
135
135
  ;;
@@ -138,6 +138,8 @@ _dm_cli_agent() {
138
138
  start-thread)
139
139
  _arguments \
140
140
  '--message=[消息内容]:message' \
141
+ '*--file=[本地文件路径]:file:_files' \
142
+ '--agent-mode=[Agent 模式]:mode:(auto cooperation)' \
141
143
  '--thread-id=[会话 ID]:thread_id' \
142
144
  '--claw-param=[JSON 参数]:json' \
143
145
  '--json[以 JSON 格式输出]' \
@@ -151,34 +153,8 @@ _dm_cli_agent() {
151
153
  '--dry-run[预览请求]' \
152
154
  '--help[显示帮助]'
153
155
  ;;
154
- esac
155
- ;;
156
- esac
157
- }
158
-
159
- _dm_cli_file() {
160
- local context state state_descr line
161
- typeset -A opt_args
162
-
163
- _arguments -C \
164
- '(-): :->subcommand' \
165
- '(-)*:: :->args'
166
-
167
- case "$state" in
168
- subcommand)
169
- local -a subcommands=(
170
- 'upload:上传文件'
171
- )
172
- _describe -t subcommands 'subcommand' subcommands
173
- ;;
174
- args)
175
- case "${line[1]}" in
176
- upload)
156
+ user-open)
177
157
  _arguments \
178
- '--file=[文件路径]:file:_files' \
179
- '--name=[远程文件名]:name' \
180
- '--feature=[功能类型]:feature' \
181
- '--id=[文件 ID]:id' \
182
158
  '--json[以 JSON 格式输出]' \
183
159
  '--dry-run[预览请求]' \
184
160
  '--help[显示帮助]'