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 +106 -59
- package/bin/dm-cli-darwin-amd64 +0 -0
- package/bin/dm-cli-darwin-arm64 +0 -0
- package/bin/dm-cli-linux-amd64 +0 -0
- package/bin/dm-cli-windows-amd64.exe +0 -0
- package/package.json +1 -1
- package/scripts/_dm-cli +1 -0
package/README.md
CHANGED
|
@@ -4,14 +4,17 @@ DeepMiner 系统的命令行工具,用于管理认证、配置和 AI 会话。
|
|
|
4
4
|
|
|
5
5
|
## 功能特性
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
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
|
-
#
|
|
45
|
-
dm-cli auth
|
|
45
|
+
# 3. 选择空间
|
|
46
|
+
dm-cli auth switch <space_id>
|
|
46
47
|
|
|
47
|
-
#
|
|
48
|
+
# 4. 查看状态
|
|
48
49
|
dm-cli auth status
|
|
49
50
|
|
|
50
|
-
#
|
|
51
|
-
dm-cli
|
|
51
|
+
# 5. 启动 AI 会话
|
|
52
|
+
dm-cli agent start-thread --message "你好"
|
|
52
53
|
|
|
53
|
-
#
|
|
54
|
+
# 6. 上传文件
|
|
55
|
+
dm-cli file upload --file document.pdf
|
|
56
|
+
|
|
57
|
+
# 7. 登出
|
|
54
58
|
dm-cli auth logout
|
|
59
|
+
```
|
|
55
60
|
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
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
|
|
73
|
-
dm-cli auth
|
|
74
|
-
dm-cli auth status
|
|
75
|
-
dm-cli auth
|
|
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>
|
|
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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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. **认证**:
|
|
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
|
-
│
|
|
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
|
## 许可证
|
package/bin/dm-cli-darwin-amd64
CHANGED
|
Binary file
|
package/bin/dm-cli-darwin-arm64
CHANGED
|
Binary file
|
package/bin/dm-cli-linux-amd64
CHANGED
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED