""" 默认内容模块 - 存储预加载的 GDL 规范和 System Prompt """ import os # 默认 GDL 规范文件路径 DEFAULT_GDL_FILE = "麻将游戏mGDL通用语法_v1.3.txt" # 默认 System Prompt 文件路径 DEFAULT_PROMPT_FILE = "m_prompt.txt" # 支持的多个默认示例 GDL 文档文件名列表(扁平化结构) DEFAULT_EXAMPLE_GDL_FILES = [ "两门血战麻将_mGDL_v1.3.txt", "卡五星麻将_mGDL_v1.3.txt", "合肥麻将_mGDL_v1.3.txt", "妙手七星_mGDL_v1.3.txt", "山西扣点麻将_mGDL_v1.3.txt", "幺鸡血战_mGDL_v1.3.txt", "广东100张_mGDL_v1.3.txt", "广东鸡平胡_mGDL_v1.3.txt", "武汉麻将_mGDL_v1.3.txt", "海底捞月_mGDL_v1.3.txt", "疯狂血战_mGDL_v1.3.txt", "疯狂血流_mGDL_v1.3.txt", "红中麻将_mGDL_v1.3.txt", "经典推倒胡_mGDL_v1.3.txt", "贵州捉鸡麻将_mGDL_v1.3.txt", "长沙麻将_mGDL_v1.3.txt", ] # 支持的多个默认示例 Markdown 文档文件名列表(扁平化结构) DEFAULT_EXAMPLE_MD_FILES = [ "两门血战麻将.md", "卡五星麻将.md", "合肥麻将.md", "妙手七星.md", "山西扣点麻将.md", "幺鸡血战.md", "广东100张.md", "广东鸡平胡.md", "武汉麻将.md", "海底捞月.md", "疯狂血战.md", "疯狂血流.md", "红中麻将.md", "经典推倒胡.md", "贵州捉鸡麻将.md", "长沙麻将.md", "麻将机制说明.md", ] def load_default_gdl(): """ 加载默认的 GDL 规范内容 """ try: gdl_path = os.path.join(os.path.dirname(__file__), DEFAULT_GDL_FILE) if os.path.exists(gdl_path): with open(gdl_path, "r", encoding="utf-8") as f: return f.read() except Exception as e: print(f"⚠️ 加载默认 GDL 文件失败:{e}") return "" def load_default_prompt(): """ 加载默认的 System Prompt 内容 """ try: prompt_path = os.path.join(os.path.dirname(__file__), DEFAULT_PROMPT_FILE) if os.path.exists(prompt_path): with open(prompt_path, "r", encoding="utf-8") as f: return f.read() except Exception as e: print(f"⚠️ 加载默认 Prompt 文件失败:{e}") return "" def load_default_example_gdl(): """ 加载默认的示例 GDL 文档内容 """ try: base_dir = os.path.dirname(__file__) parts = [] for filename in DEFAULT_EXAMPLE_GDL_FILES: if not filename: continue # 假定所有文件都在同一目录下 example_path = os.path.join(base_dir, filename) if os.path.exists(example_path): try: with open(example_path, "r", encoding="utf-8") as f: content = f.read() if content: parts.append(f"\n# FILE: {os.path.basename(example_path)}\n" + content.strip() + "\n") except Exception as inner_e: print(f"⚠️ 加载默认示例 GDL 文件失败:{example_path},错误:{inner_e}") return "\n".join(parts).strip() except Exception as e: print(f"⚠️ 加载默认示例 GDL 文件失败:{e}") return "" def load_default_example_md(): """ 加载默认的示例 Markdown 文档内容 """ try: base_dir = os.path.dirname(__file__) parts = [] for filename in DEFAULT_EXAMPLE_MD_FILES: if not filename: continue # 假定所有文件都在同一目录下 example_path = os.path.join(base_dir, filename) if os.path.exists(example_path): try: with open(example_path, "r", encoding="utf-8") as f: content = f.read() if content: parts.append(f"\n# FILE: {os.path.basename(example_path)}\n" + content.strip() + "\n") except Exception as inner_e: print(f"⚠️ 加载默认示例 Markdown 文件失败:{example_path},错误:{inner_e}") return "\n".join(parts).strip() except Exception as e: print(f"⚠️ 加载默认示例 Markdown 文件失败:{e}") return "" # 在模块加载时预加载内容(提高性能) DEFAULT_GDL_CONTENT = load_default_gdl() DEFAULT_PROMPT_CONTENT = load_default_prompt() DEFAULT_EXAMPLE_GDL_CONTENT = load_default_example_gdl() DEFAULT_EXAMPLE_MD_CONTENT = load_default_example_md() def get_default_gdl(): return DEFAULT_GDL_CONTENT def get_default_prompt(): return DEFAULT_PROMPT_CONTENT def get_default_example_gdl(): return DEFAULT_EXAMPLE_GDL_CONTENT def get_default_example_md(): return DEFAULT_EXAMPLE_MD_CONTENT