Rules
规则是纯文本或 Markdown 文件。启用后,其内容会加入 Dline 的系统提示词,适合记录编码规范、项目约定、架构约束等每次任务都应遵守的指令。
| 来源 | 位置 | 说明 |
|---|---|---|
| 工作区规则 | <workspace>/.agents/rules/ | 递归读取目录中的文件,只对该工作区生效 |
| 全局规则 | <documents-root>/rules/ | 对所有工作区生效 |
| Cursor 规则 | 工作区根目录的 .cursorrules,以及 .cursor/rules/ 下的 .mdc 文件 | 兼容读取 |
| Windsurf 规则 | 工作区根目录的 .windsurfrules | 兼容读取 |
AGENTS.md | 工作区根目录的 AGENTS.md | 根目录文件存在且启用时,还会收集子目录中的 AGENTS.md,它们共用根文件的开关 |
<documents-root> 默认是操作系统“文档”目录下的 dline 文件夹。设置环境变量 DLINE_DOCS_DIR 后,该变量的值直接作为 <documents-root>。
规则如何组合
Section titled “规则如何组合”所有启用的规则会按以下顺序拼接进系统提示词:全局规则、工作区规则、Cursor 规则、Windsurf 规则、AGENTS.md。
- 同一目录中的文件按文件系统返回的顺序读取。
01-这类文件名前缀只用于整理,不决定顺序或优先级。 - 规则之间发生冲突时,Dline 不会自动裁决,模型会同时看到双方。请避免编写相互矛盾的规则。
- 规则内容会占用上下文窗口,请保持简洁。每个文件只写一个主题,便于单独开关。
点击输入框下方工具栏中的天平图标(悬停提示 Manage Dline Rules & Workflows)打开能力面板,然后切换到 Rules 标签:
- 规则文件分组显示在 Global Rules、Workspace Rules 等分组中,每个文件都有独立开关。关闭的规则不会加载。
- 在 Global Rules 分组中选择 New rule file… 并输入文件名,即可创建全局规则。不写扩展名时会自动补上
.md,也可以使用.txt。 - 面板会提示开关的保存范围:Toggles saved for this task only(仅当前任务)或 Toggles saved for this workspace(当前工作区)。




也可以在输入框中输入 /newrule,由 Dline 根据当前对话在 .agents/rules/ 下创建一个新的 Markdown 规则文件。已有文件不会被覆盖。
工作区规则和全局规则可以在文件开头用 YAML frontmatter 声明 paths,使规则只在当前上下文涉及匹配文件时生效:
---paths: - "src/components/**" - "**/*.tsx"---
# 前端组件规范
- 组件使用函数式写法。匹配规则:
- 只支持
paths键,其他键会被忽略。 paths是 glob 字符串数组。模式相对于工作区根目录,路径分隔符为/,也会匹配以.开头的文件。任意一个模式匹配任意一个候选路径,规则即生效。- 没有 frontmatter 的规则始终生效;
paths: []的规则永不生效。 paths不是字符串数组时,条件会被忽略,规则照常生效。YAML 无法解析时,规则会连同 frontmatter 原文一起加载。- 要匹配某个目录下的所有文件,请写
dir/**,不要写dir/。
候选路径来自以下位置,去重后最多 100 个:
- 最近一条用户消息中出现的路径;
- 编辑器中打开的和可见的标签页;
- 本任务中已编辑或删除的文件;
- 待执行工具请求涉及的路径。
因此,只要打开了匹配的文件,条件规则就会生效,并不限于正在编辑的文件。
- 规则没有生效:先确认规则开关已启用。如果是条件规则,再确认打开的文件或消息中的路径能匹配
paths。 - frontmatter 原文出现在规则内容中:说明 YAML 无法解析,或
---分隔符不完整。