mimo-cli 0.1.3 → 0.1.5
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 +184 -57
- package/dist/mimo.mjs +166 -169
- package/dist/mimo.mjs.map +145 -126
- package/dist/sdk.mjs +65 -5
- package/dist/sdk.mjs.map +5 -5
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,41 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/npm/v/mimo-cli.svg" alt="npm version">
|
|
3
|
+
<img src="https://img.shields.io/github/license/ljj6600/MIMO-CLI" alt="License">
|
|
4
|
+
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="Node >= 18">
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<h1 align="center">MiMo CLI</h1>
|
|
8
|
+
<p align="center"><b>不用写一行代码,帮助你的 Agent 拥有 MiMo 的全部能力。</b></p>
|
|
9
|
+
<p align="center">MiMo AI Platform 命令行工具 — 对话、多模态理解、语音识别与合成,一键接入小米大模型。</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="#安装">安装</a> ·
|
|
13
|
+
<a href="#快速开始">快速开始</a> ·
|
|
14
|
+
<a href="#命令参考">命令参考</a> ·
|
|
15
|
+
<a href="#agent-集成">Agent 集成</a> ·
|
|
16
|
+
<a href="#sdk-编程接口">SDK 编程接口</a> ·
|
|
17
|
+
<a href="#默认模型">默认模型</a> ·
|
|
18
|
+
<a href="#配置">配置</a> ·
|
|
19
|
+
<a href="#安全">安全</a>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 安装
|
|
2
25
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
[](https://github.com/ljj6600/MIMO-CLI/blob/main/LICENSE)
|
|
26
|
+
```bash
|
|
27
|
+
# 全局安装,在任意终端使用
|
|
28
|
+
npm install -g mimo-cli
|
|
7
29
|
|
|
8
|
-
|
|
30
|
+
# 安装后即可使用
|
|
31
|
+
mimo --version
|
|
32
|
+
```
|
|
9
33
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- **语音合成 (TTS)** — 预设音色合成 / 声音克隆 / 自定义音色设计
|
|
14
|
-
- **中英文界面** — 默认中文,`mimo language en` 一键切换
|
|
15
|
-
- **API Key 自动识别** — 按量计费 (`sk-`) / TokenPlan (`tp-`) 自动推断 Base URL
|
|
16
|
-
- **双 Key 管理** — 同时配置按量计费和 TokenPlan Key,一键切换
|
|
17
|
-
- **自动更新** — `mimo update` 检查并更新到最新版本
|
|
18
|
-
- **安全脱敏** — API Key 本地加密存储、输出脱敏、路径遍历防护
|
|
34
|
+
> 需要 [Node.js](https://nodejs.org/) 18+。
|
|
35
|
+
>
|
|
36
|
+
> 需要 MiMo API Key — [按量计费](https://api.xiaomimimo.com) 或 [TokenPlan](https://token-plan-cn.xiaomimimo.com)。
|
|
19
37
|
|
|
20
38
|
## 快速开始
|
|
21
39
|
|
|
22
|
-
###
|
|
40
|
+
### 认证
|
|
23
41
|
|
|
24
42
|
```bash
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
### 登录
|
|
43
|
+
# 交互式输入
|
|
44
|
+
mimo auth login
|
|
29
45
|
|
|
30
|
-
|
|
31
|
-
mimo auth login --api-key
|
|
46
|
+
# 或直接传入(自动识别 Key 类型)
|
|
47
|
+
mimo auth login --api-key sk-xxxxx # 按量计费 Key
|
|
48
|
+
mimo auth login --api-key tp-xxxxx # TokenPlan Key
|
|
32
49
|
```
|
|
33
50
|
|
|
34
|
-
支持两种
|
|
51
|
+
支持两种 Key 类型:
|
|
35
52
|
- **按量计费 Key**(`sk-` 前缀)→ 自动配置 `https://api.xiaomimimo.com/v1`
|
|
36
53
|
- **TokenPlan Key**(`tp-` 前缀)→ 自动配置 `https://token-plan-cn.xiaomimimo.com/v1`
|
|
37
54
|
|
|
38
|
-
###
|
|
55
|
+
### 开箱即用
|
|
39
56
|
|
|
40
57
|
```bash
|
|
41
58
|
# 对话
|
|
@@ -73,38 +90,122 @@ mimo language en
|
|
|
73
90
|
mimo language zh
|
|
74
91
|
```
|
|
75
92
|
|
|
76
|
-
##
|
|
93
|
+
## Agent 集成
|
|
77
94
|
|
|
78
|
-
|
|
79
|
-
|------|------|
|
|
80
|
-
| `mimo chat` | 单轮对话补全 |
|
|
81
|
-
| `mimo repl` | 交互式多轮对话 |
|
|
82
|
-
| `mimo vision` | 多模态理解(图片/音频/视频) |
|
|
83
|
-
| `mimo asr` | 语音识别 |
|
|
84
|
-
| `mimo tts synthesize` | 预设音色语音合成 |
|
|
85
|
-
| `mimo tts clone` | 声音克隆 |
|
|
86
|
-
| `mimo tts design` | 音色设计 |
|
|
87
|
-
| `mimo tts voices` | 列出可用音色 |
|
|
88
|
-
| `mimo auth login` | 登录(保存 API Key) |
|
|
89
|
-
| `mimo auth status` | 查看认证状态 |
|
|
90
|
-
| `mimo auth logout` | 登出 |
|
|
91
|
-
| `mimo config show` | 显示当前配置 |
|
|
92
|
-
| `mimo config set` | 设置配置项 |
|
|
93
|
-
| `mimo language` | 切换界面语言 (zh/en) |
|
|
95
|
+
**在 Cursor、Claude Code、OpenClaw 等 AI Agent 中**,Agent 天然会调用终端命令。只要全局安装了 `mimo-cli`,你的 Agent 就拥有了 MiMo 的全部能力 —— 无需写一行代码,无需接入任何 SDK。
|
|
94
96
|
|
|
95
|
-
|
|
97
|
+
```bash
|
|
98
|
+
# 告诉你的 Agent:
|
|
99
|
+
# "你需要在终端中调用 mimo 命令来完成任务"
|
|
100
|
+
#
|
|
101
|
+
# 它会自动学会使用:
|
|
102
|
+
mimo chat -m "..." --thinking # 深度推理
|
|
103
|
+
mimo vision --image photo.jpg -p "..." # 看图理解
|
|
104
|
+
mimo asr recording.wav # 语音转文字
|
|
105
|
+
mimo tts synthesize -t "..." --out out.wav # 生成语音
|
|
106
|
+
```
|
|
96
107
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
108
|
+
**Agent 天然理解** `mimo chat`、`mimo vision`、`mimo asr` 等命令的语义,可以自主组合这些能力完成复杂的多步任务。
|
|
109
|
+
|
|
110
|
+
## 功能特性
|
|
111
|
+
|
|
112
|
+
- **对话补全** — 单轮/多轮对话,支持思维链、联网搜索(含地理位置)
|
|
113
|
+
- **多模态理解** — 图片、音频、视频内容理解(URL 模式最大 300MB)
|
|
114
|
+
- **语音识别 (ASR)** — wav/mp3 音频转文字,支持流式输出
|
|
115
|
+
- **语音合成 (TTS)** — 预设音色合成 / 声音克隆 / 自定义音色设计
|
|
116
|
+
- **深度思考** — `--thinking` 参数启用推理过程展示
|
|
117
|
+
- **联网搜索** — `--search` 参数,支持位置感知和关键词控制
|
|
118
|
+
- **流式输出** — 实时逐 token 输出,所见即所得
|
|
119
|
+
- **双 Key 管理** — 按量计费与 TokenPlan Key 一键切换
|
|
120
|
+
- **中英文界面** — `mimo language en` 一键切换
|
|
121
|
+
- **安全第一** — API Key 本地加密、输出自动脱敏、路径遍历防护
|
|
122
|
+
|
|
123
|
+
## 命令参考
|
|
124
|
+
|
|
125
|
+
### `mimo chat`
|
|
126
|
+
|
|
127
|
+
单轮对话补全,支持深度思考和联网搜索。
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
mimo chat -m "你好" # 基础对话
|
|
131
|
+
mimo chat -m "分析量子计算" --thinking # 深度思考
|
|
132
|
+
mimo chat -m "今天天气" --search --user-city 武汉 # 联网搜索
|
|
133
|
+
mimo chat -m "返回 JSON" --json --no-stream # 结构化输出
|
|
134
|
+
mimo chat -m "写代码" --system "你是 Go 专家" # 系统提示词
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### `mimo repl`
|
|
138
|
+
|
|
139
|
+
交互式多轮对话,维护对话历史。
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
mimo repl # 启动交互对话
|
|
143
|
+
mimo repl --thinking --system "你是编程助手" # 带系统提示词
|
|
144
|
+
mimo repl --search # 联网搜索模式
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### `mimo vision`
|
|
148
|
+
|
|
149
|
+
多模态理解 — 图片、音频、视频。
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
mimo vision --image photo.jpg -p "描述这张图片" # 图片理解
|
|
153
|
+
mimo vision --audio speech.mp3 -p "转述这段音频" # 音频理解
|
|
154
|
+
mimo vision --video clip.mp4 -p "总结视频内容" --fps 1 # 视频理解(本地文件)
|
|
155
|
+
mimo vision --video https://example.com/v.mp4 -p "描述" # 视频理解(URL 模式)
|
|
156
|
+
mimo vision --image a.jpg --audio b.mp3 -p "比较两者" # 多模态组合
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### `mimo asr`
|
|
160
|
+
|
|
161
|
+
语音识别 — 音频转文字。
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
mimo asr recording.wav # 基础语音识别
|
|
165
|
+
mimo asr audio.mp3 --language zh # 指定语言
|
|
166
|
+
mimo asr --file recording.wav --language en # 使用 --file 参数
|
|
167
|
+
mimo asr speech.wav --stream # 流式输出
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### `mimo tts`
|
|
171
|
+
|
|
172
|
+
语音合成 — 生成自然语音。
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
mimo tts synthesize -t "你好世界" # 基础合成
|
|
176
|
+
mimo tts synthesize -t "Hello" --voice Mia --format mp3 # 指定音色和格式
|
|
177
|
+
mimo tts synthesize -t "温柔地说" --style "温柔、缓慢" --voice 茉莉 # 风格控制
|
|
178
|
+
mimo tts synthesize -t "文本" --out output.mp3 # 指定输出路径
|
|
179
|
+
mimo tts voices # 列出可用音色
|
|
180
|
+
mimo tts clone --sample reference.wav -t "克隆语音" # 声音克隆
|
|
181
|
+
mimo tts design --prompt "温柔的女声" -t "你好世界" # 音色设计
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### `mimo auth` · `mimo config`
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
mimo auth login # 登录(保存 API Key)
|
|
188
|
+
mimo auth login --api-key sk-xxx # 非交互式登录
|
|
189
|
+
mimo auth status # 查看认证状态
|
|
190
|
+
mimo auth logout # 登出
|
|
191
|
+
|
|
192
|
+
mimo config show # 查看当前配置
|
|
193
|
+
mimo config set --key timeout --value 600 # 设置超时
|
|
194
|
+
mimo config set --key active_key --value sk # 切换 Key
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### `mimo language` · `mimo update`
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
mimo language zh # 切换为中文界面
|
|
201
|
+
mimo language en # 切换为英文界面
|
|
202
|
+
mimo update # 检查并更新到最新版本
|
|
203
|
+
```
|
|
105
204
|
|
|
106
205
|
## SDK 编程接口
|
|
107
206
|
|
|
207
|
+
如果你需要将 MiMo 能力集成到自己的 TypeScript/JavaScript 项目中,`mimo-cli` 也提供了完整的编程 SDK。
|
|
208
|
+
|
|
108
209
|
```typescript
|
|
109
210
|
import { MiMoSDK } from 'mimo-cli/sdk';
|
|
110
211
|
|
|
@@ -136,6 +237,19 @@ const tts = await sdk.tts.synthesize({
|
|
|
136
237
|
});
|
|
137
238
|
```
|
|
138
239
|
|
|
240
|
+
SDK 与 CLI 共享同一底层 API 客户端,调用方式一致,能力完全对齐。
|
|
241
|
+
|
|
242
|
+
## 默认模型
|
|
243
|
+
|
|
244
|
+
| 能力 | 模型 | 说明 |
|
|
245
|
+
|------|------|------|
|
|
246
|
+
| 对话 | `mimo-v2.5-pro` | 常规对话、复杂推理、深度分析、长文档处理 |
|
|
247
|
+
| 多模态 | `mimo-v2.5` | 图片/音频/视频内容理解 |
|
|
248
|
+
| 语音识别 | `mimo-v2.5-asr` | 语音转文字 |
|
|
249
|
+
| 语音合成 | `mimo-v2.5-tts` | 文字转语音 |
|
|
250
|
+
| 声音克隆 | `mimo-v2.5-tts-voiceclone` | 基于参考音频克隆声音 |
|
|
251
|
+
| 音色设计 | `mimo-v2.5-tts-voicedesign` | 自然语言描述生成音色 |
|
|
252
|
+
|
|
139
253
|
## 配置
|
|
140
254
|
|
|
141
255
|
配置文件位于 `~/.mimo/config.json`:
|
|
@@ -164,16 +278,23 @@ const tts = await sdk.tts.synthesize({
|
|
|
164
278
|
| `MIMO_TIMEOUT` | 请求超时秒数 |
|
|
165
279
|
| `HTTPS_PROXY` | 代理设置 |
|
|
166
280
|
|
|
281
|
+
## 安全
|
|
282
|
+
|
|
283
|
+
- API Key 仅存储在本地 `~/.mimo/config.json`,权限 0o600
|
|
284
|
+
- 所有输出自动脱敏,防止 API Key 泄露
|
|
285
|
+
- 文件路径遍历防护
|
|
286
|
+
- 视频文件大小检测(Base64 ≤ 37.5MB / URL ≤ 300MB)
|
|
287
|
+
|
|
167
288
|
## 开发
|
|
168
289
|
|
|
169
290
|
```bash
|
|
170
291
|
# 安装依赖
|
|
171
292
|
bun install
|
|
172
293
|
|
|
173
|
-
#
|
|
294
|
+
# 开发运行(不构建,直接执行 TypeScript)
|
|
174
295
|
bun run dev
|
|
175
296
|
|
|
176
|
-
#
|
|
297
|
+
# 构建(输出到 dist/)
|
|
177
298
|
bun run build
|
|
178
299
|
|
|
179
300
|
# 类型检查
|
|
@@ -183,12 +304,18 @@ bun run typecheck
|
|
|
183
304
|
bun run lint
|
|
184
305
|
```
|
|
185
306
|
|
|
186
|
-
##
|
|
307
|
+
## 架构
|
|
187
308
|
|
|
188
|
-
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
309
|
+
mimo-cli 采用四层架构设计:
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
CLI 层 (Commands) ← 你执行的 mimo xxx 命令
|
|
313
|
+
SDK 层 (编程接口) ← 你也可以用 TypeScript 调用
|
|
314
|
+
API 客户端层 (Client) ← OpenAI 兼容协议,一键切换
|
|
315
|
+
MiMo AI Platform API ← 小米大模型能力
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
详见项目仓库中的 `CODE_WIKI.md`(本地开发目录)。
|
|
192
319
|
|
|
193
320
|
## License
|
|
194
321
|
|