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