xiaozhi-client 1.9.3 → 1.9.4-beta.1

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 (138) hide show
  1. package/README.md +2 -2
  2. package/dist/WebServerLauncher.js +2 -100
  3. package/dist/backend/WebServerLauncher.js +100 -0
  4. package/dist/backend/WebServerLauncher.js.map +1 -0
  5. package/dist/backend/cli.js +129 -0
  6. package/dist/backend/cli.js.map +1 -0
  7. package/dist/{package.json → backend/package.json} +21 -9
  8. package/dist/cli.js +2 -129
  9. package/dist/docs/404/index.html +19 -0
  10. package/dist/docs/404.html +19 -0
  11. package/dist/docs/_next/static/JZ0ESgtaHnsqkxSabOqqU/_buildManifest.js +1 -0
  12. package/dist/docs/_next/static/JZ0ESgtaHnsqkxSabOqqU/_ssgManifest.js +1 -0
  13. package/dist/docs/_next/static/chunks/112-c9cbd8401d35f825.js +4 -0
  14. package/dist/docs/_next/static/chunks/2a9bc5d7-4c434acf20ba934a.js +1 -0
  15. package/dist/docs/_next/static/chunks/782-c26ca6c69e488d48.js +1 -0
  16. package/dist/docs/_next/static/chunks/799-fe0d35806fd12012.js +1 -0
  17. package/dist/docs/_next/static/chunks/9b1cb2c3-cc9ed703e6aef1a2.js +1 -0
  18. package/dist/docs/_next/static/chunks/app/[[...mdxPath]]/page-48f5c8f3210e0a8a.js +1 -0
  19. package/dist/docs/_next/static/chunks/app/_not-found/page-2e38866a1cbb77e4.js +1 -0
  20. package/dist/docs/_next/static/chunks/app/layout-e8f420537fd59e8d.js +1 -0
  21. package/dist/docs/_next/static/chunks/framework-b73126dabbf07067.js +1 -0
  22. package/dist/docs/_next/static/chunks/main-75dc65850b89d90d.js +1 -0
  23. package/dist/docs/_next/static/chunks/main-app-3303134270964ce6.js +1 -0
  24. package/dist/docs/_next/static/chunks/pages/_app-e698a68d07c8993d.js +1 -0
  25. package/dist/docs/_next/static/chunks/pages/_error-189a41ab5833da03.js +1 -0
  26. package/dist/docs/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  27. package/dist/docs/_next/static/chunks/webpack-10e2bf7d852ddb6e.js +1 -0
  28. package/dist/docs/_next/static/css/2d82b615fcca1590.css +1 -0
  29. package/dist/docs/_next/static/css/b03484a3c350cf6e.css +1 -0
  30. package/dist/docs/_next/static/css/b289318ef4b60b0a.css +1 -0
  31. package/dist/docs/changelog/index.html +585 -0
  32. package/dist/docs/changelog/index.txt +1079 -0
  33. package/dist/docs/images/coze-workflow/get-parameter.png +0 -0
  34. package/dist/docs/index.html +22 -0
  35. package/dist/docs/index.txt +41 -0
  36. package/dist/docs/quickstart/index.html +64 -0
  37. package/dist/docs/quickstart/index.txt +185 -0
  38. package/dist/docs/reference/command/index.html +20 -0
  39. package/dist/docs/reference/command/index.txt +42 -0
  40. package/dist/docs/usage/as-mcp/index.html +36 -0
  41. package/dist/docs/usage/as-mcp/index.txt +101 -0
  42. package/dist/docs/usage/coze-workflow/index.html +35 -0
  43. package/dist/docs/usage/coze-workflow/index.txt +120 -0
  44. package/dist/docs/usage/docker/index.html +40 -0
  45. package/dist/docs/usage/docker/index.txt +154 -0
  46. package/dist/docs/usage/modelscope/index.html +32 -0
  47. package/dist/docs/usage/modelscope/index.txt +109 -0
  48. package/dist/docs/usage/multi-endpoint/index.html +32 -0
  49. package/dist/docs/usage/multi-endpoint/index.txt +118 -0
  50. package/dist/frontend/assets/form-utils-h64o2Nyg.js.map +1 -0
  51. package/{apps/frontend/dist → dist/frontend}/assets/index-88NfCOo9.js.map +1 -1
  52. package/dist/frontend/assets/radix-ui-BA32w1ww.js.map +1 -0
  53. package/dist/frontend/assets/react-vendor-DrjkXih1.js.map +1 -0
  54. package/dist/frontend/assets/utils-CiPelQLP.js.map +1 -0
  55. package/dist/frontend/assets/vendor-DK9yaMt3.js.map +1 -0
  56. package/dist/shared-types/index.js +36 -0
  57. package/dist/shared-types/index.js.map +1 -0
  58. package/package.json +21 -9
  59. package/apps/frontend/README.md +0 -169
  60. package/apps/frontend/dist/assets/form-utils-h64o2Nyg.js.map +0 -1
  61. package/apps/frontend/dist/assets/radix-ui-BA32w1ww.js.map +0 -1
  62. package/apps/frontend/dist/assets/react-vendor-DrjkXih1.js.map +0 -1
  63. package/apps/frontend/dist/assets/utils-CiPelQLP.js.map +0 -1
  64. package/apps/frontend/dist/assets/vendor-DK9yaMt3.js.map +0 -1
  65. package/dist/WebServerLauncher.js.map +0 -1
  66. package/dist/cli.js.map +0 -1
  67. package/docs/arch/cache.mdx +0 -885
  68. package/docs/changelog.mdx +0 -645
  69. package/docs/development/architecture.mdx +0 -71
  70. package/docs/development/docker-build.mdx +0 -256
  71. package/docs/development/todo__release-guide.md +0 -563
  72. package/docs/development/todo__setting-manager.md +0 -122
  73. package/docs/docs.json +0 -55
  74. package/docs/getting-started/install.mdx +0 -191
  75. package/docs/getting-started/intro.mdx +0 -11
  76. package/docs/getting-started/quickstart.mdx +0 -108
  77. package/docs/mcp-tool-calling.md +0 -363
  78. package/docs/python-dependencies.md +0 -216
  79. package/docs/reference/command.mdx +0 -15
  80. package/docs/usage/add-mcp-server.mdx +0 -6
  81. package/docs/usage/as-a-mcp-server.mdx +0 -76
  82. package/docs/usage/coze-workflow.mdx +0 -73
  83. package/docs/usage/docker.mdx +0 -99
  84. package/docs/usage/modelscope.mdx +0 -74
  85. package/docs/usage/use-multi-xiaozhi-mcp-endpoints.mdx +0 -77
  86. package/docs/usage/web-control.mdx +0 -6
  87. /package/dist/{WebServerLauncher.d.ts → backend/WebServerLauncher.d.ts} +0 -0
  88. /package/dist/{cli.d.ts → backend/cli.d.ts} +0 -0
  89. /package/dist/{templates → backend/templates}/default/mcpServers/calculator.js +0 -0
  90. /package/dist/{templates → backend/templates}/default/mcpServers/datetime.js +0 -0
  91. /package/dist/{templates → backend/templates}/default/package.json +0 -0
  92. /package/dist/{templates → backend/templates}/default/xiaozhi.config.json +0 -0
  93. /package/dist/{templates → backend/templates}/hello-world/mcpServers/calculator.js +0 -0
  94. /package/dist/{templates → backend/templates}/hello-world/mcpServers/datetime.js +0 -0
  95. /package/dist/{templates → backend/templates}/hello-world/package.json +0 -0
  96. /package/dist/{templates → backend/templates}/hello-world/xiaozhi.config.json +0 -0
  97. /package/dist/{templates → backend/templates}/json5/mcpServers/calculator.js +0 -0
  98. /package/dist/{templates → backend/templates}/json5/mcpServers/datetime.js +0 -0
  99. /package/dist/{templates → backend/templates}/json5/package.json +0 -0
  100. /package/dist/{templates → backend/templates}/json5/xiaozhi.config.json5 +0 -0
  101. /package/dist/{templates → backend/templates}/jsonc/mcpServers/calculator.js +0 -0
  102. /package/dist/{templates → backend/templates}/jsonc/mcpServers/datetime.js +0 -0
  103. /package/dist/{templates → backend/templates}/jsonc/package.json +0 -0
  104. /package/dist/{templates → backend/templates}/jsonc/xiaozhi.config.jsonc +0 -0
  105. /package/dist/{templates → backend/templates}/modelscope/xiaozhi.config.json +0 -0
  106. /package/{docs/images/coze-workflow/get-parameter.png → dist/docs/_next/static/media/get-parameter.62eee93d.png} +0 -0
  107. /package/{docs → dist/docs}/images/add-to-cherry-studio/step-1.png +0 -0
  108. /package/{docs → dist/docs}/images/add-to-cherry-studio/step-2.png +0 -0
  109. /package/{docs → dist/docs}/images/add-to-cherry-studio/step-3.png +0 -0
  110. /package/{docs → dist/docs}/images/add-to-cherry-studio/step-4.png +0 -0
  111. /package/{docs → dist/docs}/images/add-to-cherry-studio/step-5.png +0 -0
  112. /package/{docs → dist/docs}/images/add-to-cursor/step-1.png +0 -0
  113. /package/{docs → dist/docs}/images/add-to-cursor/step-2.png +0 -0
  114. /package/{docs → dist/docs}/images/add-to-cursor/step-3.png +0 -0
  115. /package/{docs → dist/docs}/images/coze-workflow/config-workflow-step-1.png +0 -0
  116. /package/{docs → dist/docs}/images/coze-workflow/config-workflow-step-2.png +0 -0
  117. /package/{docs → dist/docs}/images/coze-workflow/config-workflow-step-3.png +0 -0
  118. /package/{docs → dist/docs}/images/integrate-to-cherry-studio.png +0 -0
  119. /package/{docs → dist/docs}/images/integrate-to-cursor.png +0 -0
  120. /package/{docs → dist/docs}/images/modelscope/step-1.png +0 -0
  121. /package/{docs → dist/docs}/images/modelscope/step-2.png +0 -0
  122. /package/{docs → dist/docs}/images/modelscope/step-3.png +0 -0
  123. /package/{docs → dist/docs}/images/modelscope/step-4.png +0 -0
  124. /package/{docs → dist/docs}/images/preview.png +0 -0
  125. /package/{docs → dist/docs}/images/use-multi-xiaozhi-mcp-endpoints/step-1.png +0 -0
  126. /package/{docs → dist/docs}/images/use-multi-xiaozhi-mcp-endpoints/step-2.png +0 -0
  127. /package/{docs → dist/docs}/images/use-multi-xiaozhi-mcp-endpoints/step-3.png +0 -0
  128. /package/{docs → dist/docs}/images/use-multi-xiaozhi-mcp-endpoints/step-4.png +0 -0
  129. /package/{docs → dist/docs}/images/use-multi-xiaozhi-mcp-endpoints/step-5.png +0 -0
  130. /package/{docs → dist/docs}/images/web-ui-preview.png +0 -0
  131. /package/{apps/frontend/dist → dist/frontend}/assets/form-utils-h64o2Nyg.js +0 -0
  132. /package/{apps/frontend/dist → dist/frontend}/assets/index-88NfCOo9.js +0 -0
  133. /package/{apps/frontend/dist → dist/frontend}/assets/index-P6Zq3MZF.css +0 -0
  134. /package/{apps/frontend/dist → dist/frontend}/assets/radix-ui-BA32w1ww.js +0 -0
  135. /package/{apps/frontend/dist → dist/frontend}/assets/react-vendor-DrjkXih1.js +0 -0
  136. /package/{apps/frontend/dist → dist/frontend}/assets/utils-CiPelQLP.js +0 -0
  137. /package/{apps/frontend/dist → dist/frontend}/assets/vendor-DK9yaMt3.js +0 -0
  138. /package/{apps/frontend/dist → dist/frontend}/index.html +0 -0
