--- title: MahjongGameDesigner emoji: 🀄️ colorFrom: green colorTo: yellow sdk: gradio sdk_version: 5.9.1 app_file: app.py pinned: false --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference ## 这是什么 MahjongGameDesigner 是一个“麻将玩法生成与迭代”工具,输出三类交付物: - **自然语言规则说明**(可直接给策划/制作/评审) - **mGDL v1.3**(结构化规则描述,用于规范化与落地) - **思维日志(设计日志)**(融合清单、冲突桥接、推演摘要、落地映射,便于人工复核) 工具提供两种关键能力: - **Analyse 模式(单问题迭代)**:通过多轮问答把需求场景收敛到可生成状态(不生成 mGDL) - **可控迭代(DesignState 驱动)**:基于上轮 DesignState 做最小修改,并限制本轮允许修改范围,减少漂移 ## 快速开始(推荐流程) ### 1) 先用 Analyse 模式把需求收敛 1. 勾选:`Analyse 模式:单问题迭代完善需求(不生成mGDL)` 2. 在聊天框描述你的目标(例:想做“血战类 + 扎鸟机制 + 更强互动”的新玩法) 3. 模型每轮只会问你 1 个最关键问题,并输出: - 本轮增量思维日志(≤200字) - DesignState(JSON) - `READY_TO_GENERATE: true/false` 4. 当 READY 为 true(或你认为信息已经足够),进入第2步 ### 2) 一键生成完整玩法交付物 点击按钮:`基于当前 DesignState 生成完整玩法` 生成完成后可下载: - `gdl_output.txt`(mGDL) - `narrative_output.txt`(自然语言规则) - `design_log_output.txt`(思维日志 / 设计日志) ### 3) 继续可控迭代(局部优化而不重写) 1. 取消勾选 Analyse 模式 2. 勾选:`启用可控迭代:基于上轮 DesignState 做最小修改` 3. 选择“本轮允许修改范围”(例如:仅优化创新机制) 4. 输入你的改动诉求(例:把主机制触发从“胡牌后”改成“听牌后”,并降低随机性) 系统会在输出后做一次“范围越界”提示(软提示,不会中断生成),帮助你保持“最小修改、低漂移”的多轮迭代。 ## 输出与导出 - 自然语言与 mGDL 会自动从模型输出中提取并保存到 `exports/` 下 - 思维日志会从 `### 设计日志(创新推演摘要)` 段落提取并保存到 `exports/design_log_output.txt` - 在 Analyse 模式下不会导出上述文件(因为 Analyse 模式不生成完整交付物) ## 当前阶段的规则准确性重点(必读) 现阶段主要聚焦“既有机制组合”,但必须保证麻将底层物理逻辑准确(手牌守恒、吃碰杠轮次、牌墙转移等)。因此生成模式下请重点检查输出是否包含并一致: - 《动作—手牌变化—轮次影响表》 - 3段《最小回合推演》(普通/碰/杠,每行标注手牌张数变化) - mGDL 的 `(invariants ...)` 中包含牌数守恒与“回合结束手牌恒为13”的约束 ## 生成质量增强(默认开启) 为提升“玩法理解”与“创新落地”,系统默认会自动注入: - `m_prompt.txt`:系统提示词规范(含自检、最小修复、输出格式) - `麻将游戏mGDL通用语法_v1.3.txt`:mGDL v1.3 语法约束(用于保证输出形式) - 与用户输入最相关的少量参考玩法 `.md`(规则真理,RAG 语义参考) - `麻将机制说明.md`:机制词典(用于创新机制选型) ## 环境变量(可选) ### API / 模型 - `DEEPSEEK_API_KEY`:API Key - `DEEPSEEK_BASE_URL`:OpenAI 兼容 Base URL - `MODEL_NAME`:模型名 ### RAG / 参考注入 - `ENABLE_REFERENCE_RETRIEVAL=1|0`:是否启用参考玩法检索注入(默认 1) - `REFERENCE_MAX_VARIANTS=3`:最多注入多少个参考玩法(默认 3) - `INJECT_REFERENCE_MGDL=1|0`:是否注入参考玩法 mGDL(默认 0;通常不建议,语义参考以 .md 为主) - `INJECT_ALL_EXAMPLE_GDL=1|0`:是否额外注入全量示例 mGDL(默认 0,不推荐) ### 校验与修复 - `ENABLE_OUTPUT_VALIDATION=1|0`:是否对生成结果做静态校验提示(默认 1) - `ENABLE_AUTO_REPAIR=1|0`:非流式路径下是否自动触发一次“最小修改修复”(默认 0) ## 常见问题 ### 为什么 Analyse 模式不输出 mGDL? Analyse 模式的目标是“收敛需求”,每轮只问 1 个关键问题并更新 DesignState,避免边问边生成导致漂移。READY 后请用“一键生成”得到完整交付物。 ### 为什么会看到“静态校验”提示? 生成模式下,系统会对输出做轻量检查(例如缺少 mGDL、缺少核心模块、缺少设计日志等)。这只是提示,不会阻断;你也可以在环境变量中关闭校验提示。