Skip to main content
Memories 是用于在多次对话间共享并持久化上下文的系统。 在 Windsurf 中有两种机制:Memories (由 Cascade 自动生成) 和 Rules (由用户在全局、工作区或系统级手动定义) 。

Memories、Rules、Workflows,还是 Skills?

Windsurf 提供了多种自定义 Cascade 的方式。使用下表选择最适合的一种:
建议: 对于你希望 Cascade 稳定复用的知识,请将其写成 Rule,或添加到仓库中的 AGENTS.md,而不是依赖自动生成的 Memories。Rules 可以纳入版本控制、与团队共享,并让你明确控制其激活方式。

如何管理 Memories

您可以随时通过点击 Cascade 右上角滑动菜单中的 Customizations 图标,或通过右下角的“Windsurf - Settings”进入,以访问并配置 Memories 和 Rules。要编辑现有的 Memory,只需打开该项,然后点击 Edit 按钮。

Memories

在对话过程中,Cascade 遇到它认为值得记住的有用上下文时,会自动生成并存储 Memories。 此外,你可以随时让 Cascade 创建一条 Memory。只需向 Cascade 提示:“create a memory of …”。 Cascade 自动生成的 Memories 会与其创建时所在的工作区关联,并存储在本地的 ~/.codeium/windsurf/memories/ 中。Cascade 会在认为相关时检索它们。在一个工作区中生成的 Memories 不会在其他工作区中可用,并且它们不会提交到你的仓库。
创建和使用自动生成的 Memories 不会消耗额度。
自动生成的 Memories 仅保存在你的设备上。如果你希望 Cascade 持久记住某些内容——并与团队共享——请让 Cascade 将其写入 .windsurf/rules/ 中的某条 Rule 或你的仓库中的 AGENTS.md。

Rules

用户可以明确为 Cascade 定义它应遵循的 Rules。 Rules 可以在全局、工作区或系统级定义,也可以从 AGENTS.md 文件中推断得出。

规则发现

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

Rules Storage Locations

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

Activation Modes

每条工作区 Rule 都会通过 frontmatter 中的 trigger 字段声明一种激活模式。这决定了该 Rule 的内容会在何时提供给 Cascade,以及会占用多少上下文窗口:
全局 Rules 文件 (global_rules.md) 和根级别的 AGENTS.md 文件不使用 frontmatter——它们始终启用。
带有 frontmatter 的工作区 Rule 示例:

最佳实践

为帮助 Cascade 更好地遵循你的规则,请参考以下最佳实践:
  • 保持规则简单、精炼且具体。过长或含糊的规则可能会让 Cascade 产生困惑。
  • 无需添加泛泛的规则 (例如 “write good code”) ,这些内容已包含在 Cascade 的训练数据中。
  • 使用项目符号、编号列表和 Markdown 来编写规则。相较于大段文字,这些格式更便于 Cascade 理解和执行。例如:
  • 使用 XML 标签是传达信息并将相似规则归类在一起的有效方式。例如:

系统级规则 (Enterprise)

Enterprise 组织可以部署系统级规则,这些规则在所有工作区中全局生效,终端用户若无管理员权限则无法修改。此方式非常适合用于强制执行全组织范围内的编码规范、安全策略以及合规性要求。 系统级规则会从特定于操作系统的目录中加载: macOS:
Linux/WSL:
Windows:
将规则文件 (.md 格式) 放在对应操作系统的指定目录中。系统会自动从这些目录中加载所有 .md 文件。

系统级规则的工作原理

系统级规则会与工作区规则和全局规则合并,为 Cascade 提供更多上下文信息,同时不会覆盖用户自定义规则。这样既能让组织建立基础标准,又能允许各团队添加与项目相关的自定义设置。 在 Windsurf 的 UI 中,系统级规则会显示为“System”标签,终端用户无法删除。
重要:系统级规则应由贵公司的 IT 或安全团队进行管理。请确保内部团队根据组织的政策来处理部署、更新和合规性要求。你可以使用诸如移动设备管理 (MDM) 或配置管理等标准工具和工作流程来完成这些工作。