deepminer-cli 0.1.23 → 0.1.24

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
@@ -4,15 +4,17 @@ DeepMiner 系统的命令行工具,用于管理认证、配置和 AI 会话。
4
4
 
5
5
  ## 功能特性
6
6
 
7
- - **跨平台支持**: macOS、Linux、Windows
8
- - **用户认证**: 用户名/密码登录,支持 JWT Token
9
- - **自动 Token 管理**: Token 过期时自动刷新(本地 JWT 解析,无需 API 调用)
10
- - **空间管理**: 选择和切换工作空间
11
- - **配置管理**: 简单的 API 端点配置
12
- - **安全存储**: Token 以受限权限存储在本地
13
- - **zsh 自动补全**: 自动配置 zsh tab 补全
14
- - **文件上传**: 支持上传文件到 OSS,带文件大小验证
15
- - **AI 会话**: 启动 AI 助手会话,支持自定义消息和 claw_param 参数
7
+ - **跨平台支持**: macOS、Linux、Windows
8
+ - **用户认证**: 用户名/密码登录,支持 JWT Token
9
+ - **自动 Token 管理**: Token 过期时自动刷新(本地 JWT 解析,无需 API 调用)
10
+ - **空间管理**: 查看和切换工作空间
11
+ - **配置管理**: API 端点配置
12
+ - **安全存储**: Token 以受限权限存储在本地
13
+ - **文件上传**: 上传文件到 OSS,带文件大小验证
14
+ - **AI 会话**: 启动 AI 助手会话,支持自定义消息和 claw_param 参数
15
+ - **JSON 输出**: 所有命令支持 `--json` 结构化输出,适合 AI agent 和脚本调用
16
+ - **CLI Schema**: 内置 `schema` 命令输出机器可读的能力描述
17
+ - **zsh 自动补全**: 安装后自动配置
16
18
 
17
19
  ## 快速安装
18
20
 
@@ -23,11 +25,6 @@ npm install -g deepminer-cli
23
25
  dm-cli version
24
26
  ```
25
27
 
26
- 验证安装:
27
- ```bash
28
- dm-cli --help
29
- ```
30
-
31
28
  ### 方式二:从源码编译
32
29
 
33
30
  ```bash
@@ -40,25 +37,37 @@ go build -o dm-cli .
40
37
 
41
38
  ```bash
42
39
  # 1. 初始化配置
43
- dm-cli config init
40
+ dm-cli config init --endpoint https://dm-dev.xmingai.com
44
41
 
45
- # 2. 登录
46
- dm-cli auth login
42
+ # 2. 登录(返回空间列表)
43
+ dm-cli auth login --username user@example.com --password xxx
47
44
 
48
- # 3. 查看状态
45
+ # 3. 选择空间
46
+ dm-cli auth switch <space_id>
47
+
48
+ # 4. 查看状态
49
49
  dm-cli auth status
50
50
 
51
- # 4. 启动 AI 会话
51
+ # 5. 启动 AI 会话
52
52
  dm-cli agent start-thread --message "你好"
53
53
 
54
- # 5. 切换空间
55
- dm-cli auth switch <space_id>
54
+ # 6. 上传文件
55
+ dm-cli file upload --file document.pdf
56
56
 
57
- # 6. 登出
57
+ # 7. 登出
58
58
  dm-cli auth logout
59
+ ```
59
60
 
60
- # 7. 查看版本
61
- dm-cli version
61
+ ### JSON 模式(适合 AI agent / 脚本)
62
+
63
+ 所有命令加 `--json` 输出结构化 JSON:
64
+
65
+ ```bash
66
+ dm-cli auth status --json
67
+ # {"ok": true, "data": {"logged_in": true, "user_id": "...", "current_space": "...", ...}}
68
+
69
+ dm-cli file upload --file data.xlsx --json
70
+ # {"ok": true, "data": {"file_id": "...", "file_key": "...", ...}}
62
71
  ```
63
72
 
64
73
  ## 命令列表
@@ -66,17 +75,17 @@ dm-cli version
66
75
  ### 配置
67
76
 
68
77
  ```bash
69
- dm-cli config init # 初始化配置(设置 API 端点)
70
- dm-cli config show # 显示当前配置
78
+ dm-cli config init --endpoint <url> # 初始化配置(设置 API 端点)
79
+ dm-cli config show # 显示当前配置
71
80
  ```
72
81
 
73
82
  ### 认证
74
83
 
75
84
  ```bash
76
- dm-cli auth login # 登录到 DM 系统
77
- dm-cli auth logout # 退出登录
78
- dm-cli auth status # 显示登录状态
79
- dm-cli auth switch # 切换工作空间
85
+ dm-cli auth login --username <用户名> --password <密码> # 登录(返回空间列表)
86
+ dm-cli auth switch <space_id> # 切换工作空间
87
+ dm-cli auth status # 显示登录状态
88
+ dm-cli auth logout # 退出登录
80
89
  ```
