xiaozhi-client 1.7.1 → 1.7.3
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 +29 -397
- package/dist/WebServerStandalone.js +34 -13
- package/dist/WebServerStandalone.js.map +1 -1
- package/dist/cli.js +37 -16
- package/dist/cli.js.map +1 -1
- package/dist/mcpServerProxy.js +28 -7
- package/dist/mcpServerProxy.js.map +1 -1
- package/dist/package.json +10 -5
- package/docs/{Architecture.md → development/architecture.mdx} +4 -1
- package/docs/docs.json +51 -0
- package/docs/getting-started/install.mdx +191 -0
- package/docs/getting-started/intro.mdx +11 -0
- package/docs/getting-started/quickstart.mdx +108 -0
- package/docs/images/preview.png +0 -0
- package/docs/reference/command.mdx +15 -0
- package/docs/usage/add-mcp-server.mdx +6 -0
- package/docs/usage/as-a-mcp-server.mdx +6 -0
- package/docs/usage/docker.mdx +99 -0
- package/docs/usage/modelscope.mdx +6 -0
- package/docs/usage/web-control.mdx +6 -0
- package/package.json +10 -5
- package/web/dist/assets/{form-utils-DmILtYcF.js → form-utils-RpkiEEz8.js} +2 -2
- package/web/dist/assets/{form-utils-DmILtYcF.js.map → form-utils-RpkiEEz8.js.map} +1 -1
- package/web/dist/assets/index-BjG6tl-5.css +1 -0
- package/web/dist/assets/index-BvDVeF-B.js +31 -0
- package/web/dist/assets/index-BvDVeF-B.js.map +1 -0
- package/web/dist/assets/radix-ui-BA32w1ww.js +2 -0
- package/web/dist/assets/radix-ui-BA32w1ww.js.map +1 -0
- package/web/dist/assets/react-vendor-CoesXubw.js +234 -0
- package/web/dist/assets/react-vendor-CoesXubw.js.map +1 -0
- package/web/dist/assets/{utils-DYeV2b9J.js → utils-N_0RTAPv.js} +2 -2
- package/web/dist/assets/{utils-DYeV2b9J.js.map → utils-N_0RTAPv.js.map} +1 -1
- package/web/dist/index.html +6 -6
- package/docs/CLI.md +0 -928
- package/docs/examples-usage.md +0 -647
- package/web/dist/assets/index-CQVdYi7r.js +0 -31
- package/web/dist/assets/index-CQVdYi7r.js.map +0 -1
- package/web/dist/assets/index-Cz9EK1KU.css +0 -1
- package/web/dist/assets/radix-ui-DW48STyt.js +0 -2
- package/web/dist/assets/radix-ui-DW48STyt.js.map +0 -1
- package/web/dist/assets/react-vendor-CP-QpYlg.js +0 -189
- package/web/dist/assets/react-vendor-CP-QpYlg.js.map +0 -1
- /package/docs/{RELEASE_GUIDE.md → development/todo__release-guide.md} +0 -0
- /package/docs/{SettingManager.md → development/todo__setting-manager.md} +0 -0
package/docs/CLI.md
DELETED
|
@@ -1,928 +0,0 @@
|
|
|
1
|
-
# Xiaozhi CLI 使用手册
|
|
2
|
-
|
|
3
|
-
`xiaozhi` 是小智 AI 客户端的命令行工具,提供完整的 MCP (Model Context Protocol) 服务管理、配置管理和项目创建功能。
|
|
4
|
-
|
|
5
|
-
## 目录
|
|
6
|
-
|
|
7
|
-
- [概述](#概述)
|
|
8
|
-
- [安装](#安装)
|
|
9
|
-
- [快速开始](#快速开始)
|
|
10
|
-
- [全局选项](#全局选项)
|
|
11
|
-
- [命令详解](#命令详解)
|
|
12
|
-
- [服务管理命令](#服务管理命令)
|
|
13
|
-
- [配置管理命令](#配置管理命令)
|
|
14
|
-
- [项目管理命令](#项目管理命令)
|
|
15
|
-
- [MCP 管理命令](#mcp-管理命令)
|
|
16
|
-
- [端点管理命令](#端点管理命令)
|
|
17
|
-
- [UI 管理命令](#ui-管理命令)
|
|
18
|
-
- [快速参考](#快速参考)
|
|
19
|
-
- [故障排除](#故障排除)
|
|
20
|
-
- [环境变量](#环境变量)
|
|
21
|
-
|
|
22
|
-
## 概述
|
|
23
|
-
|
|
24
|
-
小智的架构比较特别:它将您的个人电脑作为 AI 服务端,远端的小智服务器实际上是客户端。当您启动小智服务后,您的电脑就成为了 AI 的"大脑",为远端提供各种工具和能力。
|
|
25
|
-
|
|
26
|
-
xiaozhi-client 支持多种运行模式:
|
|
27
|
-
|
|
28
|
-
- **传统模式**: 连接到小智官方服务器
|
|
29
|
-
- **MCP Server 模式**: 作为标准 MCP 服务器供其他客户端使用
|
|
30
|
-
- **Web UI 模式**: 提供可视化配置界面
|
|
31
|
-
- **项目模式**: 基于模板快速创建项目
|
|
32
|
-
|
|
33
|
-
## 安装
|
|
34
|
-
|
|
35
|
-
### 全局安装(推荐)
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npm install -g xiaozhi-client
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### 通过 npx 使用
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
npx xiaozhi-client --help
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### 本地开发
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
git clone <repository>
|
|
51
|
-
cd xiaozhi-client
|
|
52
|
-
npm install
|
|
53
|
-
npm run build
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## 快速开始
|
|
57
|
-
|
|
58
|
-
1. **创建项目**:
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
xiaozhi create my-app --template hello-world
|
|
62
|
-
cd my-app
|
|
63
|
-
npm install
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
2. **初始化配置**:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
xiaozhi config init
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
3. **设置端点**:
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
xiaozhi config set mcpEndpoint "your-endpoint-url"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
4. **启动服务**:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
xiaozhi start
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## 全局选项
|
|
85
|
-
|
|
86
|
-
| 选项 | 描述 | 示例 |
|
|
87
|
-
| ---------------- | ---------------- | ------------------------ |
|
|
88
|
-
| `--info` | 显示详细系统信息 | `xiaozhi --info` |
|
|
89
|
-
| `-v, --version` | 显示版本信息 | `xiaozhi -v` |
|
|
90
|
-
| `--version-info` | 显示详细版本信息 | `xiaozhi --version-info` |
|
|
91
|
-
| `-h, --help` | 显示帮助信息 | `xiaozhi -h` |
|
|
92
|
-
|
|
93
|
-
### 示例输出
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
$ xiaozhi --info
|
|
97
|
-
🤖 小智 MCP 客户端 - 详细信息
|
|
98
|
-
|
|
99
|
-
版本信息:
|
|
100
|
-
名称: xiaozhi-client
|
|
101
|
-
版本: 1.6.2
|
|
102
|
-
描述: 小智 AI 客户端 命令行工具
|
|
103
|
-
|
|
104
|
-
系统信息:
|
|
105
|
-
Node.js: v18.17.0
|
|
106
|
-
平台: darwin arm64
|
|
107
|
-
|
|
108
|
-
配置信息:
|
|
109
|
-
配置文件: /path/to/xiaozhi.config.json
|
|
110
|
-
MCP 端点: 1 个
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## 命令详解
|
|
114
|
-
|
|
115
|
-
### 服务管理命令
|
|
116
|
-
|
|
117
|
-
服务管理命令用于控制 xiaozhi 服务的生命周期。支持前台运行、后台运行、MCP Server 模式等多种运行方式。
|
|
118
|
-
|
|
119
|
-
#### `xiaozhi start` - 启动服务
|
|
120
|
-
|
|
121
|
-
**语法**:
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
xiaozhi start [选项]
|
|
125
|
-
xiaozhi service start [选项] # 完整命令形式
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
**选项**:
|
|
129
|
-
|
|
130
|
-
- `-d, --daemon` - 在后台运行服务
|
|
131
|
-
- `-u, --ui` - 同时启动 Web UI 服务
|
|
132
|
-
- `-s, --server [port]` - 以 MCP Server 模式启动(可选指定端口,默认 3000)
|
|
133
|
-
- `--stdio` - 以 stdio 模式运行 MCP Server(用于 Cursor 等客户端)
|
|
134
|
-
|
|
135
|
-
**使用示例**:
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
# 前台启动(开发调试)
|
|
139
|
-
xiaozhi start
|
|
140
|
-
|
|
141
|
-
# 后台启动(生产环境)
|
|
142
|
-
xiaozhi start -d
|
|
143
|
-
|
|
144
|
-
# 启动并打开 Web UI
|
|
145
|
-
xiaozhi start -u
|
|
146
|
-
|
|
147
|
-
# 以 MCP Server 模式启动,监听 3000 端口
|
|
148
|
-
xiaozhi start -s 3000
|
|
149
|
-
|
|
150
|
-
# 以 stdio 模式启动(用于 Cursor 集成)
|
|
151
|
-
xiaozhi start --stdio
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**预期输出**:
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
$ xiaozhi start
|
|
158
|
-
🤖 小智 MCP 客户端正在启动...
|
|
159
|
-
✅ 配置文件已加载: xiaozhi.config.json
|
|
160
|
-
✅ MCP 服务已启动: calculator, datetime
|
|
161
|
-
🌐 连接到端点: ws://localhost:8080
|
|
162
|
-
✅ 服务启动成功,按 Ctrl+C 停止
|
|
163
|
-
|
|
164
|
-
$ xiaozhi start -d
|
|
165
|
-
🤖 小智 MCP 客户端正在启动...
|
|
166
|
-
✅ 服务已在后台启动 (PID: 12345)
|
|
167
|
-
💡 使用 'xiaozhi status' 查看状态
|
|
168
|
-
💡 使用 'xiaozhi attach' 查看日志
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**使用场景**:
|
|
172
|
-
|
|
173
|
-
- **开发调试**: 使用前台模式,可以实时查看日志
|
|
174
|
-
- **生产部署**: 使用后台模式,服务持续运行
|
|
175
|
-
- **客户端集成**: 使用 stdio 模式集成到 Cursor、Claude Desktop 等
|
|
176
|
-
- **Web 管理**: 使用 `-u` 选项同时启动 Web 界面
|
|
177
|
-
|
|
178
|
-
#### `xiaozhi stop` - 停止服务
|
|
179
|
-
|
|
180
|
-
**语法**:
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
xiaozhi stop
|
|
184
|
-
xiaozhi service stop # 完整命令形式
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
**使用示例**:
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
xiaozhi stop
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
**预期输出**:
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
$ xiaozhi stop
|
|
197
|
-
🛑 正在停止服务...
|
|
198
|
-
✅ 服务已停止 (PID: 12345)
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**注意事项**:
|
|
202
|
-
|
|
203
|
-
- 只能停止后台运行的服务
|
|
204
|
-
- 前台运行的服务请使用 `Ctrl+C` 停止
|
|
205
|
-
|
|
206
|
-
#### `xiaozhi status` - 查看服务状态
|
|
207
|
-
|
|
208
|
-
**语法**:
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
xiaozhi status
|
|
212
|
-
xiaozhi service status # 完整命令形式
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
**使用示例**:
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
xiaozhi status
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
**预期输出**:
|
|
222
|
-
|
|
223
|
-
```bash
|
|
224
|
-
$ xiaozhi status
|
|
225
|
-
✅ 服务正在运行 (PID: 12345)
|
|
226
|
-
⏱️ 运行时间: 2小时30分钟
|
|
227
|
-
🔧 运行模式: 后台模式
|
|
228
|
-
|
|
229
|
-
$ xiaozhi status # 服务未运行时
|
|
230
|
-
❌ 服务未运行
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
#### `xiaozhi restart` - 重启服务
|
|
234
|
-
|
|
235
|
-
**语法**:
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
xiaozhi restart [选项]
|
|
239
|
-
xiaozhi service restart [选项] # 完整命令形式
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
**选项**:
|
|
243
|
-
|
|
244
|
-
- `-d, --daemon` - 在后台运行服务
|
|
245
|
-
- `-u, --ui` - 同时启动 Web UI 服务
|
|
246
|
-
|
|
247
|
-
**使用示例**:
|
|
248
|
-
|
|
249
|
-
```bash
|
|
250
|
-
# 重启为前台模式
|
|
251
|
-
xiaozhi restart
|
|
252
|
-
|
|
253
|
-
# 重启为后台模式
|
|
254
|
-
xiaozhi restart -d
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
#### `xiaozhi attach` - 连接后台服务查看日志
|
|
258
|
-
|
|
259
|
-
**语法**:
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
xiaozhi attach
|
|
263
|
-
xiaozhi service attach # 完整命令形式
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
**使用示例**:
|
|
267
|
-
|
|
268
|
-
```bash
|
|
269
|
-
xiaozhi attach
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
**预期输出**:
|
|
273
|
-
|
|
274
|
-
```bash
|
|
275
|
-
$ xiaozhi attach
|
|
276
|
-
🔗 连接到后台服务 (PID: 12345)
|
|
277
|
-
📋 显示实时日志...
|
|
278
|
-
[2025-08-19 10:30:15] INFO: MCP 连接已建立
|
|
279
|
-
[2025-08-19 10:30:16] INFO: 工具调用: calculator.add
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
**注意事项**:
|
|
283
|
-
|
|
284
|
-
- 按 `Ctrl+C` 可以断开连接,但不会停止后台服务
|
|
285
|
-
- 只能连接到后台运行的服务
|
|
286
|
-
|
|
287
|
-
### 配置管理命令
|
|
288
|
-
|
|
289
|
-
配置管理命令用于初始化、查看和修改 xiaozhi 的配置文件。支持 JSON、JSON5、JSONC 三种配置格式。
|
|
290
|
-
|
|
291
|
-
#### `xiaozhi config init` - 初始化配置文件
|
|
292
|
-
|
|
293
|
-
**语法**:
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
xiaozhi config init [选项]
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
**选项**:
|
|
300
|
-
|
|
301
|
-
- `-f, --format <format>` - 配置文件格式(json/json5/jsonc),默认为 json
|
|
302
|
-
|
|
303
|
-
**使用示例**:
|
|
304
|
-
|
|
305
|
-
```bash
|
|
306
|
-
# 创建 JSON 格式配置文件
|
|
307
|
-
xiaozhi config init
|
|
308
|
-
|
|
309
|
-
# 创建 JSON5 格式配置文件(支持注释)
|
|
310
|
-
xiaozhi config init -f json5
|
|
311
|
-
|
|
312
|
-
# 创建 JSONC 格式配置文件(VS Code 风格)
|
|
313
|
-
xiaozhi config init -f jsonc
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
**预期输出**:
|
|
317
|
-
|
|
318
|
-
```bash
|
|
319
|
-
$ xiaozhi config init
|
|
320
|
-
✅ 配置文件已创建: xiaozhi.config.json
|
|
321
|
-
📝 请编辑配置文件设置你的 MCP 端点:
|
|
322
|
-
配置文件路径: /path/to/xiaozhi.config.json
|
|
323
|
-
💡 或者使用命令设置:
|
|
324
|
-
xiaozhi config set mcpEndpoint <your-endpoint-url>
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
**生成的配置文件示例**:
|
|
328
|
-
|
|
329
|
-
```json
|
|
330
|
-
{
|
|
331
|
-
"mcpEndpoint": "<请填写你的接入点地址(获取地址在 xiaozhi.me)>",
|
|
332
|
-
"mcpServers": {
|
|
333
|
-
"calculator": {
|
|
334
|
-
"command": "node",
|
|
335
|
-
"args": ["./mcpServers/calculator.js"]
|
|
336
|
-
}
|
|
337
|
-
},
|
|
338
|
-
"connection": {
|
|
339
|
-
"heartbeatInterval": 30000,
|
|
340
|
-
"heartbeatTimeout": 10000,
|
|
341
|
-
"reconnectInterval": 5000
|
|
342
|
-
},
|
|
343
|
-
"webUI": {
|
|
344
|
-
"port": 9999
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
#### `xiaozhi config get` - 查看配置值
|
|
350
|
-
|
|
351
|
-
**语法**:
|
|
352
|
-
|
|
353
|
-
```bash
|
|
354
|
-
xiaozhi config get <key>
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
**支持的配置键**:
|
|
358
|
-
|
|
359
|
-
- `mcpEndpoint` - MCP 端点地址
|
|
360
|
-
- `mcpServers` - MCP 服务配置
|
|
361
|
-
- `connection` - 连接配置
|
|
362
|
-
- `heartbeatInterval` - 心跳检测间隔
|
|
363
|
-
- `heartbeatTimeout` - 心跳超时时间
|
|
364
|
-
- `reconnectInterval` - 重连间隔
|
|
365
|
-
|
|
366
|
-
**使用示例**:
|
|
367
|
-
|
|
368
|
-
```bash
|
|
369
|
-
# 查看 MCP 端点
|
|
370
|
-
xiaozhi config get mcpEndpoint
|
|
371
|
-
|
|
372
|
-
# 查看所有 MCP 服务
|
|
373
|
-
xiaozhi config get mcpServers
|
|
374
|
-
|
|
375
|
-
# 查看连接配置
|
|
376
|
-
xiaozhi config get connection
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
**预期输出**:
|
|
380
|
-
|
|
381
|
-
```bash
|
|
382
|
-
$ xiaozhi config get mcpEndpoint
|
|
383
|
-
MCP 端点: ws://localhost:8080
|
|
384
|
-
|
|
385
|
-
$ xiaozhi config get mcpServers
|
|
386
|
-
MCP 服务:
|
|
387
|
-
calculator: node ./mcpServers/calculator.js
|
|
388
|
-
datetime: node ./mcpServers/datetime.js
|
|
389
|
-
|
|
390
|
-
$ xiaozhi config get connection
|
|
391
|
-
连接配置:
|
|
392
|
-
心跳检测间隔: 30000ms
|
|
393
|
-
心跳超时时间: 10000ms
|
|
394
|
-
重连间隔: 5000ms
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
#### `xiaozhi config set` - 设置配置值
|
|
398
|
-
|
|
399
|
-
**语法**:
|
|
400
|
-
|
|
401
|
-
```bash
|
|
402
|
-
xiaozhi config set <key> <value>
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
**支持设置的配置键**:
|
|
406
|
-
|
|
407
|
-
- `mcpEndpoint` - MCP 端点地址
|
|
408
|
-
- `heartbeatInterval` - 心跳检测间隔(毫秒)
|
|
409
|
-
- `heartbeatTimeout` - 心跳超时时间(毫秒)
|
|
410
|
-
- `reconnectInterval` - 重连间隔(毫秒)
|
|
411
|
-
|
|
412
|
-
**使用示例**:
|
|
413
|
-
|
|
414
|
-
```bash
|
|
415
|
-
# 设置 MCP 端点
|
|
416
|
-
xiaozhi config set mcpEndpoint "ws://localhost:8080"
|
|
417
|
-
|
|
418
|
-
# 设置心跳间隔为 60 秒
|
|
419
|
-
xiaozhi config set heartbeatInterval 60000
|
|
420
|
-
|
|
421
|
-
# 设置超时时间为 15 秒
|
|
422
|
-
xiaozhi config set heartbeatTimeout 15000
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
**预期输出**:
|
|
426
|
-
|
|
427
|
-
```bash
|
|
428
|
-
$ xiaozhi config set mcpEndpoint "ws://localhost:8080"
|
|
429
|
-
✅ MCP 端点已设置为: ws://localhost:8080
|
|
430
|
-
|
|
431
|
-
$ xiaozhi config set heartbeatInterval 60000
|
|
432
|
-
✅ 心跳检测间隔已设置为: 60000ms
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
**注意事项**:
|
|
436
|
-
|
|
437
|
-
- 配置更改会立即保存到配置文件
|
|
438
|
-
- 如果配置文件不存在,会提示先运行 `xiaozhi config init`
|
|
439
|
-
- 数值类型的配置项会进行有效性验证
|
|
440
|
-
|
|
441
|
-
### 项目管理命令
|
|
442
|
-
|
|
443
|
-
项目管理命令用于基于模板快速创建 xiaozhi 项目。
|
|
444
|
-
|
|
445
|
-
#### `xiaozhi create` - 创建项目
|
|
446
|
-
|
|
447
|
-
**语法**:
|
|
448
|
-
|
|
449
|
-
```bash
|
|
450
|
-
xiaozhi create <projectName> [选项]
|
|
451
|
-
```
|
|
452
|
-
|
|
453
|
-
**选项**:
|
|
454
|
-
|
|
455
|
-
- `-t, --template <templateName>` - 使用指定模板创建项目
|
|
456
|
-
|
|
457
|
-
**可用模板**:
|
|
458
|
-
|
|
459
|
-
- `default` - 默认模板,包含基本配置
|
|
460
|
-
- `hello-world` - Hello World 示例,包含计算器和日期时间服务
|
|
461
|
-
- `docker` - Docker 配置模板,适用于容器化部署
|
|
462
|
-
- `json5` - JSON5 配置格式模板,支持注释
|
|
463
|
-
- `jsonc` - JSONC 配置格式模板,VS Code 风格
|
|
464
|
-
- `modelscope` - ModelScope 集成模板,支持 AI 模型服务
|
|
465
|
-
|
|
466
|
-
**使用示例**:
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
# 创建基础项目
|
|
470
|
-
xiaozhi create my-app
|
|
471
|
-
|
|
472
|
-
# 使用 Hello World 模板创建项目
|
|
473
|
-
xiaozhi create my-hello-app -t hello-world
|
|
474
|
-
|
|
475
|
-
# 使用 Docker 模板创建项目
|
|
476
|
-
xiaozhi create my-docker-app -t docker
|
|
477
|
-
|
|
478
|
-
# 使用 ModelScope 模板创建 AI 项目
|
|
479
|
-
xiaozhi create my-ai-app -t modelscope
|
|
480
|
-
```
|
|
481
|
-
|
|
482
|
-
**预期输出**:
|
|
483
|
-
|
|
484
|
-
```bash
|
|
485
|
-
$ xiaozhi create my-app -t hello-world
|
|
486
|
-
✅ 项目 "my-app" 创建成功
|
|
487
|
-
|
|
488
|
-
✅ 项目创建完成!
|
|
489
|
-
📝 接下来的步骤:
|
|
490
|
-
cd my-app
|
|
491
|
-
pnpm install # 安装依赖
|
|
492
|
-
# 编辑 xiaozhi.config.json 设置你的 MCP 端点
|
|
493
|
-
xiaozhi start # 启动服务
|
|
494
|
-
```
|
|
495
|
-
|
|
496
|
-
**项目结构**:
|
|
497
|
-
|
|
498
|
-
```
|
|
499
|
-
my-app/
|
|
500
|
-
├── xiaozhi.config.json # 配置文件
|
|
501
|
-
├── package.json # 项目依赖
|
|
502
|
-
├── mcpServers/ # MCP 服务目录
|
|
503
|
-
│ ├── calculator.js # 计算器服务
|
|
504
|
-
│ └── datetime.js # 日期时间服务
|
|
505
|
-
└── README.md # 项目说明
|
|
506
|
-
```
|
|
507
|
-
|
|
508
|
-
### MCP 管理命令
|
|
509
|
-
|
|
510
|
-
MCP 管理命令用于查看和管理 MCP 服务及其工具。
|
|
511
|
-
|
|
512
|
-
#### `xiaozhi mcp list` - 列出 MCP 服务
|
|
513
|
-
|
|
514
|
-
**语法**:
|
|
515
|
-
|
|
516
|
-
```bash
|
|
517
|
-
xiaozhi mcp list [选项]
|
|
518
|
-
```
|
|
519
|
-
|
|
520
|
-
**选项**:
|
|
521
|
-
|
|
522
|
-
- `--tools` - 显示所有服务的工具列表
|
|
523
|
-
|
|
524
|
-
**使用示例**:
|
|
525
|
-
|
|
526
|
-
```bash
|
|
527
|
-
# 列出所有 MCP 服务
|
|
528
|
-
xiaozhi mcp list
|
|
529
|
-
|
|
530
|
-
# 列出服务及其工具
|
|
531
|
-
xiaozhi mcp list --tools
|
|
532
|
-
```
|
|
533
|
-
|
|
534
|
-
#### `xiaozhi mcp server` - 管理指定 MCP 服务
|
|
535
|
-
|
|
536
|
-
**语法**:
|
|
537
|
-
|
|
538
|
-
```bash
|
|
539
|
-
xiaozhi mcp server <serverName>
|
|
540
|
-
```
|
|
541
|
-
|
|
542
|
-
**使用示例**:
|
|
543
|
-
|
|
544
|
-
```bash
|
|
545
|
-
# 查看 calculator 服务详情
|
|
546
|
-
xiaozhi mcp server calculator
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
#### `xiaozhi mcp tool` - 启用/禁用工具
|
|
550
|
-
|
|
551
|
-
**语法**:
|
|
552
|
-
|
|
553
|
-
```bash
|
|
554
|
-
xiaozhi mcp tool <serverName> <toolName> <action>
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
**参数**:
|
|
558
|
-
|
|
559
|
-
- `<serverName>` - 服务名称
|
|
560
|
-
- `<toolName>` - 工具名称
|
|
561
|
-
- `<action>` - 操作(enable/disable)
|
|
562
|
-
|
|
563
|
-
**使用示例**:
|
|
564
|
-
|
|
565
|
-
```bash
|
|
566
|
-
# 启用 calculator 服务的 add 工具
|
|
567
|
-
xiaozhi mcp tool calculator add enable
|
|
568
|
-
|
|
569
|
-
# 禁用 calculator 服务的 subtract 工具
|
|
570
|
-
xiaozhi mcp tool calculator subtract disable
|
|
571
|
-
```
|
|
572
|
-
|
|
573
|
-
### 端点管理命令
|
|
574
|
-
|
|
575
|
-
端点管理命令用于管理 MCP 端点地址,支持单端点和多端点配置。
|
|
576
|
-
|
|
577
|
-
#### `xiaozhi endpoint list` - 列出所有端点
|
|
578
|
-
|
|
579
|
-
**语法**:
|
|
580
|
-
|
|
581
|
-
```bash
|
|
582
|
-
xiaozhi endpoint list
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
**使用示例**:
|
|
586
|
-
|
|
587
|
-
```bash
|
|
588
|
-
xiaozhi endpoint list
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
**预期输出**:
|
|
592
|
-
|
|
593
|
-
```bash
|
|
594
|
-
$ xiaozhi endpoint list
|
|
595
|
-
共 2 个端点:
|
|
596
|
-
1. ws://localhost:8080
|
|
597
|
-
2. ws://server.example.com:8080
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
#### `xiaozhi endpoint add` - 添加端点
|
|
601
|
-
|
|
602
|
-
**语法**:
|
|
603
|
-
|
|
604
|
-
```bash
|
|
605
|
-
xiaozhi endpoint add <url>
|
|
606
|
-
```
|
|
607
|
-
|
|
608
|
-
**使用示例**:
|
|
609
|
-
|
|
610
|
-
```bash
|
|
611
|
-
xiaozhi endpoint add "ws://new-server:8080"
|
|
612
|
-
```
|
|
613
|
-
|
|
614
|
-
#### `xiaozhi endpoint remove` - 移除端点
|
|
615
|
-
|
|
616
|
-
**语法**:
|
|
617
|
-
|
|
618
|
-
```bash
|
|
619
|
-
xiaozhi endpoint remove <url>
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
**使用示例**:
|
|
623
|
-
|
|
624
|
-
```bash
|
|
625
|
-
xiaozhi endpoint remove "ws://old-server:8080"
|
|
626
|
-
```
|
|
627
|
-
|
|
628
|
-
#### `xiaozhi endpoint set` - 设置端点
|
|
629
|
-
|
|
630
|
-
**语法**:
|
|
631
|
-
|
|
632
|
-
```bash
|
|
633
|
-
xiaozhi endpoint set <url>
|
|
634
|
-
```
|
|
635
|
-
|
|
636
|
-
**使用示例**:
|
|
637
|
-
|
|
638
|
-
```bash
|
|
639
|
-
# 设置单个端点
|
|
640
|
-
xiaozhi endpoint set "ws://localhost:8080"
|
|
641
|
-
```
|
|
642
|
-
|
|
643
|
-
### UI 管理命令
|
|
644
|
-
|
|
645
|
-
UI 管理命令用于启动 Web 配置界面。
|
|
646
|
-
|
|
647
|
-
#### `xiaozhi ui` - 启动 Web UI
|
|
648
|
-
|
|
649
|
-
**语法**:
|
|
650
|
-
|
|
651
|
-
```bash
|
|
652
|
-
xiaozhi ui
|
|
653
|
-
```
|
|
654
|
-
|
|
655
|
-
**使用示例**:
|
|
656
|
-
|
|
657
|
-
```bash
|
|
658
|
-
xiaozhi ui
|
|
659
|
-
```
|
|
660
|
-
|
|
661
|
-
**预期输出**:
|
|
662
|
-
|
|
663
|
-
```bash
|
|
664
|
-
$ xiaozhi ui
|
|
665
|
-
✅ 配置管理网页已启动,可通过以下地址访问:
|
|
666
|
-
本地访问: http://localhost:9999
|
|
667
|
-
网络访问: http://<你的IP地址>:9999
|
|
668
|
-
💡 提示: 按 Ctrl+C 停止服务
|
|
669
|
-
```
|
|
670
|
-
|
|
671
|
-
**功能特性**:
|
|
672
|
-
|
|
673
|
-
- 可视化配置编辑
|
|
674
|
-
- 实时配置验证
|
|
675
|
-
- 服务状态监控
|
|
676
|
-
- 日志查看
|
|
677
|
-
|
|
678
|
-
## 快速参考
|
|
679
|
-
|
|
680
|
-
### 常用命令速查表
|
|
681
|
-
|
|
682
|
-
| 功能 | 命令 | 说明 |
|
|
683
|
-
| -------------- | ------------------------------------------------------ | --------------------- |
|
|
684
|
-
| **项目创建** | `xiaozhi create my-app -t hello-world` | 创建 Hello World 项目 |
|
|
685
|
-
| **配置初始化** | `xiaozhi config init` | 初始化配置文件 |
|
|
686
|
-
| **设置端点** | `xiaozhi config set mcpEndpoint "ws://localhost:8080"` | 设置 MCP 端点 |
|
|
687
|
-
| **前台启动** | `xiaozhi start` | 前台启动服务 |
|
|
688
|
-
| **后台启动** | `xiaozhi start -d` | 后台启动服务 |
|
|
689
|
-
| **启动 + UI** | `xiaozhi start -u` | 启动服务并打开 Web UI |
|
|
690
|
-
| **查看状态** | `xiaozhi status` | 查看服务运行状态 |
|
|
691
|
-
| **停止服务** | `xiaozhi stop` | 停止后台服务 |
|
|
692
|
-
| **查看日志** | `xiaozhi attach` | 连接后台服务查看日志 |
|
|
693
|
-
| **重启服务** | `xiaozhi restart -d` | 重启为后台模式 |
|
|
694
|
-
| **启动 UI** | `xiaozhi ui` | 启动 Web 配置界面 |
|
|
695
|
-
| **查看配置** | `xiaozhi config get mcpEndpoint` | 查看端点配置 |
|
|
696
|
-
| **列出服务** | `xiaozhi mcp list` | 列出所有 MCP 服务 |
|
|
697
|
-
|
|
698
|
-
### 典型使用流程
|
|
699
|
-
|
|
700
|
-
#### 1. 新项目开发流程
|
|
701
|
-
|
|
702
|
-
```bash
|
|
703
|
-
# 1. 创建项目
|
|
704
|
-
xiaozhi create my-project -t hello-world
|
|
705
|
-
cd my-project
|
|
706
|
-
npm install
|
|
707
|
-
|
|
708
|
-
# 2. 配置端点
|
|
709
|
-
xiaozhi config set mcpEndpoint "your-endpoint-url"
|
|
710
|
-
|
|
711
|
-
# 3. 启动开发
|
|
712
|
-
xiaozhi start # 前台模式,便于调试
|
|
713
|
-
```
|
|
714
|
-
|
|
715
|
-
#### 2. 生产部署流程
|
|
716
|
-
|
|
717
|
-
```bash
|
|
718
|
-
# 1. 后台启动
|
|
719
|
-
xiaozhi start -d
|
|
720
|
-
|
|
721
|
-
# 2. 检查状态
|
|
722
|
-
xiaozhi status
|
|
723
|
-
|
|
724
|
-
# 3. 配置监控(可选)
|
|
725
|
-
xiaozhi ui # 启动 Web 界面监控
|
|
726
|
-
```
|
|
727
|
-
|
|
728
|
-
#### 3. 客户端集成流程
|
|
729
|
-
|
|
730
|
-
```bash
|
|
731
|
-
# 1. 配置 Cursor/Claude Desktop
|
|
732
|
-
xiaozhi start --stdio
|
|
733
|
-
|
|
734
|
-
# 2. 或者启动 HTTP Server
|
|
735
|
-
xiaozhi start -s 3000
|
|
736
|
-
```
|
|
737
|
-
|
|
738
|
-
## 故障排除
|
|
739
|
-
|
|
740
|
-
### 常见问题及解决方案
|
|
741
|
-
|
|
742
|
-
#### 1. 配置文件相关问题
|
|
743
|
-
|
|
744
|
-
**问题**: `配置文件不存在`
|
|
745
|
-
|
|
746
|
-
```bash
|
|
747
|
-
❌ 配置文件不存在
|
|
748
|
-
💡 提示: 请先运行 "xiaozhi config init" 初始化配置
|
|
749
|
-
```
|
|
750
|
-
|
|
751
|
-
**解决方案**:
|
|
752
|
-
|
|
753
|
-
```bash
|
|
754
|
-
xiaozhi config init
|
|
755
|
-
```
|
|
756
|
-
|
|
757
|
-
**问题**: `配置格式错误`
|
|
758
|
-
|
|
759
|
-
**解决方案**:
|
|
760
|
-
|
|
761
|
-
```bash
|
|
762
|
-
# 备份现有配置
|
|
763
|
-
cp xiaozhi.config.json xiaozhi.config.json.backup
|
|
764
|
-
|
|
765
|
-
# 重新初始化
|
|
766
|
-
xiaozhi config init
|
|
767
|
-
|
|
768
|
-
# 手动恢复配置内容
|
|
769
|
-
```
|
|
770
|
-
|
|
771
|
-
#### 2. 服务启动问题
|
|
772
|
-
|
|
773
|
-
**问题**: `端口被占用`
|
|
774
|
-
|
|
775
|
-
```bash
|
|
776
|
-
❌ 启动失败: 端口 9999 已被占用
|
|
777
|
-
```
|
|
778
|
-
|
|
779
|
-
**解决方案**:
|
|
780
|
-
|
|
781
|
-
```bash
|
|
782
|
-
# 查找占用端口的进程
|
|
783
|
-
lsof -i :9999
|
|
784
|
-
|
|
785
|
-
# 或者修改配置使用其他端口
|
|
786
|
-
xiaozhi config set webUI.port 8888
|
|
787
|
-
```
|
|
788
|
-
|
|
789
|
-
**问题**: `MCP 端点连接失败`
|
|
790
|
-
|
|
791
|
-
```bash
|
|
792
|
-
❌ 连接失败: 无法连接到 ws://localhost:8080
|
|
793
|
-
```
|
|
794
|
-
|
|
795
|
-
**解决方案**:
|
|
796
|
-
|
|
797
|
-
```bash
|
|
798
|
-
# 1. 检查端点地址是否正确
|
|
799
|
-
xiaozhi config get mcpEndpoint
|
|
800
|
-
|
|
801
|
-
# 2. 检查网络连接
|
|
802
|
-
ping localhost
|
|
803
|
-
|
|
804
|
-
# 3. 重新设置端点
|
|
805
|
-
xiaozhi config set mcpEndpoint "correct-endpoint-url"
|
|
806
|
-
```
|
|
807
|
-
|
|
808
|
-
#### 3. 服务管理问题
|
|
809
|
-
|
|
810
|
-
**问题**: `无法停止服务`
|
|
811
|
-
|
|
812
|
-
```bash
|
|
813
|
-
❌ 停止失败: 找不到运行中的服务
|
|
814
|
-
```
|
|
815
|
-
|
|
816
|
-
**解决方案**:
|
|
817
|
-
|
|
818
|
-
```bash
|
|
819
|
-
# 1. 检查服务状态
|
|
820
|
-
xiaozhi status
|
|
821
|
-
|
|
822
|
-
# 2. 强制清理(如果进程已死但 PID 文件仍存在)
|
|
823
|
-
rm -f .xiaozhi/xiaozhi.pid
|
|
824
|
-
|
|
825
|
-
# 3. 查找并手动终止进程
|
|
826
|
-
ps aux | grep xiaozhi
|
|
827
|
-
kill <PID>
|
|
828
|
-
```
|
|
829
|
-
|
|
830
|
-
#### 4. 权限问题
|
|
831
|
-
|
|
832
|
-
**问题**: `权限不足`
|
|
833
|
-
|
|
834
|
-
```bash
|
|
835
|
-
❌ 启动失败: 权限不足
|
|
836
|
-
```
|
|
837
|
-
|
|
838
|
-
**解决方案**:
|
|
839
|
-
|
|
840
|
-
```bash
|
|
841
|
-
# 检查文件权限
|
|
842
|
-
ls -la xiaozhi.config.json
|
|
843
|
-
|
|
844
|
-
# 修复权限
|
|
845
|
-
chmod 644 xiaozhi.config.json
|
|
846
|
-
chmod 755 mcpServers/
|
|
847
|
-
```
|
|
848
|
-
|
|
849
|
-
### 调试技巧
|
|
850
|
-
|
|
851
|
-
#### 1. 查看详细信息
|
|
852
|
-
|
|
853
|
-
```bash
|
|
854
|
-
# 查看系统信息
|
|
855
|
-
xiaozhi --info
|
|
856
|
-
|
|
857
|
-
# 查看详细版本信息
|
|
858
|
-
xiaozhi --version-info
|
|
859
|
-
```
|
|
860
|
-
|
|
861
|
-
#### 2. 日志分析
|
|
862
|
-
|
|
863
|
-
```bash
|
|
864
|
-
# 前台模式查看实时日志
|
|
865
|
-
xiaozhi start
|
|
866
|
-
|
|
867
|
-
# 后台模式查看日志
|
|
868
|
-
xiaozhi attach
|
|
869
|
-
```
|
|
870
|
-
|
|
871
|
-
#### 3. 配置验证
|
|
872
|
-
|
|
873
|
-
```bash
|
|
874
|
-
# 检查配置完整性
|
|
875
|
-
xiaozhi config get mcpEndpoint
|
|
876
|
-
xiaozhi config get mcpServers
|
|
877
|
-
xiaozhi config get connection
|
|
878
|
-
```
|
|
879
|
-
|
|
880
|
-
#### 4. 网络诊断
|
|
881
|
-
|
|
882
|
-
```bash
|
|
883
|
-
# 测试端点连接
|
|
884
|
-
curl -I http://your-endpoint-host
|
|
885
|
-
|
|
886
|
-
# 检查端口监听
|
|
887
|
-
netstat -an | grep :9999
|
|
888
|
-
```
|
|
889
|
-
|
|
890
|
-
### 获取帮助
|
|
891
|
-
|
|
892
|
-
如果遇到问题无法解决,可以:
|
|
893
|
-
|
|
894
|
-
1. **查看帮助信息**:
|
|
895
|
-
|
|
896
|
-
```bash
|
|
897
|
-
xiaozhi --help
|
|
898
|
-
xiaozhi <command> --help
|
|
899
|
-
```
|
|
900
|
-
|
|
901
|
-
2. **查看项目文档**: 访问项目 GitHub 仓库的 docs 目录
|
|
902
|
-
|
|
903
|
-
3. **提交问题**: 在 GitHub Issues 中描述问题,包含:
|
|
904
|
-
- 操作系统信息
|
|
905
|
-
- Node.js 版本
|
|
906
|
-
- xiaozhi 版本 (`xiaozhi --version`)
|
|
907
|
-
- 完整的错误信息
|
|
908
|
-
- 复现步骤
|
|
909
|
-
|
|
910
|
-
## 环境变量
|
|
911
|
-
|
|
912
|
-
xiaozhi 支持以下环境变量:
|
|
913
|
-
|
|
914
|
-
| 变量名 | 描述 | 默认值 | 示例 |
|
|
915
|
-
| ----------------------- | ---------------- | ------------ | ---------------------------- |
|
|
916
|
-
| `XIAOZHI_CONFIG_DIR` | 配置文件目录 | 当前工作目录 | `/path/to/config` |
|
|
917
|
-
| `XIAOZHI_DAEMON` | 标记守护进程模式 | 无 | `true` |
|
|
918
|
-
| `MCP_SERVER_PROXY_PATH` | MCP 代理文件路径 | 自动检测 | `/path/to/mcpServerProxy.js` |
|
|
919
|
-
|
|
920
|
-
**使用示例**:
|
|
921
|
-
|
|
922
|
-
```bash
|
|
923
|
-
# 指定配置目录
|
|
924
|
-
XIAOZHI_CONFIG_DIR=/etc/xiaozhi xiaozhi start
|
|
925
|
-
|
|
926
|
-
# 在 Docker 中使用
|
|
927
|
-
docker run -e XIAOZHI_CONFIG_DIR=/app/config xiaozhi-client
|
|
928
|
-
```
|