> ## 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.

# SOLOENT.md

> 让你的写作项目保持正轨的活记忆系统

`SOLOENT.md` 是 SoloEnt 写作项目的 **中央控制面板**——AI 的长期记忆，记录故事 DNA、追踪当前进度、在数万字的创作中保持一致性。

它是**可选的**，专为中长篇写作设计。篇幅较短的任务不一定需要它，按需启用即可。

<Note>
  就像编程项目中的 `CLAUDE.md`，`SOLOENT.md` 是 AI 的操作手册。它告诉 AI 这个项目是关于什么的、如何写作、以及你在创作旅程中的位置。
</Note>

## 什么时候需要 SOLOENT.md

**适合使用的场景：**

* 中长篇写作（小说、系列、多章节故事）
* 需要跨多次写作会话保持一致性
* 有复杂世界观、多角色或精心设计的伏笔

**可以不用的场景：**

* 短篇故事、单次完成的写作任务
* 不需要跨会话追踪上下文的轻量创作

***

长篇写作面临一个独特的挑战：**上下文漂移**。AI 可能会忘记：

* 你在第一章建立的魔法系统规则
* 三个章节前角色的动机
* 你精心埋下的伏笔
* 你一直在建立的基调和风格

`SOLOENT.md` 通过作为整个项目的 **单一真实来源** 来解决这个问题。

## 8 个核心部分

每个 `SOLOENT.md` 都分为 8 个部分，每个部分都有特定的目的和生命周期。

### 1. 项目 DNA（基础）

<Accordion title="生命周期：静态（初始化一次）">
  此部分在初始化后很少更改。它定义了你项目的灵魂。
</Accordion>

定义你项目的核心身份：

* **类型**：科幻、言情、悬疑等。
* **核心主题**：故事真正关于什么（例如 "救赎"、"权力腐蚀"）
* **目标读者**：谁会读这个？
* **情感承诺**：读者应该带走什么感觉？
* **字数/里程碑计划**：范围和结构

**示例：**

```markdown theme={null}
## 1. Project DNA (Foundation)
- **Genre**: Psychological Horror / Supernatural
- **Core themes**: Paranoia, gaslighting, isolation, unreliable memory
- **Target audience**: Adult horror readers (18+)
- **Emotional promise**: A suffocating descent into madness
- **Word count / milestone plan**: ~20,000 words, 8-10 chapters
```

### 2. 世界系统（规则与索引）

<Accordion title="生命周期：半静态（随世界扩展而更新）">
  随着世界的发展添加新地点、规则或系统。核心规则应保持稳定。
</Accordion>

记录你虚构世界的规则以防止逻辑冲突：

* **核心世界规则**：魔法系统、科技水平、社会结构
* **世界索引**：指向详细世界构建文档的链接

**示例：**

```markdown theme={null}
## 2. World System (Rules & Index)

### 2.1 Core World Rules (Summary)
> 大楼内的现实是不稳定的。微小的变化会累积。
> 记忆不可信。物理证据会消失或变形。

### 2.2 World Index (Pointers)
- [The Building] -> `world/the-building.md`
- [Magic System] -> `world/magic-system.md`
```

<Tip>
  对复杂设定使用索引指针。将详细的世界构建存储在单独的文件中，保持 `SOLOENT.md` 简洁。
</Tip>

### 3. 角色（索引与关系）

<Accordion title="生命周期：半静态（添加角色时更新）">
  随着角色出场添加新角色。当关系动态发生重大变化时更新。
</Accordion>

不仅跟踪名字，还跟踪角色的动态状态和关系：

* **角色索引**：主角和配角及其详细档案链接
* **关系网络**：可视化或基于文本的关系图

**示例：**

```markdown theme={null}
## 3. Characters (Index & Relations)

### 3.1 Character Index (Concise)
- **Mei Chen** (32, Translator, Protagonist) -> `characters/mei-chen.md`
- **The Landlord** (Age unknown, Building superintendent)

### 3.2 Relationship Network (Summary)
- Mei Chen → The Landlord: 礼貌疏离，日益不安
- Mei Chen → Previous Tenant: 寄生关系，身份渗透
```

### 4. 情节与结构（索引）

<Accordion title="生命周期：半静态（大纲更改时更新）">
  整体结构稳定，但你可能在写作时调整章节分解。
</Accordion>

提供故事流程的宏观控制：

* **故事结构**：三幕式、英雄之旅或自定义结构
* **大纲索引**：指向详细章节大纲的链接

**示例：**

