@@ -450,8 +450,9 @@ async def dream_memory(self, **kwargs) -> None:
450450 """
451451 logger .info ("running dream-based memory optimization" )
452452
453- self .dream_path = Path (self .working_dir ).absolute () / "dream"
454- self .dream_path .mkdir (parents = True , exist_ok = True )
453+ # Create backup directory to store backup files
454+ self .backup_path = Path (self .working_dir ).absolute () / "backup"
455+ self .backup_path .mkdir (parents = True , exist_ok = True )
455456
456457 self ._prepare_model_formatter ()
457458
@@ -535,9 +536,8 @@ def _get_dream_prompt(
535536 "zh" : (
536537 "现在进入梦境状态,对长期记忆进行安全优化整理。请严格按照以下步骤操作,"
537538 "确保所有变更都有备份且可回滚。\n \n 【核心概念】\n "
538- "- DREAM.md:这是你自主管理的长期记忆沉淀文件,包含经过提炼的核心业务决策、用户偏好和高价值经验\n "
539- "- MEMORY.md:这是用户可直接编辑的参考文件,包含初始配置和用户手动添加的记忆\n "
540- "- 你的任务是维护和优化 DREAM.md,而不是直接修改 MEMORY.md\n \n "
539+ "- MEMORY.md:这是你的长期记忆文件,包含经过提炼的核心业务决策、用户偏好和高价值经验\n "
540+ "- 你的任务是直接维护和优化 MEMORY.md\n \n "
541541 "【梦境优化原则】\n "
542542 "1. 极简去冗:严禁记录流水账、Bug修复细节或单次任务。"
543543 "仅保留“核心业务决策”、“确认的用户偏好”与“高价值可复用经验”。\n "
@@ -546,44 +546,38 @@ def _get_dream_prompt(
546546 "3. 归纳整合:主动将零碎的相似规则提炼、合并为通用性强的独立条目。"
547547 "\n 4. 废弃剔除:主动删除已被证伪的假设或不再适用的陈旧条目。\n \n "
548548 "【安全操作流程】\n "
549- "⚠️ 重要:所有操作必须在 `dream/` 目录下进行,严禁直接修改根目录文件 !\n \n "
549+ "⚠️ 重要:在修改 MEMORY.md 之前必须先创建备份 !\n \n "
550550 f"当前日期: { current_date } \n \n "
551551 "步骤 1 [环境准备]:\n "
552- "- 检查是否存在 `dream/` 目录,如果不存在则创建\n "
553- "- 读取现有的 `dream/DREAM.md` 文件作为当前记忆基准(如果不存在则从模板创建)\n "
554- "- 读取当天的日志文件 `memory/YYYY-MM-DD.md`\n "
555- "- 可选:读取根目录的 `MEMORY.md` 作为用户参考信息\n \n "
552+ "- 读取现有的 MEMORY.md 文件作为当前记忆基准(如果不存在则从模板创建)\n "
553+ "- 读取当天的日志文件 `memory/YYYY-MM-DD.md`\n \n "
556554 "步骤 2 [备份创建]:\n "
557- "- 将当前 `dream/DREAM .md` 的内容备份到 "
558- "`dream/DREAM_backup_YYYYMMDD_HHMMSS .md`\n \n "
555+ "- 将当前 MEMORY .md 的内容备份到 "
556+ "`backup/memory_backup_YYYYMMDD_HHMMSS .md`\n \n "
559557 "步骤 3 [梦境提纯]:\n "
560558 "- 在梦境中对比新旧内容,严格按照【梦境优化原则】进行去重、替换、剔除和合并\n "
561- "- 生成一份全新的记忆内容,并保存到 `dream/DREAM_new .md`\n \n "
559+ "- 生成一份全新的记忆内容,并保存到 `MEMORY_new .md`\n \n "
562560 "步骤 4 [验证与提交]:\n "
563- "- 仔细检查 `dream/DREAM_new .md` 的内容是否符合优化原则\n "
564- "- 确认无误后,将 `dream/DREAM_new .md` 重命名为 `dream/DREAM .md`\n "
565- "- 记录操作日志到 `dream/dream_log_YYYYMMDD_HHMMSS .md`\n \n "
561+ "- 仔细检查 `MEMORY_new .md` 的内容是否符合优化原则\n "
562+ "- 确认无误后,将 `MEMORY_new .md` 重命名为 `MEMORY .md`\n "
563+ "- 记录操作日志到 `backup/memory_log_YYYYMMDD_HHMMSS .md`\n \n "
566564 "步骤 5 [苏醒汇报]:\n "
567565 "从梦境中苏醒后,在对话中向我简短汇报:\n "
568566 "1) 新增/沉淀了哪些核心记忆\n "
569567 "2) 修正/删除了哪些过期内容\n "
570568 "3) 备份文件的位置和名称\n "
571- "4) 最终的 DREAM .md 是否成功更新"
569+ "4) 最终的 MEMORY .md 是否成功更新"
572570 ),
573571 "en" : (
574572 "Enter dream state for safe memory optimization. Please "
575573 "strictly follow the steps below to ensure all changes are "
576574 "backed up and can be rolled back.\n \n "
577575 "[Core Concepts]\n "
578- "- DREAM.md: This is your autonomously managed long-term "
579- "memory consolidation file, containing distilled core "
580- "business decisions, user preferences, and "
576+ "- MEMORY.md: This is your long-term memory file, containing "
577+ "distilled core business decisions, user preferences, and "
581578 "high-value experiences\n "
582- "- MEMORY.md: This is a user-editable reference file "
583- "containing initial configuration and manually added "
584- "memories\n "
585- "- Your task is to maintain and optimize DREAM.md, NOT "
586- "to directly modify MEMORY.md\n \n "
579+ "- Your task is to directly maintain and optimize "
580+ "MEMORY.md\n \n "
587581 "[Dream Optimization Principles]\n "
588582 "1. Extreme Minimalism: Strictly forbid recording daily "
589583 "routines, specific bug-fix details, or one-off tasks. "
@@ -599,40 +593,36 @@ def _get_dream_prompt(
599593 "4. Deprecation: Proactively delete hypotheses that have been "
600594 "proven false or outdated entries that no longer apply.\n \n "
601595 "[Safe Operation Procedure]\n "
602- "⚠️ Important: All operations MUST be performed in the "
603- "`dream/` directory! Never modify root directory files "
604- "directly!\n \n "
596+ "⚠️ Important: You MUST create a backup before modifying "
597+ "MEMORY.md!\n \n "
605598 f"Current date: { current_date } \n \n "
606599 "Step 1 [Environment Setup]:\n "
607- "- Check if `dream/` directory exists, create it if not\n "
608- "- Read existing `dream/DREAM.md` file as current memory"
609- " baseline (create from template if it doesn't exist)\n "
610- "- Read today's log file `memory/YYYY-MM-DD.md`\n "
611- "- Optional: Read root directory `MEMORY.md` as user "
612- "reference information\n \n "
600+ "- Read existing MEMORY.md file as current memory baseline "
601+ "(create from template if it doesn't exist)\n "
602+ "- Read today's log file `memory/YYYY-MM-DD.md`\n \n "
613603 "Step 2 [Backup Creation]:\n "
614- "- Backup current `dream/DREAM .md` content to "
615- "`dream/DREAM_backup_YYYYMMDD_HHMMSS .md`\n \n "
604+ "- Backup current MEMORY .md content to "
605+ "`backup/memory_backup_YYYYMMDD_HHMMSS .md`\n \n "
616606 "Step 3 [Dream Purification]:\n "
617607 "- Compare old and new content in your dream state, strictly "
618608 "following [Dream Optimization Principles] to deduplicate, "
619609 "replace, remove, and merge\n "
620610 "- Generate entirely new memory content and save it to "
621- "`dream/DREAM_new .md`\n \n "
611+ "`MEMORY_new .md`\n \n "
622612 "Step 4 [Validation and Commit]:\n "
623- "- Carefully review `dream/DREAM_new .md` content for "
624- "compliance with principles\n "
625- "- If confirmed correct, rename `dream/DREAM_new .md` to "
626- "`dream/DREAM .md`\n "
613+ "- Carefully review `MEMORY_new .md` content for compliance "
614+ "with principles\n "
615+ "- If confirmed correct, rename `MEMORY_new .md` to "
616+ "`MEMORY .md`\n "
627617 "- Record operation log to "
628- "`dream/dream_log_YYYYMMDD_HHMMSS .md`\n \n "
618+ "`backup/memory_log_YYYYMMDD_HHMMSS .md`\n \n "
629619 "Step 5 [Awake Report]:\n "
630620 "After waking from your dream, briefly report to me in the "
631621 "chat:\n "
632622 "1) What core memories were newly added/consolidated\n "
633623 "2) What outdated content was corrected/deleted\n "
634624 "3) Backup file locations and names\n "
635- "4) Whether the final DREAM .md was successfully updated"
625+ "4) Whether the final MEMORY .md was successfully updated"
636626 ),
637627 }
638628 return prompts .get (language , prompts ["en" ])
0 commit comments