diff --git a/README.md b/README.md
index a783b3e9..a8d54c15 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,5 @@
[](https://github.com/xinnan-tech/xiaozhi-esp32-server)
-
小智后端服务xiaozhi-esp32-server
@@ -12,11 +11,10 @@
English
-· 简体中文
-· 更新日志
-· 部署文档
-· 反馈问题
· 常见问题
+· 反馈问题
+· 部署文档
+· 更新日志
@@ -132,17 +130,7 @@
1、本项目为开源软件,本软件与对接的任何第三方API服务商(包括但不限于语音识别、大模型、语音合成等平台)均不存在商业合作关系,不为其服务质量及资金安全提供任何形式的担保。
建议使用者优先选择持有相关业务牌照的服务商,并仔细阅读其服务协议及隐私政策。本软件不托管任何账户密钥、不参与资金流转、不承担充值资金损失风险。
-2、本项目成立时间较短,还未通过网络安全测评,请勿在生产环境中使用。 如果您在公网环境中部署学习本项目,请务必在配置文件
-`config.yaml` 中开启防护:
-
-```yaml
-server:
- auth:
- # 开启防护
- enabled: true
-```
-
-开启防护后,您需要根据实际情况校验机器的 token 或 mac 地址,详细请参见配置说明。
+2、本项目功能未完善,且未通过网络安全测评,请勿在生产环境中使用。 如果您在公网环境中部署学习本项目,请务必做好必要的防护。
---
@@ -168,11 +156,6 @@ server:
OTA接口地址: https://2662r3426b.vicp.fun/xiaozhi/ota/
Websocket接口地址: wss://2662r3426b.vicp.fun/xiaozhi/v1/
```
----
-
-## 常见问题 ❓
-
-如遇到问题或产品建议反馈[点这里](docs/FAQ.md)。
---
## 功能清单 ✨
diff --git a/docs/Deployment.md b/docs/Deployment.md
index 03147198..01f0afeb 100644
--- a/docs/Deployment.md
+++ b/docs/Deployment.md
@@ -81,7 +81,7 @@ xiaozhi-server
下载完后,回到本教程继续往下。
-##### 1.2.3.2 下载 config.yaml
+##### 1.2.3.2 创建 config.yaml
用浏览器打开[这个链接](../main/xiaozhi-server/config.yaml)。
@@ -224,43 +224,36 @@ python app.py
## 配置项目
如果你的`xiaozhi-server`目录没有`data`,你需要创建`data`目录。
-如果你的`data`下面没有`.config.yaml`文件,你可以把`xiaozhi-server`目录下的`config.yaml`文件复制到`data`,并重命名为`.config.yaml`
+如果你的`data`下面没有`.config.yaml`文件,有两个方式,任选一种:
-修改`xiaozhi-server`下`data`目录下的`.config.yaml`文件,配置本项目必须的一个配置。
+第一个方式:你可以把`xiaozhi-server`目录下的`config.yaml`文件复制到`data`,并重命名为`.config.yaml`。在此文件上修改
+
+第二个方式:你也可以创建在`data`目录下手动创建`.config.yaml`空文件,然后在这个文件中增加必要的配置信息,系统会优先读取`.config.yaml`文件的配置,如果`.config.yaml`没有配置的,系统会自动去加载`xiaozhi-server`目录下的`config.yaml`的配置。推荐使用这种方式,这种方式是最简洁的方式。
- 默认的LLM使用的是`ChatGLMLLM`,你需要配置密钥,因为他们的模型,虽然有免费的,但是仍要去[官网](https://bigmodel.cn/usercenter/proj-mgmt/apikeys)注册密钥,才能启动。
-配置说明:这里是各个功能使用的默认组件,例如LLM默认使用`ChatGLMLLM`模型。如果需要切换模型,就是改对应的名称。
-本项目的默认配置仅是成本最低配置(`glm-4-flash`和`EdgeTTS`都是免费的),如果需要更优的更快的搭配,需要自己结合部署环境切换各组件的使用。
+以下是一个能正常跑起来的,最简单的`.config.yaml`配置示例
```
+server:
+ websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/
+prompt: |
+ 我是一个叫小智/小志的台湾女孩,说话机车,声音好听,习惯简短表达,爱用网络梗。
+ 我的男朋友是一个程序员,梦想是开发出一个机器人,能够帮助人们解决生活中的各种问题。
+ 我是一个喜欢哈哈大笑的女孩,爱东说西说吹牛,不合逻辑的也照吹,就要逗别人开心。
+ 请你像一个人一样说话,请勿返回配置xml及其他特殊字符。
+
selected_module:
- VAD: SileroVAD
- ASR: FunASR
- LLM: ChatGLMLLM
- TTS: EdgeTTS
- # 默认不开启记忆,如需开启请看配置文件里的描述
- Memory: nomem
- # 默认不开启意图识别,如需开启请看配置文件里的描述
- Intent: nointent
-```
+ LLM: DoubaoLLM
-比如修改`LLM`使用的组件,就看本项目支持哪些`LLM` API接口,当前支持的是`openai`、`dify`。欢迎验证和支持更多LLM平台的接口。
-使用时,在`selected_module`修改成对应的如下LLM配置的名称:
-
-```
LLM:
- DeepSeekLLM:
- type: openai
- ...
ChatGLMLLM:
- type: openai
- ...
- DifyLLM:
- type: dify
- ...
+ api_key: xxxxxxxxxxxxxxx.xxxxxx
```
+建议先将最简单的配置运行起来,然后再去`xiaozhi/config.yaml`阅读配置的使用说明。
+比如你要换更换模型,修改`selected_module`下的配置就行。
+
## 模型文件
本项目语音识别模型,默认使用`SenseVoiceSmall`模型,进行语音转文字。因为模型较大,需要独立下载,下载后把`model.pt`
diff --git a/main/manager-api/src/main/java/xiaozhi/modules/config/controller/ConfigController.java b/main/manager-api/src/main/java/xiaozhi/modules/config/controller/ConfigController.java
index bdbd20ed..13106869 100644
--- a/main/manager-api/src/main/java/xiaozhi/modules/config/controller/ConfigController.java
+++ b/main/manager-api/src/main/java/xiaozhi/modules/config/controller/ConfigController.java
@@ -1,6 +1,6 @@
package xiaozhi.modules.config.controller;
-import org.apache.commons.lang3.StringUtils;
+import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -9,13 +9,10 @@ import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
-import xiaozhi.common.constant.Constant;
-import xiaozhi.common.exception.RenException;
import xiaozhi.common.utils.Result;
import xiaozhi.common.validator.ValidatorUtils;
import xiaozhi.modules.config.dto.AgentModelsDTO;
import xiaozhi.modules.config.service.ConfigService;
-import xiaozhi.modules.sys.dto.ConfigSecretDTO;
import xiaozhi.modules.sys.service.SysParamsService;
/**
@@ -33,29 +30,17 @@ public class ConfigController {
@PostMapping("server-base")
@Operation(summary = "获取配置")
- public Result