# ================================
# Environment Configuration File
# 环境配置文件
# ================================
# 
# 职责：
# 1. 存储所有可配置的环境变量
# 2. 作为配置的主要数据源
# 3. 支持不同环境的配置切换
# 
# 使用说明：
# - 修改此文件中的值来自定义系统配置
# - 重启应用后配置生效
# - 请勿将包含敏感信息的.env文件提交到版本控制
# ================================

# ================================
# API Keys - API密钥配置
# ================================
DEEPSEEK_API_KEY=your_deepseek_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
GLM_API_KEY=43048e325db34167b702ae5cce47d056.U1bvwMk4amPJxyYY
# Qwen/DashScope API Key (两个名称指向同一个服务)
DASHSCOPE_API_KEY=sk-0d10ddfead5b43ba97adfbb4c4473f87

# ================================
# Agent Model Configuration - 智能体模型配置
# ================================
# 主要配置：各智能体使用的模型和提供商
THINKER_MODEL=glm-4.5-flash
THINKER_PROVIDER=glm
COMMANDER_MODEL=glm-4.5-flash
COMMANDER_PROVIDER=glm
REFLECTOR_META_MODEL=glm-4.5-flash
REFLECTOR_META_PROVIDER=glm
REFLECTOR_VISION_MODEL=glm-4.5-flash
REFLECTOR_VISION_PROVIDER=glm

# ================================
# Network Configuration - 网络配置
# ================================
# 代理配置 - 与系统环境代理保持一致
PROXY_TYPE=none
CUSTOM_PROXY_HTTP=http://127.0.0.1:7897
CUSTOM_PROXY_HTTPS=http://127.0.0.1:7897

# ================================
# Reflector Configuration - Reflector配置
# ================================
# Reflector历史记录轮次配置
REFLECTOR_HISTORY_ROUNDS=2
# Reflector历史记录最大条目数
REFLECTOR_MAX_HISTORY_ENTRIES=10

# ================================
# Logging Configuration - 日志配置
# ================================
LOG_LEVEL=INFO

# ================================
# Timeout Configuration - 超时配置
# ================================
# Adobe连接配置
ADOBE_TIMEOUT=30

# API超时配置
API_TIMEOUT=120

# ================================
# LLM Generation Parameters - LLM生成参数配置
# ================================
MAX_OUTPUT_TOKENS=8192
TEMPERATURE=0.7
TOP_P=0.8
TOP_K=40

# ================================
# File Path Configuration - 文件路径配置
# ================================
EXPORT_OUTPUT_DIR=output
LOG_FILE_PATH=agent_debug.log
JSX_LOG_DIR=logs
JSX_LOG_FILE=jsx_execution.log

# ================================
# Workflow Parameters - 工作流参数
# ================================
DEFAULT_MAX_ITERATIONS=5

# 连接超时配置
CONNECTION_TIMEOUT=30

# ================================
# Port Configuration - 端口配置
# ================================
# 统一端口管理
FRONTEND_PORT=5178
BACKEND_PORT=8002
WEBSOCKET_PORT=8002
QWEN_CHAT_PORT=8003
ELECTRON_DEV_PORT=5179
PREVIEW_PORT=8089
OPEN_WEBUI_PORT=3001
DESIGN_AGENT_FRONTEND_PORT=5180

# 服务端口说明:
# 8002 - 统一后端服务 (FastAPI backend_service/gateway_server.py) - HTTP+WebSocket
# 8003 - QWEN聊天API服务 (Python qwen_chat_server.py) - 可选独立服务
# 5178 - 前端开发服务器 (SvelteKit chatWeb plugin)
# 5180 - DesignAgent专用前端服务器
# 3001 - Open WebUI服务端口
# 注意: WebSocket已统一到8002端口，无需独立WebSocket服务器

# ================================
# Local Executor Configuration - 本地执行器配置
# ================================
# 云端服务访问地址 - 指向统一后端服务
CLOUD_HTTP_BASE=http://localhost:8002
# 云端认证令牌（可选，如果云端服务需要认证）
CLOUD_AUTH_TOKEN=
# 本地执行器WebSocket服务主机
LOCAL_EXECUTOR_HOST=localhost
# 本地执行器WebSocket服务端口
LOCAL_EXECUTOR_PORT=8080
# 本地执行器最大并发任务数
LOCAL_MAX_CONCURRENCY=5
# Adobe应用程序
ADOBE_APP=Illustrator
# 是否启用周期性检查
ENABLE_PERIODIC_CHECK=true
# 是否优先本地离线模式
PREFER_LOCAL_OFFLINE=false

# ================================
# RAG Service Configuration - RAG服务配置
# ================================
RAG_SERVICE_HOST=127.0.0.1
RAG_SERVICE_PORT=8001

# ================================
# Fallback Model Configuration - 备用模型配置
# ================================
# 当主要配置的模型不可用时的备用选项
# 注意：这些配置仅在主要配置失效时使用，通常不需要修改
FALLBACK_THINKER_MODEL= glm-4.5-flash
FALLBACK_THINKER_PROVIDER=glm
FALLBACK_COMMANDER_MODEL= glm-4.5-flash
FALLBACK_COMMANDER_PROVIDER=glm
FALLBACK_REFLECTOR_META_MODEL= glm-4.5-flash
FALLBACK_REFLECTOR_META_PROVIDER=glm
FALLBACK_REFLECTOR_VISION_MODEL= glm-4.5-flash
FALLBACK_REFLECTOR_VISION_PROVIDER=glm
