This commit is contained in:
2026-04-08 11:00:31 +08:00
parent fb21a127b5
commit 7019cf180d
17 changed files with 960 additions and 1 deletions

41
wechat-bot/config.py Normal file
View 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