init
This commit is contained in:
41
wechat-bot/config.py
Normal file
41
wechat-bot/config.py
Normal file
@@ -0,0 +1,41 @@
|
||||
"""
|
||||
全局配置模块
|
||||
从 .env 文件加载所有配置项,提供统一的配置访问接口。
|
||||
"""
|
||||
import os
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# 项目根目录
|
||||
BASE_DIR = Path(__file__).parent
|
||||
|
||||
# 加载 .env 文件
|
||||
load_dotenv(BASE_DIR / ".env")
|
||||
|
||||
|
||||
class Config:
|
||||
"""全局配置类,所有配置项均从环境变量读取"""
|
||||
|
||||
# ---- 企业微信机器人 ----
|
||||
WECHAT_BOT_ID: str = os.getenv("WECHAT_BOT_ID", "")
|
||||
WECHAT_BOT_SECRET: str = os.getenv("WECHAT_BOT_SECRET", "")
|
||||
|
||||
# ---- 远程 Agent 服务 ----
|
||||
AGENT_BASE_URL: str = os.getenv("AGENT_BASE_URL", "http://127.0.0.1:8000")
|
||||
AGENT_APP_NAME: str = os.getenv("AGENT_APP_NAME", "root_agent")
|
||||
AGENT_TIMEOUT: int = int(os.getenv("AGENT_TIMEOUT", "120"))
|
||||
|
||||
# ---- 服务配置 ----
|
||||
LOG_LEVEL: str = os.getenv("LOG_LEVEL", "INFO")
|
||||
|
||||
@classmethod
|
||||
def validate(cls) -> list[str]:
|
||||
"""校验必要配置项,返回缺失项列表"""
|
||||
missing = []
|
||||
if not cls.WECHAT_BOT_ID:
|
||||
missing.append("WECHAT_BOT_ID")
|
||||
if not cls.WECHAT_BOT_SECRET:
|
||||
missing.append("WECHAT_BOT_SECRET")
|
||||
if not cls.AGENT_BASE_URL:
|
||||
missing.append("AGENT_BASE_URL")
|
||||
return missing
|
||||
Reference in New Issue
Block a user