Memories 是用于在多轮对话之间共享并保存上下文的系统。 在 Cascade 中有两种机制:Memories,可由 Cascade 自动生成;以及规则(rules),由用户在本地和全局层级手动定义。

如何管理 Memories

随时可通过点击 Cascade 右上角滑动菜单中的 Customizations 图标来访问并配置 Memories 和 Rules。要编辑现有的 Memory,只需点击进入该条目,然后点击 Edit 按钮。

记忆

在对话过程中,Cascade 如果遇到它认为值得保留的上下文,会自动生成并存储记忆。 此外,你可以随时让 Cascade 创建记忆。只需对 Cascade 提示“create a memory of …”即可。 Cascade 自动生成的记忆会与其创建时所在的工作区关联,且当 Cascade 认为这些记忆相关时会进行检索。在一个工作区中生成的记忆不会在另一个工作区中可用。
创建和使用自动生成的记忆不会消耗额度

规则

用户可以明确制定要由 Cascade 遵循的自定义规则。 规则可在全局级别或工作区级别进行定义。 global_rules.md - 适用于所有工作区的规则 .windsurf/rules - 工作区级目录,包含与 glob 模式或自然语言描述关联的规则。

规则发现

Windsurf 会从多个位置自动发现规则,以便灵活组织:
  • 当前工作区和子目录:当前工作区及其子目录中的所有 .windsurf/rules 目录
  • Git 仓库结构:对于 Git 仓库,Windsurf 还会向上搜索至 Git 根目录,在父级目录中查找规则
  • 多工作区支持:当同一工作区中打开多个文件夹时,规则会去重,并以最短相对路径显示

规则存储位置

规则可以存放在以下任一位置:
  • 当前工作区目录下的 .windsurf/rules
  • 工作区任意子目录下的 .windsurf/rules
  • 父级目录中直至 Git 根目录(针对 Git 仓库)的 .windsurf/rules
当你创建新规则时,它会保存到当前工作区的 .windsurf/rules 目录中,不一定位于 Git 根目录。 要开始使用 Rules,请在 Cascade 右上角的侧边菜单中点击 Customizations 图标,然后进入 Rules 面板。在这里,你可以点击 + Global+ Workspace 按钮,分别在全局或工作区层级创建新规则。
你可以在 https://windsurf.com/editor/directory 找到由 Windsurf 团队整理的示例规则模板,帮助你快速上手。
每个规则文件限制为 12,000 个字符。

最佳实践

为帮助 Cascade 更好地遵循你的规则,请参考以下最佳实践:
  • 保持规则简单、精炼且具体。过长或含糊的规则可能会让 Cascade 产生困惑。
  • 无需添加通用规则(例如 “write good code”),这些内容已包含在 Cascade 的训练数据中。
  • 使用项目符号、编号列表和 Markdown 来编写规则。相较于冗长的段落,这些格式更便于 Cascade 理解与执行。
例如:
# 编码规范 
- 我的项目编程语言是 Python
- 尽可能使用提前返回
- 创建新函数和类时务必添加文档
  • 使用 XML 标签可以更有效地表达并将相似规则归类。例如:
<coding_guidelines>
- 我的项目编程语言是 Python
- 尽可能使用提前返回
- 创建新函数和类时始终添加文档
</coding_guidelines>