feat: 服务层配置接线——email/push/rate_limit/AI凭据/行为开关/映射表/种子键
Task 9: 服务层对全局 settings 的业务引用清零,每个 DEFAULT_CONFIG 组 都有真实消费方。resolve_*_settings(email/push/ai)以空槽回退 env (平台默认层);contact 行为开关/种子白名单/国名扩表/限流上限经 manager 的 runtime.config 接线。收口: lead_push session_factory 必填、 config.py 死代码清理、PromptProvider frozen、no_contact 视图直取、 AIService wall 参数定型 CompiledWall。403 测试全绿(389+14)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
+10
-8
@@ -1,6 +1,15 @@
|
||||
from pydantic_settings import BaseSettings
|
||||
"""进程级环境配置(.env)——Phase 1 的"平台默认"层。
|
||||
|
||||
Task 9 后业务参数(邮件/推送/AI 凭据)优先读租户 config(engine 服务的
|
||||
resolve_*_settings 空槽回退到这里);本文件只剩部署级开关与平台默认密钥。
|
||||
Task 9 死代码清理: DATABASE_URL/ensure_dirs/DATA_DIR 已无消费方(每租户
|
||||
独立 SQLite 由 registry.make_tenant_engine 构造)——删除;ADMIN_PASSWORD
|
||||
保留(Phase 2 超管初始密码引导用)。
|
||||
"""
|
||||
from pathlib import Path
|
||||
|
||||
from pydantic_settings import BaseSettings
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
APP_HOST: str = "0.0.0.0"
|
||||
@@ -14,8 +23,6 @@ class Settings(BaseSettings):
|
||||
ZHIPU_BASE_URL: str = ""
|
||||
AI_MODEL: str = "glm-4-flash"
|
||||
|
||||
DATABASE_URL: str = "sqlite+aiosqlite:///./data/hesupipe_ai_kefu.db"
|
||||
|
||||
SMTP_HOST: str = ""
|
||||
SMTP_PORT: int = 465
|
||||
SMTP_USER: str = ""
|
||||
@@ -41,11 +48,6 @@ class Settings(BaseSettings):
|
||||
|
||||
# app/engine/config.py 比 jc 的 app/config.py 深一层,多退一级才到项目根
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
||||
DATA_DIR = BASE_DIR / "data"
|
||||
STATIC_DIR = BASE_DIR / "static"
|
||||
|
||||
settings = Settings()
|
||||
|
||||
|
||||
def ensure_dirs():
|
||||
DATA_DIR.mkdir(exist_ok=True)
|
||||
|
||||
Reference in New Issue
Block a user