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

# Rules（规则）

> 记录你的写作偏好，让 Agent 始终用你的风格写作，而不是它的默认风格

Rules 是 Markdown 文件，用于向 Agent 传达持久的写作指令。定义一次，Agent 在每次会话、每个章节、每条提示中都会自动遵循。

## 两种规则类型

### 全局规则

全局规则适用于你打开的每一个写作项目。用来记录你在项目之间保持不变的个人习惯：

* 你的句子节奏偏好
* 标点使用习惯（顿号用法、破折号使用频率等）
* 常用的去 AI 味限制指令
* 你希望 Agent 始终遵守的基本写作默认值

### 项目规则

项目规则存放在某个具体项目中，仅在该项目中生效。用来记录：

* 这个项目的叙事视角（POV）和叙事距离
* 时态（过去时 / 现在时）和人称（第一人称 / 第三人称）
* 项目特有的文风目标或类型惯例
* 与这个故事基调相关的写作约束

## 规则存放位置

```text theme={null}
your-novel/
├── .soloent/
│   └── rules/                 # 项目规则（仅限本项目）
│       ├── pov.md             # 视角、时态、叙事距离
│       └── style.md           # 项目特定风格要求
├── SOLOENT.md                 # 故事宪法：世界观、人物、剧情、状态
├── chapters/
└── ...
```

全局规则存储在 SoloEnt 系统级别的 Rules 目录中，每个项目打开时自动加载。

SoloEnt 会读取 `.soloent/rules/` 内的所有 `.md` 文件，与当前启用的全局规则合并，形成一套统一的 Agent 指令。

## 创建规则

<img src="https://mintcdn.com/soloent/5L9WxA69eDjQqPG_/assets/images/rules1.png?fit=max&auto=format&n=5L9WxA69eDjQqPG_&q=85&s=8f4672655325b2c54c20eb588a0f7c34" alt="显示全局规则和工作区规则分区的 Rules 面板，包含新建规则文件输入框和开关控件" style={{ width: '70%' }} width="794" height="582" data-path="assets/images/rules1.png" />

<Steps>
  <Step title="打开 Rules 面板">
    点击 Agent 面板中的图标（左数第四个），切换到规则管理器。
  </Step>

  <Step title="选择全局或项目">
    选择规则的存放位置——全局（所有项目通用）或仅限当前项目。
  </Step>

  <Step title="新建规则文件">
    点击"New rule file..."，输入文件名（例如 `my-style`），再点击"+"。文件会以 `.md` 扩展名创建。
  </Step>

  <Step title="编写规则内容">
    用 Markdown 格式写下你的指令。每个规则文件只聚焦一个主题。
  </Step>
</Steps>

## Rules 与 SOLOENT.md 的区别

Rules 是为**你的写作习惯和偏好**服务的，指那些无论写什么故事都保持不变的东西。世界观细节、人物档案、剧情结构等故事专属内容，建议存放在 [`SOLOENT.md`](/tips/SoloEnt) 中，由 Agent 随项目进展自动维护和更新。

两者互为补充：

|          | Rules               | SOLOENT.md      |
| -------- | ------------------- | --------------- |
| **记录什么** | 你的写作习惯与偏好           | 故事内容与当前状态       |
| **适用范围** | 你这个作者               | 这个具体项目          |
| **典型内容** | 句子节奏、去 AI 味约束、视角默认值 | 世界观规则、人物档案、剧情大纲 |
| **由谁更新** | 你手动维护               | 主要由 Agent 自动更新  |
| **生效范围** | 所有项目（全局）或本项目        | 仅限本项目           |

<Tip>
  这样理解：SOLOENT.md 是故事的大脑，Rules 是你的大脑——你的直觉、你的风格、你作为作者的习惯和底线。
</Tip>

### 规则开关

<img src="https://mintcdn.com/soloent/5L9WxA69eDjQqPG_/assets/images/rules2.png?fit=max&auto=format&n=5L9WxA69eDjQqPG_&q=85&s=4cbce1f0bce808c5a6bfd9e1089722fe" alt="显示已启用规则文件及高亮开关的 Rules 面板" style={{ width: '70%' }} width="772" height="604" data-path="assets/images/rules2.png" />