81
90
 
82
91
  ### 文件管理
@@ -84,67 +93,24 @@ dm-cli auth switch # 切换工作空间
84
93
  ```bash
85
94
  dm-cli file upload --file <路径> # 上传文件
86
95
  dm-cli file upload --file <路径> --name <文件名> # 上传文件(自定义名称)
87
- dm-cli file upload --file <路径> --feature <类型> # 上传文件(指定功能类型)
88
- dm-cli file upload --file <路径> --id <ID> # 上传文件(指定文件 ID)
96
+ dm-cli file upload --file <路径> --feature <类型> # 上传文件(指定功能类型)
97
+ dm-cli file upload --file <路径> --id <ID> # 上传文件(指定文件 ID)
89
98
  ```
90
99
 
91
100
  #### 文件大小限制
92
101
 
93
- - 🎬 **视频文件** (mp4): 最大 **500 MB**
94
- - 🎵 **音频文件** (mp3/wav/aac): 最大 **100 MB**
95
- - 📄 **其他文件**: 最大 **300 MB**
96
-
97
- #### 上传示例
98
-
99
- ```bash
100
- # 基本上传
101
- dm-cli file upload --file document.pdf
102
-
103
- # 自定义文件名
104
- dm-cli file upload --file video.mp4 --name my-video.mp4
105
-
106
- # 指定功能类型
107
- dm-cli file upload --file audio.mp3 --feature thread
108
-
109
- # 完整参数
110
- dm-cli file upload --file data.xlsx --feature thread --name data.xlsx --id my-file-id
111
- ```
112
-
113
- #### 输出说明
114
-
115
- ```
116
- ✓ 文件上传成功
117
- 文件名: document.pdf
118
- 文件大小: 2.50 MB
119
- 文件类型: pdf
120
- 文件 ID: upload_1774952597926_9acCrbNh
121
- 文件 Key: develop/dm-temp/.../thread/.../file.pdf
122
- 上传 URL: https://...
123
- ```
102
+ | 类型 | 扩展名 | 最大大小 |
103
+ |------|--------|----------|
104
+ | 视频 | mp4 | 500 MB |
105
+ | 音频 | mp3/wav/aac | 100 MB |
106
+ | 其他 | * | 300 MB |
124
107
 
125
108
  ### AI 会话
126
109
 
127
110
  ```bash
128
- dm-cli agent start-thread # 启动会话(使用默认消息 "你好"
129
- dm-cli agent start-thread --message <消息> # 启动会话(自定义消息)
130
- dm-cli agent start-thread --claw-param <JSON> # 启动会话(指定 claw_param)
131
- dm-cli agent start-thread --message <消息> --claw-param <JSON> # 启动会话(完整参数)
132
- ```
133
-
134
- #### 会话启动示例
135
-
136
- ```bash
137
- # 使用默认消息
138
- dm-cli agent start-thread
139
-
140
- # 自定义消息
141
- dm-cli agent start-thread --message "分析一下这个数据"
142
-
143
- # 指定 claw_param(渠道和发送者信息)
144
- dm-cli agent start-thread --claw-param '{"channel":"dmwork","sender_account_id":"bot"}'
145
-
146
- # 完整参数
147
- dm-cli agent start-thread --message "你好" --claw-param '{"channel":"dmwork","targets":[...]}'
111
+ dm-cli agent start-thread # 使用默认消息 "你好"
112
+ dm-cli agent start-thread --message <消息> # 自定义消息
113
+ dm-cli agent start-thread --message <消息> --claw-param <JSON> # 完整参数
148
114
  ```
149
115
 
150
116
  #### claw_param 参数说明
@@ -156,7 +122,6 @@ dm-cli agent start-thread --message "你好" --claw-param '{"channel":"dmwork","
156
122
  "channel": "dmwork",
157
123
  "sender_account_id": "bot_account_id",
158
124
  "source_user_id": "user_id",
