162 lines
6.4 KiB
Markdown
162 lines
6.4 KiB
Markdown
---
|
||
name: inbox-process
|
||
description: Use when processing inbox files, archiving eureka notes, updating bible from new information, running inbox workflow. 处理 inbox、处理 eureka、挨个跑 inbox 流程、处理并归档 inbox. 执行「处理 Inbox / Eureka」全流程(识别实体、更新/新建 bible 与 beat、Beat→Bible 反向同步、归档),归档为流程最后一步。
|
||
---
|
||
|
||
# Inbox 处理与归档
|
||
|
||
## 流程概览
|
||
|
||
```
|
||
阶段一:分析(只读,不修改任何文件)
|
||
↓ 输出分析报告,等待人确认
|
||
阶段二:执行(收到确认后)
|
||
↓ 更新/新建 bible 与 beat → Beat→Bible 反向同步 → 标记 TBD → 归档 → 输出摘要
|
||
```
|
||
|
||
---
|
||
|
||
## 阶段一:分析(不修改任何文件)
|
||
|
||
1. 完整阅读该 inbox 文件
|
||
2. 识别其中提到的所有实体(角色、世界观、节拍)
|
||
3. 对每个实体,判断需要执行什么操作
|
||
4. **暂停,输出分析报告,等待人确认**
|
||
|
||
### 分析报告格式
|
||
|
||
```
|
||
📥 Inbox 分析:{文件名}
|
||
|
||
**涉及实体**
|
||
- 角色:xxx、xxx
|
||
- 设定:xxx、xxx
|
||
- Beat:xxx(inbox 内容直接涉及具体场景或对话时列出)
|
||
|
||
**建议操作**
|
||
| 实体 | 类型 | 操作 | 具体内容 | 是否有冲突 |
|
||
|------|------|------|---------|-----------|
|
||
| 佩佩 | 角色 | 更新 | 年龄改为22岁,职称改为广告部画师 | ⚠️ 与现有年龄25冲突 |
|
||
| 原型 | 设定 | 无需变更 | inbox 内容已在 bible 中覆盖 | — |
|
||
| 新设定名 | 设定 | 新建 | 从模板新建 kb/bible/设定/xxx.md | — |
|
||
| 佩佩-维修1 | beat | 更新 | Fiction 补充医生台词 | — |
|
||
| 佩佩-维修4 | beat | 新建 | inbox 描述了新场景,尚无对应 beat | — |
|
||
|
||
**待人确认的判断**
|
||
- [ ] 冲突裁决:佩佩年龄 22 vs 25,是否以本次为准?
|
||
- [ ] 新建 beat 佩佩-维修4:Fiction 草稿是否符合预期?
|
||
- [ ] xxx
|
||
|
||
**请回复以下选项:**
|
||
- `执行全部` — 执行所有建议,冲突项记录到冲突表不自行解决
|
||
- `逐条确认` — 逐条列出,逐条回复是/否
|
||
- `跳过` — 不处理,直接移入 inbox/archived/,不更新任何 bible 或 beat
|
||
- 或直接告诉我你的修改意见
|
||
```
|
||
|
||
---
|
||
|
||
## 阶段二:执行(收到确认后)
|
||
|
||
### 步骤 1:更新或新建 bible 与 beat
|
||
|
||
**已有 bible → 更新**
|
||
- 将新信息加入对应 SSOT 小节,用 **加粗关键词** 领起,句末标来源
|
||
- 同步更新「叙事时间线」表格:新增剧情点、补全关联 Beat、更新状态
|
||
- 与现有信息冲突 → 在「冲突」小节记录两版 + 来源,不自行解决
|
||
- **来源索引**:本流程中引用的来源在步骤 4 会归档;补全或更新「来源索引」时,链接使用**已归档路径** `[[inbox/archived/文件名]]`(同一次处理中在归档完成后补全)
|
||
|
||
**没有 bible → 新建**
|
||
- 角色:从 `template/tpl-character.md` 复制到 `kb/bible/角色/{名称}.md`
|
||
- 设定:从 `template/tpl-worldbuilding.md` 复制到 `kb/bible/设定/{名称}.md`
|
||
- 替换所有 `{{name}}`、`{{term_name}}` 占位符,不要写 Templater 标签
|
||
- 在 frontmatter 加 `created_by: ai`
|
||
|
||
**已有 beat → 更新**
|
||
- 若涉及 Fiction 内容:更新正文,在变更日志注明来源
|
||
- 若涉及 reveals:按步骤 2 的反向同步逻辑处理
|
||
- 若涉及 status 变更:更新 frontmatter
|
||
|
||
**没有 beat → 新建**
|
||
- 从 `template/tpl-beat.md` 复制到 `kb/beats/{id}.md`
|
||
- 替换占位符,填写 frontmatter 中能确定的字段
|
||
- **status**:若有具体 Fiction 草稿(至少一句话)→ `draft`;若仅因索引/叙事时间线需要而新建、尚无具体内容 → `backlog`
|
||
- Fiction:draft 时必须有至少一句话的草稿;backlog 时可为占位句(如「待写」),不能只有 YAML
|
||
- 在 frontmatter 加 `created_by: ai`
|
||
- **新建后必须回到对应 bible 的叙事时间线加一行**:draft 标 `🚧 草稿`,backlog 标 `🔹 无Beat` 或 `🚧 待写`
|
||
|
||
### 步骤 2:标记不确定处
|
||
|
||
不确定的信息标记 `[#TBD: 说明]`,不要凭猜测写入 SSOT 或 Fiction。
|
||
|
||
### 步骤 3:归档 inbox 文件
|
||
|
||
确认主要内容已归纳到对应 bible 或 beat 后,在文件最顶部加归档 frontmatter,再移动文件:
|
||
|
||
```yaml
|
||
---
|
||
archived: true
|
||
archived_date: YYYY-MM-DD
|
||
aggregated_to: [佩佩, 原型, kb/beats/佩佩-维修1.md]
|
||
note: 可选;仅在不完整时写「内容已聚合,但XX部分未处理」
|
||
---
|
||
```
|
||
|
||
- `aggregated_to`(必填):已聚合到的 bible/beat 条目名或相对路径
|
||
- `note`(可选):仅当部分内容未处理时填写
|
||
|
||
| 情况 | 动作 |
|
||
|------|------|
|
||
| 内容已归纳到位 | 移入 `inbox/archived/` |
|
||
| 明显未落地 | **留在 inbox**,不归档 |
|
||
| 不确定是否完整处理 | `note` 注明未处理部分后移入 archived |
|
||
|
||
### 步骤 4:git commit
|
||
|
||
```
|
||
git add .
|
||
git commit -m "inbox: 处理并归档 {文件名},更新 {涉及实体}"
|
||
```
|
||
|
||
### 步骤 5:输出处理摘要
|
||
|
||
```
|
||
## 处理摘要 [日期]
|
||
|
||
### 新建
|
||
- kb/bible/角色/xxx.md(AI 新建,来源:{inbox文件名})
|
||
- kb/beats/xxx.md(AI 新建,来源:{inbox文件名})
|
||
|
||
### 更新
|
||
- kb/bible/角色/yyy.md:补充了{具体内容}
|
||
- kb/beats/zzz.md:Fiction 补充台词;叙事时间线状态更新为 ✅
|
||
|
||
### 无需变更
|
||
- xxx:inbox 内容已在 bible 中覆盖,无新增信息
|
||
|
||
### 发现的冲突
|
||
- [冲突主题]:版本A(来源)vs 版本B(来源),已记录到冲突表,待人裁决
|
||
|
||
### 已归档
|
||
- inbox/{文件名} → inbox/archived/{文件名}(aggregated_to: [xxx, yyy])
|
||
|
||
### 需人类决定
|
||
- [ ] 问题1
|
||
- [ ] 问题2
|
||
```
|
||
|
||
---
|
||
|
||
## 信息边界(Bible vs Beat)
|
||
|
||
- **Beat**:游戏内事件信息(场景、发生什么、玩家经历、信息在哪里揭示);叙事时间线由 beat 驱动,AI 同步,人不手动维护事件性内容。
|
||
- **Bible**:事件之外的信息(角色是谁、设定规则、跨叙事静态事实);不人工维护动态/事件性内容。索引或时间线遇到需新建 beat 时即建 beat,标 `backlog`。
|
||
|
||
## 约束(任何情况下均适用)
|
||
|
||
- **不自行解决冲突**:记录两版 + 来源,等人裁决
|
||
- **不做创意判断**:只做信息整理,不评价设定对错
|
||
- **不确定不写入 SSOT 或 Fiction**:标 `[#TBD]` 而非猜测
|
||
- **每次变更必须写 changelog**:日期、内容、来源三列必填
|
||
- **阶段一不修改任何文件**:收到确认前只分析不执行
|
||
- **AI 新建的文件必须标记**:bible 和 beat 均在 frontmatter 加 `created_by: ai` |