每条规则都可以单独开关，无需删除文件。当某个任务需要 Agent 暂时跳出你的常规约束时，这会很有用。例如，写意识流段落时临时关掉"短句优先"规则。

## Rules 里写什么

### 个人文风习惯（全局）

这些是你作为作者积累的写作直觉。即使你从未写下来过，它们也早已是你的本能。

**句子节奏示例：**

```markdown theme={null}
# 句式风格

- 紧张或动作场景默认使用较短的句子（20字以内）
- 回忆段落可以用较长的句子，但超过40字时拆开
- 不连续写三个长句，中间一定插入一个短句来打断节奏
- 句子开头要有变化——避免连续多句以同一主语开头
```

**标点习惯示例：**

```markdown theme={null}
# 标点偏好

- 破折号仅用于语气中断或强调，不用于插入补充信息（改用逗号或重组句子）
- 省略号仅用于说话或思绪中断，不用于制造停顿感
- 对话中不用分号
```

### 去 AI 味约束（全局）

AI 模型有一些可识别的模式，可能会让文字显得扁平、缺乏人味。把最让你困扰的那些写下来作为常驻约束。

```markdown theme={null}
# 去 AI 味约束

## 禁用词
- 交织、编织（比喻用法）、见证、涌现、共鸣（比喻用法）
- "这提醒了她……" / "这证明了……"
- 低语（非字面意义）、闪烁、氤氲
- “xxx悬在我们之间” / "一股XX涌上心头"/ “心里一沉” （模式化的白描）
- “他的眼神/表情/语气说明了一切“

## 禁用句式结构
- 不在场景结束时用一句话总结情绪（先展示，不要命名）
- 不在场景末尾安排人物回顾刚刚发生的事（"她意识到……"）
- 叙事中避免三项并列的列举结构（A、B 和 C）
- 不使用"不是 [X]，而是 [Y]"的句式，除非极少数情况
- 禁止大量使用无意义的时间戳，如“距离 xxx 还有 xxx 天”“一共一年零三个月”
- 禁止倒计时，如“还有三天””还剩两天“
- 禁止使用单词成句或单词组成排比句

## 角色语言
- 禁止重复使用同一个词汇或句式，除非对其设计口头禅
- 严格遵守不同角色的设计要求，明显有所不同，语气自然，充满变化
- 主角允许讽刺、自嘲、烦躁

## 章节开头结尾禁忌
- 章节开头禁止使用时间戳，如“一天后”，“距离比试还有三天”
- 章节开头禁止使用"他/她感到..."
- 章节结尾不允许进行大段心理活动
- 章节结尾不允许进行意义升华或价值讨论
- 章节结尾必须要有钩子，引导用户想看下一章
- 不在压抑的场景结尾加入一个轻松或充满希望的收尾
```

### 项目视角与叙事基础（项目）

每个项目都有一套 Agent 绝对不能偏离的基础写作设定。

```markdown theme={null}
# 项目视角与叙事基础

## 叙事视角
- 有限第三人称，视角紧贴当章的 POV 人物
- 每章只有一个视角人物，不在章节中途切换
- 叙述者只知道 POV 人物知道的事——不使用来自视角外的戏剧性反讽

## 时态与人称
- 全程使用过去时
- 全程第三人称，不使用第二人称

## 叙事距离
- 保持近距离叙事，直接呈现内心活动
- 避免自由间接引语被误读为全知视角
```

### 项目特定风格要求（项目）

用来记录这个故事特有的类型惯例、基调目标或文风诉求。

```markdown theme={null}
# 项目文风——心理惊悚

## 基调目标
- 用暗示制造恐惧，不用直接描写
- 不对劲的感觉要缓慢积累，避免在第三幕之前突然揭示
- 克制的文字风格，恐惧藏在未说出口的部分

## 本项目禁止事项
- 不使用突然的视觉冲击（平静中突然的巨大声响）
- 不为猎奇而描写暴力细节，只在服务人物心理状态时使用
- 不解释超自然现象——模糊性是核心工具
```

## 如何写出有效的规则