@@ -1,71 +0,0 @@
1
- ---
2
- title: 项目架构
3
- sidebarTitle: 项目架构
4
- ---
5
-
6
- ```mermaid
7
- graph TB
8
- subgraph ProjectComponents["🏗️ xiaozhi-client"]
9
- Core["🔧 核心服务<br/>(Core Service)<br/>MCP Server/Client"]
10
- Web["🌐 Web管理界面<br/>(Supervisor)"]
11
- CLI["💻 命令行工具<br/>(CLI)"]
12
- end
13
-
14
- subgraph Hardware["📱 硬件设备"]
15
- ESP32["🎙️ xiaozhi-esp32<br/>(语音互动设备)"]
16
- end
17
-
18
- subgraph MCPClients["💼 MCP客户端"]
19
- Cursor["Cursor"]
20
- Cherry["Cherry Studio"]
21
- OtherClient["其他客户端"]
22
- end
23
-
24
- subgraph External["☁️ 外部服务"]
25
- XiaozhiMe["🌐 xiaozhi.me<br/>(原有服务端)"]
26
- end
27
-
28
- subgraph MCPServices["🔌 MCP服务集群"]
29
- direction LR
30
- MCP1["🏠 Local MCP<br/>(本地服务)"]
31
- MCP2["🌍 Remote MCP<br/>(远程服务)"]
32
- MCP3["🤖 ModelScope MCP<br/>(模型服务)"]
33
- MCPn["⚡ Other MCP<br/>(其他服务)"]
34
- end
35
-
36
- %% 新的MCP客户端连接 (重要)
37
- Cursor ==>|"MCP协议"| Core
38
- Cherry ==>|"MCP协议"| Core
39
- OtherClient ==>|"MCP协议"| Core
40
-
41
- %% ESP32连接链路
42
- ESP32 -.->|"直连"| Core
43
- ESP32 -->|"原有链路"| XiaozhiMe
44
- XiaozhiMe --> Core
45
-
46
- %% Core Service到MCP服务
47
- Core ==> MCP1
48
- Core ==> MCP2
49
- Core ==> MCP3
50
- Core ==> MCPn
51
-
52
- %% 项目内部管理连接
53
- Web -.-> Core
54
- CLI -.-> Core
55
-
56
- %% 样式定义
57
- classDef coreComponent stroke:#2980b9,stroke-width:3px,fill:#ebf3fd,color:#2c3e50
58
- classDef hardware stroke:#e74c3c,stroke-width:2px,fill:#fdedec,color:#2c3e50
59
- classDef external stroke:#8e44ad,stroke-width:2px,fill:#f4ecf7,color:#2c3e50
60
- classDef mcp stroke:#27ae60,stroke-width:2px,fill:#eafaf1,color:#2c3e50
61
- classDef mcpClient stroke:#f39c12,stroke-width:2px,fill:#fef9e7,color:#2c3e50
62
- classDef primaryFlow stroke:#27ae60,stroke-width:4px
63
- classDef secondaryFlow stroke:#95a5a6,stroke-width:2px
64
-
65
- class Core,Web,CLI coreComponent
66
- class ESP32 hardware
67
- class XiaozhiMe external
68
- class MCP1,MCP2,MCP3,MCPn mcp
69
- class Cursor,Cherry,OtherClient mcpClient
70
-
71
- ```
@@ -1,256 +0,0 @@
1
- ---
2
- title: Docker 镜像构建指南
3
- description: 小智客户端 Docker 容器化构建的完整指南,适用于贡献者和开发者
4
- sidebar_position: 3
5
- ---
6
-
7
- # Docker 镜像构建指南
8
-
9
- 本文档详细介绍小智客户端项目的 Docker 容器化架构和构建流程,帮助贡献者和开发者理解项目的容器化设计理念和参与开发。
10
-
11
- ## 📋 目录
12
-
13
- - [项目 Docker 架构概览](#项目-docker-架构概览)
14
- - [构建文件详解](#构建文件详解)
15
- - [核心机制解析](#核心机制解析)
16
- - [开发工作流](#开发工作流)
17
- - [故障排除指南](#故障排除指南)
18
-
19
- ## 🏗️ 项目 Docker 架构概览
20
-
21
- ### 设计理念
22
-
23
- 小智客户端采用**双环境 Docker 架构**,针对不同的使用场景提供了专门的解决方案:
24
-
25
- - **生产环境**:基于预发布包,提供开箱即用的稳定体验
26
- - **开发环境**:支持本地构建,便于调试和功能开发
27
-
28
- ### 目录结构
29
-
30
- 项目将 Docker 相关文件组织在独立的 `docker/` 目录中:
31
-
32
- ```
33
- docker/
34
- ├── .dockerignore # 生产环境构建忽略文件
35
- ├── .dockerignore.dev # 开发环境构建忽略文件
36
- ├── Dockerfile # 生产环境镜像构建文件
37
- ├── Dockerfile.dev # 开发环境镜像构建文件
38
- ├── docker-compose.yml # 生产环境容器编排
39
- ├── docker-compose.dev.yml # 开发环境容器编排
40
- ├── scripts/ # 脚本文件
41
- │ ├── entrypoint.sh # 容器启动初始化脚本
42
- │ ├── start.sh # 一键启动脚本
43
- │ └── update-version.js # 版本号自动更新脚本
44
- └── templates/ # 模板文件
45
- ├── mcpServers/ # MCP 服务器模板
46
- ├── package.json # 项目模板配置
47
- ├── requirements.txt # Python 依赖模板
48
- └── xiaozhi.config.json # 配置文件模板
49
- ```
50
-
51
- ### 架构特点
52
-
53
- ```mermaid
54
- graph TD
55
- A[小智客户端 Docker 架构] --> B[生产环境]
56
- A --> C[开发环境]
57
-
58
- B --> D[基于预发布包]
59
- B --> E[自动化构建]
60
- B --> F[多平台支持]
61
-
62
- C --> G[本地源码构建]
63
- C --> H[开发工具集成]
64
- C --> I[热重载支持]
65
-
66
- D --> J[快速部署]
67
- E --> K[CI/CD 自动化]
68
- F --> L[ARM64/AMD64]
69
-
70
- G --> M[调试友好]
71
- H --> N[开发效率]
72
- I --> O[实时更新]
73
- ```
74
-
75
- ## 📦 构建文件详解
76
-
77
- ### 关键差异
78
-
79
- | 特性 | 生产环境 | 开发环境 |
80
- |------|---------|---------|
81
- | **基础包** | xiaozhi-client 预发布包 | 本地源码构建 |
82
- | **用户权限** | root 用户运行 | 非 root 用户(后续会保持一致) |
83
- | **Python 环境** | 完整虚拟环境 | 无 Python 环境(后续会保持一致) |
84
- | **启动方式** | 直接运行可执行文件 | 通过源码运行 |
85
- | **调试支持** | 基础日志 | 完整开发工具链 |
86
-
87
- ## ⚙️ 核心机制解析
88
-
89
- ### 容器启动流程
90
-
91
- `entrypoint.sh` 脚本实现了智能的容器初始化流程:
92
-
93
- ```mermaid
94
- graph TD
95
- A[容器启动] --> B{检查工作目录状态}
96
- B -->|无配置文件| C[初始化工作目录]
97
- B -->|已有配置| D[跳过初始化]
98
-
99
- C --> E[复制模板文件]
100
- E --> F[检查 Node.js 依赖]
101
- D --> F
102
-
103
- F -->|无 node_modules| G[安装依赖]
104
- F -->|已存在| H[跳过安装]
105
- G --> H
106
-
107
- H --> I[检查 Python 依赖]
108
- I -->|有自定义 requirements.txt| J[安装用户依赖]
109
- I -->|无自定义文件| K[检查默认依赖]
110
-
111
- J --> L[清理 PID 文件]
112
- K -->|缺少基础包| M[安装默认依赖]
113
- K -->|基础包存在| L
114
- M --> L
115
-
116
- L --> N[启动 xiaozhi-client]
117
- ```
118
-
119
- ### 版本管理
120
-
121
- `update-version.js` 脚本实现了版本号的自动同步:
122
-
123
- ```javascript
124
- // 自动更新 Dockerfile 中的版本号
125
- const version = process.argv[2] || require('../../package.json').version;
126
-
127
- // 更新生产环境 Dockerfile
128
- const dockerfileContent = fs.readFileSync(dockerfilePath, 'utf8')
129
- .replace(/ARG XIAOZHI_VERSION=.*$/, `ARG XIAOZHI_VERSION=${version}`);
130
-
131
- // 更新 docker-compose 版本标签
132
- const composeContent = fs.readFileSync(composePath, 'utf8')
133
- .replace(/image: shenjingnan\/xiaozhi-client:.*$/, `image: shenjingnan/xiaozhi-client:${version}`);
134
- ```
135
-
136
- ## 🚀 开发工作流
137
-
138
- ### 本地开发环境
139
-
140
- 1. **构建开发镜像**:
141
- ```bash
142
- cd docker/
143
- docker build -f Dockerfile.dev -t xiaozhi-client:dev .
144
- ```
145
-
146
- 2. **启动开发容器**:
147
- ```bash
148
- docker-compose -f docker-compose.dev.yml up --build
149
- ```
150
-
151
- 3. **调试和开发**:
152
- ```bash
153
- # 查看容器日志
154
- docker logs -f xiaozhi-client-dev
155
-
156
- # 进入容器调试
157
- docker exec -it xiaozhi-client-dev /bin/bash
158
-
159
- # 重新构建并启动
160
- docker-compose -f docker-compose.dev.yml up --build --force-recreate
161
- ```
162
-
163
- ### 生产环境部署
164
-
165
- 1. **构建生产镜像**:
166
- ```bash
167
- # 指定版本号构建
168
- docker build --build-arg XIAOZHI_VERSION=1.6.1 -t shenjingnan/xiaozhi-client:1.6.1 .
169
-
170
- # 多平台构建(支持 ARM64 和 AMD64)
171
- docker buildx build --platform linux/amd64,linux/arm64 \
172
- --build-arg XIAOZHI_VERSION=1.6.1 \
173
- -t shenjingnan/xiaozhi-client:1.6.1 \
174
- --push .
175
- ```
176
-
177
- 2. **使用 Docker Compose**:
178
- ```bash
179
- # 使用默认配置启动
180
- docker-compose up -d
181
-
182
- # 指定版本启动
183
- XIAOZHI_VERSION=1.6.1 docker-compose up -d
184
-
185
- # 查看服务状态
186
- docker-compose ps
187
- docker-compose logs -f
188
- ```
189
-
190
- ### 版本发布流程
191
-
192
- 1. **更新版本号**:
193
- ```bash
194
- # 使用项目脚本自动更新
195
- pnpm docker:update-version 1.6.2
196
-
197
- # 手动更新 package.json 和相关文件
198
- npm version patch
199
- ```
200
-
201
- 2. **自动化构建**:
202
-
203
- 使用 Github 工作流 `.github/workflows/docker-publish.yml`
204
-
205
- ## 调试技巧
206
-
207
- 1. **查看详细日志**:
208
- ```bash
209
- # 启动时显示详细日志
210
- docker run --rm -it shenjingnan/xiaozhi-client:latest xiaozhi --help
211
-
212
- # 实时查看容器日志
213
- docker logs -f --tail=100 xiaozhi-client
214
- ```
215
-
216
- 2. **进入容器调试**:
217
- ```bash
218
- # 进入运行中的容器
219
- docker exec -it xiaozhi-client /bin/bash
220
-
221
- # 检查环境配置
222
- docker exec xiaozhi-client env | grep XIAOZHI
223
- docker exec xiaozhi-client cat /workspaces/xiaozhi.config.json
224
- ```
225
-
226
- 3. **网络连接测试**:
227
- ```bash
228
- # 测试容器内网络连接
229
- docker exec xiaozhi-client curl -I http://localhost:9999
230
-
231
- # 检查端口映射
232
- docker port xiaozhi-client
233
- ```
234
-
235
- ## 📚 参考资料
236
-
237
- - [Docker 官方文档](https://docs.docker.com/)
238
- - [Docker Compose 文档](https://docs.docker.com/compose/)
239
- - [Node.js 最佳实践](https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md)
240
- - [小智客户端部署文档](/docs/usage/docker)
241
-
242
- ---
243
-
244
- ## 💡 参与贡献
245
-
246
- 欢迎参与小智客户端的 Docker 相关开发!请参考以下资源:
247
-
248
- - **提交 Issue**:在 GitHub 上报告 Bug 或提出功能建议
249
- - **提交 PR**:贡献代码改进和文档更新
250
- - **讨论交流**:参与技术讨论和方案设计
251
-
252
- 在提交 Docker 相关的改动时,请确保:
253
- - 遵循现有的文件组织结构
254
- - 添加适当的注释和文档
255
- - 测试在不同环境下的兼容性
256
- - 保持与现有 CI/CD 流程的一致性