159
- "source_channel_id": "channel_id",
160
125
  "targets": [
161
126
  {
162
127
  "channel": "dmwork",
@@ -168,6 +133,15 @@ dm-cli agent start-thread --message "你好" --claw-param '{"channel":"dmwork","
168
133
  }
169
134
  ```
170
135
 
136
+ ### Schema
137
+
138
+ ```bash
139
+ dm-cli schema # 输出 CLI Schema(压缩 JSON)
140
+ dm-cli schema --pretty # 输出 CLI Schema(格式化 JSON)
141
+ ```
142
+
143
+ Schema 命令输出 dm-cli 的完整能力描述,供 AI 系统或自动化工具解析。
144
+
171
145
  ### 其他
172
146
 
173
147
  ```bash
@@ -175,6 +149,23 @@ dm-cli version # 显示版本号
175
149
  dm-cli --help # 显示帮助信息
176
150
  ```
177
151
 
152
+ ## 全局 Flag
153
+
154
+ | Flag | 说明 |
155
+ |------|------|
156
+ | `--json` | 以 JSON 格式输出结果 |
157
+ | `--help` | 显示帮助信息 |
158
+
159
+ JSON 模式下成功输出格式:
160
+ ```json
161
+ {"ok": true, "data": {...}}
162
+ ```
163
+
164
+ JSON 模式下错误输出格式:
165
+ ```json
166
+ {"ok": false, "error": {"type": "auth", "message": "未登陆"}}
167
+ ```
168
+
178
169
  ## 文件说明
179
170
 
180
171
  ### 配置文件:`~/.dm-cli/config.json`
@@ -200,8 +191,8 @@ dm-cli --help # 显示帮助信息
200
191
 
201
192
  ## Token 管理工作原理
202
193
 
203
- 1. **认证**: 用户输入凭证,获得 `access_token` (JWT) 和 `refresh_token`
204
- 2. **空间选择**: 获取可用空间,用户选择一个
194
+ 1. **认证**: 使用 `--username`/`--password` 凭证获得 `access_token` (JWT) 和 `refresh_token`
195
+ 2. **空间选择**: 登录返回可用空间列表,使用 `auth switch` 选择
205
196
  3. **存储**: Token 和元数据保存在 `~/.dm-cli/token.json`
206
197
  4. **自动刷新**: API 调用前自动检查 Token 是否过期,过期则刷新
207
198
  5. **401 处理**: 服务器拒绝 Token 时自动尝试刷新并重试
@@ -215,7 +206,8 @@ dm-cli/
215
206
  │ ├── auth/ # 认证命令
216
207
  │ ├── config/ # 配置命令
217
208
  │ ├── agent/ # AI 命令
218
- └── file/ # 文件管理命令
209
+ ├── file/ # 文件管理命令
210
+ │ └── schema/ # Schema 输出命令
219
211
  ├── internal/
220
212
  │ ├── auth/ # 认证模块
221
213
  │ ├── client/ # HTTP 客户端
@@ -223,9 +215,11 @@ dm-cli/
223
215
  │ ├── cmdutil/ # 命令工具
224
216
  │ ├── output/ # 输出处理
225
217
  │ └── validate/ # 输入验证
218
+ ├── schema/ # CLI Schema 定义(嵌入)
219
+ ├── skills/ # AI Agent Skill 定义
226
220
  ├── main.go # 入口点
227
221
  ├── go.mod # 依赖定义
228
- └── Makefile # 构建脚本
222
+ └── Makefile # 构建脚本
229
223
  ```
230
224
 
231
225
  ## 开发
@@ -237,10 +231,13 @@ dm-cli/
237
231
  go build -o dm-cli .
238
232
 
239
233
  # 初始化配置
240
- ./dm-cli config init
234
+ ./dm-cli config init --endpoint https://dm-dev.xmingai.com
241
235
 
242
236
  # 登录
243
- ./dm-cli auth login
237
+ ./dm-cli auth login --username user@example.com --password xxx
238
+
239
+ # 选择空间
240
+ ./dm-cli auth switch <space_id>
244
241
 
245
242
  # 查看状态
246
243
  ./dm-cli auth status
@@ -256,11 +253,12 @@ make build-all
256
253
  ## 文档
257
254
 
258
255
  - [npm 发布指南](./NPM_RELEASE.md) - 项目维护者发布新版本
256
+ - [快速开始](./QUICK_START_FOR_USERS.md) - 用户快速上手
257
+ - [安装指南](./INSTALL.md) - 详细安装说明
259
258
 
260
259
  ## 安全考虑
261
260
 
262
261
  - Token 存储在 `~/.dm-cli/` 目录,权限为 0600
263
- - 密码输入不显示在终端
264
262
  - JWT Token 本地解析,只读取 exp 声明(不验证签名)
265
263
  - Token 过期时自动刷新
266
264
  - Refresh Token 过期后需要重新登录
@@ -275,7 +273,6 @@ dm-cli auth <TAB> # 显示 auth 子命令
275
273
  dm-cli config <TAB> # 显示 config 子命令
276
274
  dm-cli agent <TAB> # 显示 agent 子命令
277
275
  dm-cli file <TAB> # 显示 file 子命令
278
- dm-cli file upload <TAB> # 显示 upload 命令的标志
279
276
  ```
280
277
 
281
278
  ## 许可证
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.23",
3
+ "version": "0.1.24",
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
@@ -18,6 +18,7 @@ _dm_cli() {
18
18
  'auth:用户认证'
19
19
  'agent:AI 助手相关命令'
20
20
  'file:文件管理'
21
+ 'schema:输出 CLI Schema 定义'
21
22
  'version:显示版本号'
22
23
  )
23
24
  _describe 'command' commands