"""Central configuration for the ChatFast backend.""" from pathlib import Path import os from urllib.parse import quote_plus BASE_DIR = Path(__file__).resolve().parent.parent DATA_DIR = BASE_DIR / "data" BACKUP_DIR = BASE_DIR / "data_bak" BLOG_DIR = BASE_DIR / "blog" UPLOAD_DIR = BASE_DIR / "uploads" STATIC_DIR = BASE_DIR / "static" MYSQL_HOST = os.getenv("CHATFAST_DB_HOST", "127.0.0.1") MYSQL_PORT = int(os.getenv("CHATFAST_DB_PORT", "3306")) MYSQL_USER = os.getenv("CHATFAST_DB_USER", "root") MYSQL_PASSWORD = os.getenv("CHATFAST_DB_PASSWORD", "792199Zhao*") DATABASE_NAME = os.getenv("CHATFAST_DB_NAME", "chat_fast") ENCODED_PASSWORD = quote_plus(MYSQL_PASSWORD) RAW_DATABASE_URL = ( f"mysql+pymysql://{MYSQL_USER}:{ENCODED_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/?charset=utf8mb4" ) DATABASE_URL = ( f"mysql+pymysql://{MYSQL_USER}:{ENCODED_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{DATABASE_NAME}?charset=utf8mb4" ) TOKEN_TTL_HOURS = int(os.getenv("CHATFAST_TOKEN_TTL_HOURS", "72")) DEFAULT_ADMIN_USERNAME = os.getenv("CHATFAST_DEFAULT_ADMIN", "admin") DEFAULT_ADMIN_PASSWORD = os.getenv("CHATFAST_DEFAULT_ADMIN_PASSWORD", "Admin@123") # 默认上传文件下载地址,可通过环境变量覆盖 DEFAULT_UPLOAD_BASE = os.getenv("UPLOAD_BASE_URL", "/download/") DOWNLOAD_BASE = DEFAULT_UPLOAD_BASE.rstrip("/") if DEFAULT_UPLOAD_BASE else "" # 模型配置 default_key = "sk-re2NlaKIQn11ZNWzAbB6339cEbF94c6aAfC8B7Ab82879bEa" MODEL_KEYS = { "grok-3": default_key, "grok-4": default_key, "gpt-5.1-2025-11-13": default_key, "gpt-5-2025-08-07": default_key, "gpt-4o-mini": default_key, "o1-mini": default_key, "o4-mini": default_key, "deepseek-v3": default_key, "deepseek-r1": default_key, "gpt-4o-all": default_key, "o3-mini-all": default_key, } API_URL = "https://yunwu.ai/v1"