--- name: memo-write category: productivity disable-model-invocation: true description: | 将用户当前对话中的上下文内容写入到 `.memo/` 目录下的 Markdown 文件。 默认记录用户说的话,除非用户另有说明。 文件名从内容中自动提取关键词,保持紧凑。 --- # memo-write ## 目标 将用户当前对话中的上下文内容(通常是用户说的话)保存到 `.memo/` 目录下的 Markdown 文件中,用于后续回顾或继续解决问题。 ## 工作流 1. **提取内容**:默认记录用户当前说的话(或上下文中的关键信息)。 - 如果用户明确说“记录 XX”,则记录 XX。 - 如果用户只是要求“记下来”而没有指定内容,记录整个当前对话上下文。 2. **确定文件名**: - **用户明确指定文件名**(如“保存到 `battle-system.md`”)→ 直接使用。 - **用户给出标题**(如“标题:战斗系统”)→ 用标题转文件名(`battle-system.md`)。 - **否则从内容中提取关键词** → 自动选取最核心、最紧凑的 2-3 个词作为文件名,例如: - 内容涉及“角色属性平衡” → `char-balance.md` - 内容涉及“游戏关卡设计” → `level-design.md` - 内容涉及“AI 行为树” → `ai-behavior.md` 3. **组装内容**: - 不需要复杂的 YAML frontmatter。 - 直接写入用户的内容,保持简洁。 - 可选:在开头加一行简短的标题(`# 标题`)帮助阅读。 4. **写入文件**:保存到 `.memo/`。 5. **确认**:向用户汇报保存的文件名和路径。 ## 命名规则 - 从内容中提取**最核心、最具辨识度**的关键词,**紧凑简洁**。 - 文件名只保留字母、数字、连字符 `-`、下划线 `_`,空格替换为 `-`。 - 优先用英文单词(如果内容是中文且可用英文概括,用英文;否则用拼音或中文转义)。 - 长度控制在 **20 字符以内**,避免冗长。 - 不添加日期前缀或后缀,文件名本身要能说明内容。 ## 示例 ### 示例 1:未指定标题,从内容提取关键词 用户:`我想把刚才说的战斗系统的角色属性方案记下来,包括 HP 和攻击力的平衡公式` → 文件名:`battle-char-balance.md` 或 `char-balance.md` → 内容: ```markdown # 角色属性平衡方案 HP 和攻击力的平衡公式:... ``` ### 示例 2:用户明确指定文件名 用户:`把这个存到 `ui-layout.md`,关于主界面布局的划分` → 文件名:`ui-layout.md` → 内容:用户说的主界面布局方案。 ### 示例 3:用户给出标题 用户:`记一下,标题:游戏存档机制` → 文件名:`save-system.md` 或 `game-save.md` → 内容:用户说的存档机制相关内容。 ## 注意事项 - `.memo/` 目录不存在时自动创建。 - 如果文件名已存在,先读取已有内容,让用户确认是追加还是覆盖,或换个文件名。 - 不添加日期戳,文件名本身要能说明内容,方便后续查找。