* **具体，不要说空话。** "写得漂亮一点"对 Agent 毫无意义。"用具体的感官细节替代抽象的情绪标签"才是可执行的指令。
* **直接写禁令。** 最有用的规则往往是否定句："不允许 X。" Agent 对明确的约束响应良好。
* **说明原因（当原因不明显时）。** "避免破折号（它是 AI 写作的特征之一）"能帮助 Agent 理解意图，并正确地举一反三。
* **保持简短。** 规则会占用上下文 token。一个规则文件写满五页，会挤压你实际写作的空间。需要大量解释的内容，更适合放在 SOLOENT.md 或单独的参考文档中。
* **一个文件，一个主题。** 按主题拆分规则文件，这样你可以单独开关某个约束，而不影响其他规则。

<Warning>
  不要用 Rules 重复 SOLOENT.md 里已有的内容。如果你已在 `SOLOENT.md` 中定义了某个人物的声音，不需要在规则里再写一遍——Agent 会同时读取两者。
</Warning>

## 条件规则

条件规则只在你操作的文件路径匹配时才激活。这让你可以在项目不同阶段应用不同的写作约束，而无需每次手动开关规则。

随着规则库的增长，每次请求都加载所有规则会消耗大量 token。条件规则让 Agent 只聚焦于你当前正在处理的文件所需的指令。

常见用途：将句子节奏和去 AI 味约束只应用于章节文件，避免干扰笔记或大纲。

```yaml theme={null}
---
paths:
  - "chapters/**"
---

# 文字风格

## 句子节奏
- 有意识地变换句子长度——短句用于强调，长句用于积累情绪
- 不连续三句以相同主语开头
- 超过 35 字的句子拆成两句

## 禁用模式
- 括号式补充信息不用破折号，重新组织句子
- 避免"她意识到 / 她注意到 / 她明白了"——展示那个顿悟，不要命名它
- 叙事中不用三项并列（A、B 和 C）
- 紧张场景结尾不加反思性或充满希望的收尾
```

### 工作原理

在任意规则文件顶部添加 YAML frontmatter。Agent 会根据你当前操作的文件评估每条规则的 `paths`，并自动激活匹配的规则。

**没有 frontmatter 的规则始终生效**。

## 故障排除

<AccordionGroup>
  <Accordion title="Agent 反复使用我已禁止的写法">
    **最可能的原因**：规则被关闭了，或者指令不够具体。

    * 检查规则文件是否在 Rules 面板中已启用
    * 将约束改写为直接禁令："禁止……"而不是"尽量避免……"
    * 如果是全局规则，确认没有被某条项目规则覆盖
  </Accordion>

  <Accordion title="条件规则没有激活">
    **请检查以下几点：**

    * 你正在编辑的文件路径必须与 `paths` 中的 glob 模式匹配
    * YAML frontmatter 两侧必须都有正确的 `---` 分隔符
    * 规则必须在 Rules 面板中处于启用状态
  </Accordion>

  <Accordion title="Rules 和 SOLOENT.md 的指令似乎互相冲突">
    **通常意味着内容重复了**——你在两个地方定义了同一件事。

    * 故事内容（人物是谁、世界规则是什么）放在 SOLOENT.md
    * 写作偏好（文字该有怎样的质感、应该避免哪些模式）放在 Rules
    * 如果项目规则涉及文风，确保它与 SOLOENT.md 第 5 节（文风指南）不矛盾
  </Accordion>

  <Accordion title="规则太多导致 Agent 反应变慢或漏掉指令">
    规则会占用上下文 token。如果启用的规则较多：

    * 关掉与当前任务无关的规则
    * 把内容重叠的规则合并到一个文件中
    * 把不小心写进 Rules 的故事内容迁移回 SOLOENT.md
  </Accordion>
</AccordionGroup>

## 更多高级技巧

<CardGroup cols={2}>
  <Card title="SOLOENT.md 指南" icon="book-sparkles" href="/zh/tips/SoloEnt">
    了解哪些内容属于 SOLOENT.md，哪些属于 Rules
  </Card>

  <Card title="指令（Commands）" icon="terminal" href="/zh/tips/commands">
    使用 `/review` 检查最新章节是否符合你的规则
  </Card>
</CardGroup>
