From ed7fea0b468d188b80b8b4115ad3ea11c13496bb Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Sun, 16 Feb 2025 10:37:43 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E9=87=8D=E6=96=B0=E8=A7=84?= =?UTF-8?q?=E5=88=92=E7=A7=81=E6=9C=89=E6=96=87=E4=BB=B6=E7=9A=84=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 4 ++-- README.md | 5 +++-- config.yaml | 3 ++- config/logger.py | 3 ++- config/private_config.py | 2 +- docs/docker-build.md | 2 +- manager/api/config.py | 7 +++---- manager/api/user_manager.py | 4 +++- 8 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.dockerignore b/.dockerignore index 3fb61154..6a33ae9e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,7 +5,7 @@ __pycache__ Dockerfile docs/ tmp/ +data/ LICENSE README.md -README_en.md -.config.yaml \ No newline at end of file +README_en.md \ No newline at end of file diff --git a/README.md b/README.md index a694ceb4..21799b8c 100644 --- a/README.md +++ b/README.md @@ -324,8 +324,9 @@ pip install -r requirements.txt ``` # 如果您是一名开发者,建议阅读以下内容。如果不是开发者,可以忽略这部分内容。 -在开发中,建议将【config.yaml】复制一份,改成【.config.yaml】。 系统会优先读取【.config.yaml】文件的配置。 -这样做,可以避免在提交代码的时候,错误地提交密钥信息,保护您的密钥安全。 +# 在开发中,在项目根目录创建data目录,将【config.yaml】复制一份,改成【.config.yaml】,放进data目录中 +# 系统会优先读取【data/.config.yaml】文件的配置。 +# 这样做,可以避免在提交代码的时候,错误地提交密钥信息,保护您的密钥安全。 ``` 配置说明:这里是各个功能使用的默认组件,例如LLM默认使用`ChatGLMLLM`模型。如果需要切换模型,就是改对应的名称。 diff --git a/config.yaml b/config.yaml index f5e2e49d..9ec38950 100644 --- a/config.yaml +++ b/config.yaml @@ -1,5 +1,6 @@ # 如果您是一名开发者,建议阅读以下内容。如果不是开发者,可以忽略这部分内容。 -# 在开发中,建议将【config.yaml】复制一份,改成【.config.yaml】。 系统会优先读取【.config.yaml】文件的配置。 +# 在开发中,在项目根目录创建data目录,将【config.yaml】复制一份,改成【.config.yaml】,放进data目录中 +# 系统会优先读取【data/.config.yaml】文件的配置。 # 这样做,可以避免在提交代码的时候,错误地提交密钥信息,保护您的密钥安全。 # 服务器基础配置(Basic server configuration) diff --git a/config/logger.py b/config/logger.py index e5c9a263..c3b82992 100644 --- a/config/logger.py +++ b/config/logger.py @@ -3,9 +3,10 @@ import sys import os -def setup_logging(log_dir='tmp'): +def setup_logging(log_dir='tmp', data_dir='data'): """配置全局日志""" os.makedirs(log_dir, exist_ok=True) + os.makedirs(data_dir, exist_ok=True) logging.basicConfig( level=logging.INFO, diff --git a/config/private_config.py b/config/private_config.py index 9a5332ce..42198cba 100644 --- a/config/private_config.py +++ b/config/private_config.py @@ -11,7 +11,7 @@ class PrivateConfig: def __init__(self, device_id: str, default_config: Dict[str, Any]): self.device_id = device_id self.default_config = default_config - self.config_path = get_project_dir() + '.private_config.yaml' + self.config_path = get_project_dir() + 'data/.private_config.yaml' self.logger = logging.getLogger(__name__) self.private_config = {} diff --git a/docs/docker-build.md b/docs/docker-build.md index e0531abd..a4ed16db 100644 --- a/docs/docker-build.md +++ b/docs/docker-build.md @@ -13,7 +13,7 @@ docker build -t xiaozhi-esp32-server:local -f ./Dockerfile . docker stop xiaozhi-esp32-server docker rm xiaozhi-esp32-server -docker run -d --name xiaozhi-esp32-server --restart always -p 8000:8000 -v $(pwd)/.config.yaml:/opt/xiaozhi-esp32-server/config.yaml xiaozhi-esp32-server:local +docker run -d --name xiaozhi-esp32-server --restart always -p 8000:8000 -v $(pwd)/data/.config.yaml:/opt/xiaozhi-esp32-server/config.yaml xiaozhi-esp32-server:local docker logs -f xiaozhi-esp32-server diff --git a/manager/api/config.py b/manager/api/config.py index 975219b0..0897f616 100644 --- a/manager/api/config.py +++ b/manager/api/config.py @@ -2,7 +2,6 @@ import os import yaml import logging from aiohttp import web -from typing import Dict, Any from core.utils.util import get_project_dir from config.private_config import PrivateConfig @@ -10,11 +9,11 @@ logger = logging.getLogger(__name__) class ConfigHandler: def __init__(self): - self.private_config_path = get_project_dir() + '.private_config.yaml' + self.private_config_path = get_project_dir() + 'data/.private_config.yaml' self.config_path = get_project_dir() + 'config.yaml' # 如果存在.config.yaml文件,则使用该文件 - if os.path.exists(get_project_dir() + ".config.yaml"): - self.config_path = get_project_dir() + ".config.yaml" + if os.path.exists(get_project_dir() + "data/.config.yaml"): + self.config_path = get_project_dir() + "data/.config.yaml" with open(self.config_path, 'r', encoding='utf-8') as f: self.config = yaml.safe_load(f) diff --git a/manager/api/user_manager.py b/manager/api/user_manager.py index 94e89276..fb0a6ca3 100644 --- a/manager/api/user_manager.py +++ b/manager/api/user_manager.py @@ -2,12 +2,14 @@ import os import yaml import hashlib import logging +from core.utils.util import get_project_dir logger = logging.getLogger(__name__) + class UserManager: def __init__(self): - self.secrets_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), '.secrets.yaml') + self.secrets_path = get_project_dir() + 'data/.secrets.yaml' self.users = {} self.ensure_secrets_file() self.load_user_data()