```markdown theme={null}
## 4. Plot & Structure (Index)

### 4.1 Story Structure
- **Act I (Ch. 1-3)**: 建立 - Mei 搬入，小异常开始
- **Act II (Ch. 4-6)**: 升级 - 现实破裂
- **Act III (Ch. 7-8)**: 高潮 - 可怕的真相浮现

### 4.2 Outline Index (Pointers)
- [Master Outline] -> `outline/master-outline.md`
- [Chapter Breakdown 01] -> `outline/chapter-breakdown-01.md`
```

### 5. 风格指南（深度解构）

<Accordion title="生命周期：静态（除非风格转变）">
  设置一次，只有在需要纠正 AI 的写作风格时才调整。
</Accordion>

**调整 AI 写作风格最强大的部分**：

* **基础基调**：整体氛围（例如 "压抑、窒息"）
* **语言与修辞**：句子结构、用词选择、文学手法
* **对话风格**：角色如何说话
* **节奏规则**：章节节奏和张力管理

**示例：**

```markdown theme={null}
## 5. Stylistic Guidelines (Deep Deconstruction)

- **Base Tone**: 窒息、压抑、悄无声息地疯狂
- **Language & Rhetoric**: 干净、克制的散文，随主角心智一同破裂。
  恐慌时使用短句。
- **Dialogue Style**: 稀疏。对话感觉有点不对劲——人们几乎
  说出他们的意思。
- **Pacing Rules**: 慢热，突然的恐怖刺击。每章以悬念结尾。
```

<Warning>
  在此部分要具体。"写得很美" 是模糊的。"使用 15 字以下的短促有力句子" 是可执行的。
</Warning>

### 6. 关键笔记与软约束

<Accordion title="生命周期：自动更新 + 用户更新（混合）">
  **自动更新**：Agent 从你的反馈和修订请求中学习，自动提取你的偏好和约束。

  **用户更新**：你也可以随时手动添加约束来引导 AI。
</Accordion>

你对 AI 的直接指令：

* **叙事禁忌**：不要写什么（例如 "没有爱情副线"）
* **用户约束**：你在意的特定要求

<Tip>
  使用此部分修复反复出现的问题。如果 AI 一直在添加你不想要的爱情，将 "没有浪漫副线" 添加到叙事禁忌。
</Tip>

**示例：**

```markdown theme={null}
## 6. Key Notes & Soft Constraints

### Narrative Taboos
- 不以跳跃惊吓作为主要恐怖手段
- 没有过度的血腥（心理恐怖是重点）
- 避免解释太多——模糊是武器

### User Constraints
- 心理恐怖焦点：偏执、煤气灯效应、心理游戏
- 读者应该与主角一起质疑什么是真实的
```

<Warning>
  **🧠 智能学习系统**

  此部分有一个特殊能力：**它自动从你的反馈中学习**。

  当你要求 Agent 修改某些内容时：

  * "让对话不那么正式" → 添加约束："保持对话随意自然"
  * "删除过多的描述" → 添加禁忌："不要华丽辞藻或过度描述"
  * "节奏太慢" → 添加指南："紧凑节奏，删减不必要的场景"

  随着时间的推移，`SOLOENT.md` 会成为捕捉你独特写作偏好的个性化风格指南。
</Warning>

### 7. 活跃写作状态（动态上下文）

<Accordion title="生命周期：自动更新（每次写作会话后）">
  Agent 会在你写作时自动更新此部分。你很少需要手动触碰它。
</Accordion>

**最动态的部分**，由 Agent 在每次写作会话后更新：

* **当前状态**：故事进行到哪里了？
* **角色快照**：角色当前的身心状态
* **近期情节流向**：刚刚发生的事情摘要
* **待处理线索**：需要记住的开放情节钩子和伏笔
* **执行审查**：最新章节的质量检查

**示例：**

```markdown theme={null}
## 7. Active Writing State (Dynamic Context)

### 7.1 Current Status
- **Current Chapter**: 第二章 - "搬入"（已完成）
- **Story Time**: 11月1日，凌晨3:17（公寓的第一夜）
- **Current Location**: 公寓 4C，卧室
- **Immediate Atmosphere**: 恐惧、失眠、质疑理智

### 7.2 Character Snapshot
- **Mei Chen**: 恐惧、睡眠不足、发现自己手写的笔记、
  担心遗传了祖母的精神疾病

### 7.3 Recent Plot Flow
- **Ch.1**: Mei 看了 4C，见了 Kadir 先生，签了租约
- **Ch.2**: 搬家日——电梯坏了、时间丢失、杯子出现重复

### 7.4 Pending Threads
- **Urgent Hooks**: 梦中的笔记、重复的杯子
- **Active Foreshadowing**: 永远关不上的壁橱门
- **Next Chapter Goal**: 笔记继续并升级
```

<Check>
  这就是 `SOLOENT.md` 有效的关键。它让 AI 完美记住你停在哪里。
</Check>

