zhongchuyi
Upgrade controllable iteration: analyse mode + design log export
825a24e
"""
配置文件 - 集中管理应用配置
"""
import os
# ==================== API 配置 ====================
# DeepSeek V3 API 配置
API_KEY = os.getenv("DEEPSEEK_API_KEY") or "tmBBchNoClGSrUmV"
API_BASE_URL = os.getenv("DEEPSEEK_BASE_URL") or "http://env-cvcgvp6m1hkmaaarobeg-cn-wulanchabu.alicloudapi.com/v1"
MODEL_NAME = os.getenv("MODEL_NAME") or "DeepSeek-V3-0324"
if not API_KEY:
print("⚠️ 警告:未找到 DEEPSEEK_API_KEY 环境变量")
print("请设置环境变量:export DEEPSEEK_API_KEY='your-api-key'")
# 模型参数配置
MAX_TOKENS = 8192
TEMPERATURE = 0.85
TOP_P = 0.9
# ==================== 文件处理配置 ====================
# 上传GDL文本的本地合并上限(仅本地拼接、非服务端限制)
MAX_FILE_CHARS = 200000
SUPPORTED_FILE_TYPES = [".txt"]
# ==================== 默认提示词 ====================
SYSTEM_PROMPT = """你是一位资深的麻将与东亚棋牌玩法设计专家,熟悉各地番型体系、操作节奏与现代桌游融合设计手法。
请根据用户需求,输出兼具创新性与可落地性的麻将玩法方案(包含番型结构、组件、流程与体验亮点)。"""
# ==================== UI 配置 ====================
APP_TITLE = "🀄️ 麻将玩法创意工坊"
CHATBOT_HEIGHT = 640
MIN_WIDTH_LEFT = 320
MIN_WIDTH_RIGHT = 640
# ==================== 生成质量增强(可开关) ====================
# 是否启用“参考玩法检索注入”(只注入与用户需求最相关的少量参考,而不是全量示例堆叠)
ENABLE_REFERENCE_RETRIEVAL = (os.getenv("ENABLE_REFERENCE_RETRIEVAL") or "1").strip() == "1"
# 最多注入多少个参考玩法(每个玩法会注入 .md(主) + 对应 mGDL(辅))
REFERENCE_MAX_VARIANTS = int((os.getenv("REFERENCE_MAX_VARIANTS") or "3").strip())
# 是否注入“参考玩法 mGDL”(默认关闭;mGDL更适合做语法约束而非RAG语义参考)
INJECT_REFERENCE_MGDL = (os.getenv("INJECT_REFERENCE_MGDL") or "0").strip() == "1"
# 是否仍注入全量示例 mGDL(不推荐,容易稀释注意力)
INJECT_ALL_EXAMPLE_GDL = (os.getenv("INJECT_ALL_EXAMPLE_GDL") or "0").strip() == "1"
# 是否对模型输出做静态校验(缺模块/占位符/缺少 mGDL 等)
ENABLE_OUTPUT_VALIDATION = (os.getenv("ENABLE_OUTPUT_VALIDATION") or "1").strip() == "1"
# 非流式路径下:校验失败时是否自动追加一次“最小修改修复”调用(成本更高,但更稳)
ENABLE_AUTO_REPAIR = (os.getenv("ENABLE_AUTO_REPAIR") or "0").strip() == "1"