xiaozhi-client 1.7.1 → 1.7.2

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.
Files changed (44) hide show
  1. package/README.md +29 -397
  2. package/dist/WebServerStandalone.js +34 -13
  3. package/dist/WebServerStandalone.js.map +1 -1
  4. package/dist/cli.js +37 -16
  5. package/dist/cli.js.map +1 -1
  6. package/dist/mcpServerProxy.js +28 -7
  7. package/dist/mcpServerProxy.js.map +1 -1
  8. package/dist/package.json +10 -5
  9. package/docs/{Architecture.md → development/architecture.mdx} +4 -1
  10. package/docs/docs.json +51 -0
  11. package/docs/getting-started/install.mdx +191 -0
  12. package/docs/getting-started/intro.mdx +11 -0
  13. package/docs/getting-started/quickstart.mdx +108 -0
  14. package/docs/images/preview.png +0 -0
  15. package/docs/reference/command.mdx +15 -0
  16. package/docs/usage/add-mcp-server.mdx +6 -0
  17. package/docs/usage/as-a-mcp-server.mdx +6 -0
  18. package/docs/usage/docker.mdx +99 -0
  19. package/docs/usage/modelscope.mdx +6 -0
  20. package/docs/usage/web-control.mdx +6 -0
  21. package/package.json +10 -5
  22. package/web/dist/assets/{form-utils-DmILtYcF.js → form-utils-RpkiEEz8.js} +2 -2
  23. package/web/dist/assets/{form-utils-DmILtYcF.js.map → form-utils-RpkiEEz8.js.map} +1 -1
  24. package/web/dist/assets/index-BjG6tl-5.css +1 -0
  25. package/web/dist/assets/index-BvDVeF-B.js +31 -0
  26. package/web/dist/assets/index-BvDVeF-B.js.map +1 -0
  27. package/web/dist/assets/radix-ui-BA32w1ww.js +2 -0
  28. package/web/dist/assets/radix-ui-BA32w1ww.js.map +1 -0
  29. package/web/dist/assets/react-vendor-CoesXubw.js +234 -0
  30. package/web/dist/assets/react-vendor-CoesXubw.js.map +1 -0
  31. package/web/dist/assets/{utils-DYeV2b9J.js → utils-N_0RTAPv.js} +2 -2
  32. package/web/dist/assets/{utils-DYeV2b9J.js.map → utils-N_0RTAPv.js.map} +1 -1
  33. package/web/dist/index.html +6 -6
  34. package/docs/CLI.md +0 -928
  35. package/docs/examples-usage.md +0 -647
  36. package/web/dist/assets/index-CQVdYi7r.js +0 -31
  37. package/web/dist/assets/index-CQVdYi7r.js.map +0 -1
  38. package/web/dist/assets/index-Cz9EK1KU.css +0 -1
  39. package/web/dist/assets/radix-ui-DW48STyt.js +0 -2
  40. package/web/dist/assets/radix-ui-DW48STyt.js.map +0 -1
  41. package/web/dist/assets/react-vendor-CP-QpYlg.js +0 -189
  42. package/web/dist/assets/react-vendor-CP-QpYlg.js.map +0 -1
  43. /package/docs/{RELEASE_GUIDE.md → development/todo__release-guide.md} +0 -0
  44. /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
- ```