### 8. 项目路线图与里程碑

<Accordion title="生命周期：自动更新（任务完成时）">
  Agent 会在你进展时勾选任务并记录里程碑。你可以随时手动添加新任务。
</Accordion>

跟踪项目进展和后续步骤：

* **当前焦点**：当前任务是什么？
* **待办列表**：即将到来的章节或任务清单
* **里程碑日志**：已完成主要目标的历史

**示例：**

```markdown theme={null}
## 8. Project Roadmap & Milestones

### 8.1 Current Focus & Next Steps
- **Phase**: 初稿冲刺
- **Core Task**: 写第三章 - "笔记"
- **Todo List**:
  - [x] 初始化 SOLOENT.md
  - [x] 写第一章
  - [x] 写第二章
  - [ ] 写第三章
  - [ ] 写第四至九章

### 8.2 Milestone Log
- [Completed] 项目初始化，聚焦心理恐怖
- [Completed] 第一章完成 - 建立不安氛围
- [Completed] 第二章完成 - 交付首个主要恐怖节拍
```

## SOLOENT.md 如何生成

### 手动初始化（/init）

`SOLOENT.md` **不会自动生成**。你可以在项目的任意阶段，通过 `/init` 命令手动创建它：

<Steps>
  <Step title="在对话中输入 /init">
    随时在写作会话中发送 `/init` 命令，无论项目处于哪个阶段。
  </Step>

  <Step title="Agent 收集项目信息">
    Agent 根据现有内容或通过提问，整理类型、主题、角色和情节等信息。
  </Step>

  <Step title="生成 SOLOENT.md">
    根据当前项目状态，创建包含所有 8 个部分的 `SOLOENT.md`，保存在项目根目录。
  </Step>
</Steps>

<Tip>
  不必在项目开始时就创建。等你觉得项目需要追踪上下文时再运行 `/init` 也完全没问题。
</Tip>

### 自动更新

`SOLOENT.md` 创建后，Agent 会在写作过程中自动维护它：

| 触发器       | 更新什么                         |
| --------- | ---------------------------- |
| **完成章节**  | 第 7 部分（活跃写作状态）- 近期情节流向、角色快照  |
| **完成任务**  | 第 8 部分（项目路线图）- 待办列表、里程碑日志    |
| **添加新角色** | 第 3 部分（角色）- 角色索引             |
| **建立新规则** | 第 2 部分（世界系统）- 核心世界规则         |
| **请求修订**  | 第 6 部分（关键笔记与约束）- 学习你的偏好并添加约束 |

<Info>
  Agent 会在后台静默更新 `SOLOENT.md`。文件存在后，你不需要手动请求更新——它们会自动发生。
</Info>

## 如何维护 SOLOENT.md

### Agent 维护（自动）

Agent 处理例行更新：

* ✅ 总结已完成章节
* ✅ 跟踪待处理情节线索
* ✅ 更新角色状态
* ✅ 勾选已完成的任务

### 用户维护（手动）

你控制创意方向：

<CardGroup cols={2}>
  <Card title="优化风格" icon="palette">
    如果 AI 的写作感觉不对，编辑 **第 5 部分** 以调整基调、节奏或对话风格。
  </Card>

  <Card title="设置边界" icon="shield">
    当故事偏离时，更新 **第 6 部分** 添加叙事禁忌或约束。
  </Card>

  <Card title="引导方向" icon="compass">
    修改 **第 7.4 部分（待处理线索）** 以优先考虑某些情节线。
  </Card>

  <Card title="添加新想法" icon="lightbulb">
    灵感来临时，向 **第 2-3 部分** 插入新角色、地点或规则。
  </Card>
</CardGroup>

## 最佳实践

### 1. 保持新鲜

<Warning>
  过时的 `SOLOENT.md` 会导致 AI 表现不佳。如果第 7 部分（活跃写作状态）过时，AI 会在你实际在第 8 章时写得像你还在第 2 章。
</Warning>

**如何保持新鲜：**

* 让 Agent 在每章后更新
* 每次写作会话开始时审查第 7 部分
* 如果你跳章或重写部分，手动同步

### 2. 明确你不想看到什么

AI 急于取悦，这有时意味着添加你没要求的东西。

**使用第 6 部分（叙事禁忌）设置硬性边界：**

```markdown theme={null}
### Narrative Taboos
- 主角不会突然获得超能力
- 没有机械降神式的救援
- 没有浪漫副线
- 没有过度的说明性文字堆砌
```

### 3. 对复杂设定使用索引

不要用 10 页的魔法系统细节塞满 `SOLOENT.md`。

**相反，使用指针：**

```markdown theme={null}
### 2.2 World Index (Pointers)
- [Magic System] -> `world/magic-system.md`
- [Political Structure] -> `world/politics.md`
- [Geography] -> `world/map.md`
```

