规则、记忆与 AGENTS.md
Windsurf 的 Memories 与 Rules(全局、工作区、系统级)、四种激活模式、字符上限,以及 AGENTS.md 的位置作用域。
「Memories」是在对话之间共享和持久化上下文的系统,有两种机制:Memories(由 Cascade 自动生成)和 Rules(由用户在全局、工作区或系统级手动定义)。该用哪个:Rules 告诉 Cascade「如何行事」(如「用 bun 不用 npm」),激活方式 always_on、glob、model_decision 或 manual,适合编码约定和风格指南;AGENTS.md 是按位置作用域、零配置的规则(根目录 = 始终开启,子目录 = glob),适合目录特定约定;Workflows 是可重复多步任务的提示模板,只能手动用 /[workflow-name] 触发;Skills 是随附脚本、模板等支持文件的多步流程,由模型动态调用或 @ 提及;Memories 是 Cascade 在对话中自动生成的上下文,相关时自动检索。官方建议:想让 Cascade 可靠复用的知识,写成 Rule 或加到仓库的 AGENTS.md,而不是依赖自动生成的 Memories——Rules 受版本控制、可与团队共享,也更可控。管理:点 Cascade 右上角滑出菜单的 Customizations 图标,或右下角的「Windsurf - Settings」。
Memories:对话中 Cascade 遇到它认为值得记住的上下文时可自动生成并存储,你也可以随时说「create a memory of …」;自动记忆与创建它的工作区关联,存放在本机 ~/.codeium/windsurf/memories/,仅在本机,想长期保留并与团队共享就让它写成 .windsurf/rules/ 里的 Rule 或 AGENTS.md。Rules:
| 范围 | 位置 | 说明 |
|---|---|---|
| 全局 | ~/.codeium/windsurf/memories/global_rules.md | 单个文件,应用于所有工作区,始终开启,上限 6,000 字符 |
| 工作区 | .windsurf/rules/*.md | 每条规则一个文件,各有自己的激活模式,每个文件上限 12,000 字符 |
| AGENTS.md | 工作区任意目录 | 由同一套 Rules 引擎处理 |
激活模式(工作区规则 frontmatter 里的 trigger 字段,决定内容何时给 Cascade 以及占用多少上下文):always_on(完整内容每条消息都在系统提示里)、model_decision(系统提示里只显示 description,Cascade 判断相关时才读完整文件)、glob(Cascade 读取或编辑匹配 globs(如 *.js、src/**/*.ts)的文件时应用)、manual(不在系统提示里,在输入框用 @规则名 激活)。AGENTS.md:在目录里创建 AGENTS.md(或 agents.md),Windsurf 自动发现并交给 Rules 引擎,用纯 Markdown、不需要特殊 frontmatter:根目录视为 always-on,完整内容出现在每条消息的系统提示里;子目录视为 glob 规则,自动生成 <目录>/** 模式,只在 Cascade 读取或编辑该目录里的文件时应用。这种按位置的作用域适合给出有针对性的指导而不让单个全局配置变臃肿。