> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 记忆与规则

> 配置 Cascade 记忆和规则，通过全局规则、工作区规则以及适用于 Enterprise 的系统级规则，在多轮对话之间持续保留上下文。

`Memories` 是用于在多轮对话之间共享并保存上下文的系统。

在 Cascade 中有两种机制：Memories，可由 Cascade 自动生成；以及规则（rules），由用户在本地和全局层级手动定义。

<div id="how-to-manage-memories">
  ## 如何管理 Memories
</div>

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

<Frame>
  <img src="https://mintcdn.com/codeium/d8O4q6w3H2CjrirL/assets/managing-memories-jb.gif?s=364abea59051eb01f19dbe91ba7bcf35" width="800" height="506" data-path="assets/managing-memories-jb.gif" />
</Frame>

<div id="memories">
  ## 记忆
</div>

在对话过程中，Cascade 如果遇到它认为值得保留的上下文，会自动生成并存储记忆。

此外，你可以随时让 Cascade 创建记忆。只需对 Cascade 提示“create a memory of ...”即可。

Cascade 自动生成的记忆会与其创建时所在的工作区关联，且当 Cascade 认为这些记忆相关时会进行检索。在一个工作区中生成的记忆不会在另一个工作区中可用。

<Tip>创建和使用自动生成的记忆不会消耗额度</Tip>

<div id="rules">
  ## 规则
</div>

用户可以明确制定要由 Cascade 遵循的自定义规则。

规则可在全局级别或工作区级别进行定义。

`global_rules.md` - 适用于所有工作区的规则

`.windsurf/rules` - 工作区级目录，包含与 glob 模式或自然语言描述关联的规则。

<div id="rules-discovery">
  ## 规则发现
</div>

Windsurf 会从多个位置自动发现规则，以便灵活组织：

* **当前工作区和子目录**：当前工作区及其子目录中的所有 `.windsurf/rules` 目录
* **Git 仓库结构**：对于 Git 仓库，Windsurf 还会向上搜索至 Git 根目录，在父级目录中查找规则
* **多工作区支持**：当同一工作区中打开多个文件夹时，规则会去重，并以最短相对路径显示

<div id="rules-storage-locations">
  ### 规则存储位置
</div>

规则可以存放在以下任一位置：

* 当前工作区目录下的 `.windsurf/rules`
* 工作区任意子目录下的 `.windsurf/rules`
* 父级目录中直至 Git 根目录（针对 Git 仓库）的 `.windsurf/rules`

当你创建新规则时，它会保存到当前工作区的 `.windsurf/rules` 目录中，不一定位于 Git 根目录。

要开始使用 Rules，请在 Cascade 右上角的侧边菜单中点击 `Customizations` 图标，然后进入 `Rules` 面板。在这里，你可以点击 `+ Global` 或 `+ Workspace` 按钮，分别在全局或工作区层级创建新规则。

<Tip>你可以在 [https://windsurf.com/editor/directory](https://windsurf.com/editor/directory) 找到由 Windsurf 团队整理的示例规则模板，帮助你快速上手。</Tip>

每个规则文件限制为 12,000 个字符。

<div id="best-practices">
  ### 最佳实践
</div>

为帮助 Cascade 更好地遵循你的规则，请参考以下最佳实践：

* 保持规则简单、精炼且具体。过长或含糊的规则可能会让 Cascade 产生困惑。
* 无需添加通用规则（例如 “write good code”），这些内容已包含在 Cascade 的训练数据中。
* 使用项目符号、编号列表和 Markdown 来编写规则。相较于冗长的段落，这些格式更便于 Cascade 理解与执行。

例如：

```
# 编码规范 
- 我的项目编程语言是 Python
- 尽可能使用提前返回
- 创建新函数和类时务必添加文档
```

* 使用 XML 标签可以更有效地表达并将相似规则归类。例如：

```
<coding_guidelines>
- 我的项目编程语言是 Python
- 尽可能使用提前返回
- 创建新函数和类时始终添加文档
</coding_guidelines>
```

<div id="system-level-rules-enterprise">
  ## 系统级规则（Enterprise）
</div>

使用 Enterprise 的组织可以部署系统级规则，这些规则全局适用于所有工作区，且在没有管理员权限时最终用户无法修改。这样非常适合用来强制执行组织范围内的编码规范、安全策略和合规要求。

系统级规则会从特定于操作系统的目录中加载：

**macOS：**

```
/Library/Application Support/Windsurf/rules/*.md
```

**Linux/WSL：**

```
/etc/windsurf/rules/*.md
```

**Windows：**

```
C:\ProgramData\Windsurf\rules\*.md
```

将你的规则文件（`.md` 格式）放在适用于你所使用操作系统的目录中。系统会自动从这些目录中加载所有 `.md` 文件。

<div id="how-system-rules-work">
  ### 系统级规则的工作方式
</div>

系统级规则会与工作区规则和全局规则合并，在不覆盖用户自定义规则的前提下为 Cascade 提供额外上下文。这样，组织可以设定基础标准，同时仍允许各团队添加特定于项目的自定义配置。

在 Cascade 的界面中，系统级规则会以 “System” 标签显示，终端用户无法删除。

<Note>
  **重要**：系统级规则应由公司的 IT 或安全团队进行管理。请确保内部团队按照组织的策略来处理部署、更新和合规要求。你可以使用移动设备管理（Mobile Device Management，MDM）或配置管理等标准工具和工作流来完成这些操作。
</Note>