Agent 可以在需要时读取这些文件，保持主控制面板整洁。

### 4. 会话开始时加载上下文

<Tip>
  每次写作会话开始时，在提示中提及 `SOLOENT.md`（例如 "继续写作。查看 SOLOENT.md 了解上下文。"）。这确保 AI 加载最新状态。
</Tip>

### 5. 重大决策前审查

在写高潮章节或做出重大情节决定之前：

1. 自己通读 `SOLOENT.md`
2. 检查第 7.4 部分的待处理线索是否需要解决
3. 验证第 7.2 部分的角色状态是否符合你的意图

## 维护工作流

<Steps>
  <Step title="写一章">
    与 Agent 合作起草你的章节。
  </Step>

  <Step title="Agent 自动更新">
    完成后，Agent 更新第 7 部分（活跃写作状态）和第 8 部分（路线图）。
  </Step>

  <Step title="审查更新">
    快速浏览更新以确保准确。
  </Step>

  <Step title="手动调整（可选）">
    如果你想让下一章走向不同，编辑第 7.4 部分（待处理线索）或第 6 部分（约束）。
  </Step>

  <Step title="开始下一会话">
    通过引用 `SOLOENT.md` 了解上下文来开始下一次写作会话。
  </Step>
</Steps>

## 各部分更新频率

| 部分             | 更新频率     | 谁更新                  |
| -------------- | -------- | -------------------- |
| **1. 项目 DNA**  | 初始化时一次   | 用户（很少更改）             |
| **2. 世界系统**    | 世界扩展时    | Agent + 用户           |
| **3. 角色**      | 添加角色时    | Agent + 用户           |
| **4. 情节与结构**   | 大纲更改时    | 用户                   |
| **5. 风格指南**    | 需要纠正风格时  | 用户                   |
| **6. 关键笔记与约束** | 修订后 + 随时 | **Agent（从反馈学习）+ 用户** |
| **7. 活跃写作状态**  | 每章后      | Agent（自动）            |
| **8. 项目路线图**   | 任务完成时    | Agent（自动）            |

## 常见陷阱

<AccordionGroup>
  <Accordion title="让第 7 部分过时">
    **问题**：你写了 3 章但没有更新活跃写作状态。

    **结果**：AI 忘记最近的情节发展，写作不一致。

    **解决方案**：让 Agent 在每章后更新，或在开始新会话前手动同步。
  </Accordion>

  <Accordion title="模糊的风格指南">
    **问题**：第 5 部分说 "写得美" 或 "让它刺激"。

    **结果**：AI 不知道你的意思，默认使用通用散文。

    **解决方案**：要具体。"使用 15 字以下的句子。专注于触觉感官细节。避免副词。"
  </Accordion>

  <Accordion title="忘记使用索引">
    **问题**：你直接将 20 页的世界构建粘贴到 `SOLOENT.md` 中。

    **结果**：文件变得臃肿，难以导航。

    **解决方案**：在 `SOLOENT.md` 中保留摘要，将详细信息存储在链接文件中。
  </Accordion>

  <Accordion title="不设置叙事禁忌">
    **问题**：你没有明确说明你不想要什么。

    **结果**：AI 添加了你讨厌的爱情副线，或过快解决张力。

    **解决方案**：使用第 6 部分清楚说明 "没有爱情"、"没有简单的解决方案" 等。
  </Accordion>
</AccordionGroup>

## 高级技巧

### 多视角故事

在第 7.2 部分为每个视角创建角色快照：

```markdown theme={null}
### 7.2 Character Snapshot
- **主角 A**（视角 1）：目前身处城堡，不知道背叛的事
- **主角 B**（视角 2）：刚刚发现真相，策划复仇
```

### 非线性叙事

在第 7.1 部分跟踪故事时间与叙事时间：

```markdown theme={null}
### 7.1 Current Status
- **Current Chapter**: 第五章（闪回）
- **Story Time**: 1995年（主线时间线前 20 年）
- **Narrative Time**: 揭示主角为什么害怕水
```

### 系列或续集

链接到前作的 `SOLOENT.md` 文件：

```markdown theme={null}
## 1. Project DNA (Foundation)
- **Series**: "黑暗三部曲" 第二部
- **Previous Book**: [第一部 SOLOENT.md] -> `../book-1/SOLOENT.md`
```

## 更多高级技巧

<CardGroup cols={2}>
  <Card title="规划模式" icon="map" href="./plan-mode">
    在写作前使用规划模式设计你的故事结构
  </Card>

  <Card title="命令" icon="terminal" href="./commands">
    斜杠命令为你提供强大的工作流
  </Card>
</CardGroup>
