新增功能: - 天网协作系统 (HTTP API 端口 6060) - 三种工作流 (查找图片/处理图片/转人工派单) - 图片任务数据库 (支持客户后续增加需求) - 图绘派单系统集成 (API: 8005) - 文字检测与加价 (60-80 元高价值订单) - 风险评估与接单判断 - 作图失败自动转人工 新增文档: - 项目功能汇总.md - 三种工作流功能说明.md - 文字加价功能说明.md - 风险评估功能说明.md - 图片任务数据库功能说明.md - 图绘派单系统集成说明.md - 作图失败转接人工说明.md - DEPLOYMENT.md - TIANWANG_INTEGRATION.md 核心修改: - core/pydantic_ai_agent.py - core/workflow.py - core/websocket_client.py - image/image_analyzer.py - services/service_tuhui_dispatch.py - db/image_tasks_db.py 版本:v1.0 日期:2026-02-28
50 lines
1.9 KiB
Python
Executable File
50 lines
1.9 KiB
Python
Executable File
# -*- coding: utf-8 -*-
|
|
"""
|
|
配置中心 - 统一管理路径、常量
|
|
"""
|
|
import os
|
|
from pathlib import Path
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
# ========== 项目路径 ==========
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
LOG_DIR = ROOT / "logs"
|
|
RESULTS_DIR = Path(os.getenv("RESULT_IMAGE_DIR", str(ROOT / "results")))
|
|
CONFIG_DIR = ROOT / "config"
|
|
CUSTOMER_DB_DIR = ROOT / "customer_db"
|
|
|
|
# ========== 轻简 ==========
|
|
QINGJIAN_WS_URI = os.getenv("QINGJIAN_WS_URI", "ws://127.0.0.1:9528")
|
|
|
|
# ========== 企微 ==========
|
|
WECHAT_WEBHOOK = os.getenv("WECHAT_WEBHOOK", "")
|
|
|
|
# ========== 日志 ==========
|
|
LOG_MAX_BYTES = int(os.getenv("LOG_MAX_BYTES", "10")) * 1024 * 1024 # 默认 10MB
|
|
LOG_BACKUP_COUNT = int(os.getenv("LOG_BACKUP_COUNT", "7"))
|
|
|
|
# ========== 图片队列 ==========
|
|
IMAGE_QUEUE_MAX_CONCURRENT = int(os.getenv("IMAGE_QUEUE_MAX_CONCURRENT", "2"))
|
|
IMAGE_QUEUE_MAX_SIZE = int(os.getenv("IMAGE_QUEUE_MAX_SIZE", "20"))
|
|
|
|
# ========== 健康检查 ==========
|
|
HEALTH_CHECK_INTERVAL = int(os.getenv("HEALTH_CHECK_INTERVAL", "60")) # 秒
|
|
HEALTH_CHECK_WECHAT_PING = os.getenv("HEALTH_CHECK_WECHAT_PING", "false").lower() in ("1", "true", "yes")
|
|
HEALTH_CHECK_STARTUP_GRACE = int(os.getenv("HEALTH_CHECK_STARTUP_GRACE", "15"))
|
|
HEALTH_CHECK_QINGJIAN_ALERTS_ENABLED = os.getenv("HEALTH_CHECK_QINGJIAN_ALERTS_ENABLED", "false").lower() in ("1", "true", "yes")
|
|
|
|
# ========== 功能开关 ==========
|
|
IMAGE_MODULE_ENABLED = os.getenv("IMAGE_MODULE_ENABLED", "false").lower() in ("1", "true", "yes")
|
|
|
|
# ========== 防抖配置 ==========
|
|
MESSAGE_DEBOUNCE_SECONDS = int(os.getenv("MESSAGE_DEBOUNCE_SECONDS", "8"))
|
|
|
|
# ========== AI 上下文加载 ==========
|
|
CHAT_CONTEXT_LIMIT = int(os.getenv("CHAT_CONTEXT_LIMIT", "30"))
|
|
CHAT_CONTEXT_TRUNCATE_LEN = int(os.getenv("CHAT_CONTEXT_TRUNCATE_LEN", "160"))
|
|
|
|
# ========== 报价底线 ==========
|
|
MIN_PRICE_FLOOR = int(os.getenv("MIN_PRICE_FLOOR", "15"))
|