"""Скрипт для миграции промптов.""" import argparse import json from pathlib import Path from prompts.chat_prompts import CHAT_SYSTEM_PROMPT from prompts.persona import EARTH_PERSONA from prompts.schedule_prompts import SCHEDULE_GENERATION_PROMPT, SCHEDULE_UPDATE_PROMPT def export_prompts(output_file: str): """Экспортировать все промпты в JSON.""" prompts = { "persona": { "name": "Earth Persona", "content": EARTH_PERSONA, }, "schedule_generation": { "name": "Schedule Generation Prompt", "content": SCHEDULE_GENERATION_PROMPT, }, "schedule_update": { "name": "Schedule Update Prompt", "content": SCHEDULE_UPDATE_PROMPT, }, "chat_system": { "name": "Chat System Prompt", "content": CHAT_SYSTEM_PROMPT, }, } with open(output_file, "w", encoding="utf-8") as f: json.dump(prompts, f, ensure_ascii=False, indent=2) print(f"Промпты экспортированы в {output_file}") def import_prompts(input_file: str): """Импортировать промпты из JSON (для будущего использования).""" with open(input_file, "r", encoding="utf-8") as f: prompts = json.load(f) print(f"Импортировано {len(prompts)} промптов:") for key, value in prompts.items(): print(f" - {value['name']}: {len(value['content'])} символов") def main(): """Главная функция.""" parser = argparse.ArgumentParser(description="Миграция промптов") parser.add_argument( "action", choices=["export", "import"], help="Действие: export или import", ) parser.add_argument( "--file", type=str, default="prompts.json", help="Файл для экспорта/импорта", ) args = parser.parse_args() if args.action == "export": export_prompts(args.file) elif args.action == "import": import_prompts(args.file) if __name__ == "__main__": main()