docs(kb): 精简为目录与权限表,inbox/proposals 在项目根
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+21
-55
@@ -1,63 +1,29 @@
|
||||
# 知识库 (kb) 约定
|
||||
# 知识库 (kb)
|
||||
|
||||
本目录为叙事/世界观知识库的单一信息源(SSOT)。与 Agent 身份、核心原则、信息边界见项目根 **`AGENTS.md`**;本文档仅约定**命名、废弃与来源索引**。
|
||||
叙事/世界观的**单一信息源(SSOT)**。Agent 身份与核心原则见 `AGENTS.md`。
|
||||
|
||||
**删除/废弃策略**:禁止物理删除任何 bible 或 beat 文件。AI 没有删除权限。废弃操作 = 修改 `status` 为 `archived` 或 `deprecated` + 在 changelog 记录原因;若项目约定了归档子目录,可再将文件**移动**至该目录(如 `_archived/`)。详见下方各类型的废弃处理。
|
||||
## 目录
|
||||
|
||||
---
|
||||
```
|
||||
kb/
|
||||
├── bible/
|
||||
│ ├── 角色/ # 角色条目 (type: character)
|
||||
│ └── 设定/ # 世界观/设定条目 (type: worldbuilding)
|
||||
├── beats/ # 节拍(最小叙事单元)
|
||||
├── decisions/ # 决策记录
|
||||
└── template/ # Templater 模板(Obsidian 内用)
|
||||
```
|
||||
|
||||
## Bible 命名约定
|
||||
**不在 kb 下**:`inbox/`、`inbox/archived/`、`proposals/`(含 `proposals/archive/`)均在**项目根**。
|
||||
|
||||
- **条目与文件名均使用中文**:与条目标题/主名一致,如 `佩佩.md`、`火山.md`、`主脑.md`、`原型.md`;不含空格,多词可用短横线,如 `世界观-年表.md`。
|
||||
- 若协作环境或工具对中文路径支持不佳,可保留拼音/英文文件名,在 frontmatter 的 `id` 与正文标题中写中文主名。
|
||||
- frontmatter 中的 **`aliases`** 字段包含所有已知名称/变体(中文、英文、拼音),供检索用。
|
||||
项目根 `template/` 为 AI 创建文件时参考的模板源,详见 `template/README.md`。
|
||||
|
||||
---
|
||||
## 操作与权限
|
||||
|
||||
## Beats 命名约定
|
||||
| SKILL | 可读 kb | 可写 kb | 说明 |
|
||||
|-------|--------|--------|------|
|
||||
| `inbox-directive` | ✅ | ✅ 新建/更新/废弃 Bible 与 Beat | 唯一可修改 SSOT 的路径;含命名约定与废弃处理 |
|
||||
| `inbox-proposal` | ✅ | ⚠️ 仅写入项目根 `proposals/` | 不改 SSOT,提案落库 |
|
||||
| `inbox-discussion` | ✅ | ❌ | 只读查询与对话,不修改任何文件 |
|
||||
|
||||
- **文件名即 ID**:Beat 的 `id` 字段必须与文件名(不含扩展名)完全一致。若文件名为 `佩佩-维修1.md`,则 frontmatter 中 `id: "佩佩-维修1"`。ID 与文件名不一致会导致 Obsidian 链接维护复杂,AI 新建文件时自动将 id 填为与文件名相同。
|
||||
- **格式**:`{场景或角色}-{事件/情境核心词}` 或 `{类别}-{核心内容}`。
|
||||
- **不含编排信息**:Day、D01、order 等只放在 frontmatter,不放文件名。
|
||||
- **以内容为核心**:场景+事件(如 诊室门口-年审公布)、角色+情境(如 佩佩-维修1)、梦境(如 梦-海边)。
|
||||
- 类型(beat_type)放 frontmatter,命名无需重复。
|
||||
|
||||
---
|
||||
|
||||
## Beat 废弃处理
|
||||
|
||||
当某个 beat 需废弃时(含 inbox 要求「删掉某 beat」时,一律按废弃处理,**不物理删除**):
|
||||
|
||||
1. **只改 beat 文件**:`status: deprecated`,changelog 记录废弃原因。文件保留在 `kb/beats/`,不移动。
|
||||
2. **bible 叙事时间线**:不强制更新;链接保留,点入 beat 可见已废弃。若需在表格中标注,可将对应行状态改为 `❌ 已废弃`。
|
||||
3. **dataview**:查询时加 `WHERE status != "deprecated"` 即可排除废弃 beat。
|
||||
|
||||
## Bible(角色/设定)废弃处理
|
||||
|
||||
当某条角色或设定需废弃时(含 inbox 要求「删掉设定/角色 X」时,一律按废弃处理,**不物理删除**):
|
||||
|
||||
1. **修改条目**:在 frontmatter 将 `status` 改为 `archived` 或 `deprecated`,changelog 记录废弃原因与来源。
|
||||
2. **可选—移动至归档目录**:若希望与在用条目分开,可将文件**移动**到同类型下的归档子目录,例如 `kb/bible/设定/_archived/`、`kb/bible/角色/_archived/`;不删除文件。
|
||||
3. **链接**:其他 bible 或 beat 中若引用该条目,链接保留即可,点入可见已废弃。
|
||||
|
||||
---
|
||||
|
||||
## 提案 (Proposals)
|
||||
|
||||
- **位置**:`kb/proposals/`;已采纳或已废弃移入 `kb/proposals/archive/`,并在 frontmatter 中设 `status: accepted` 或 `status: rejected`。
|
||||
- **命名**:`P-{三位序号}_{简短标题}.md`,如 `P-001_佩佩机器人化.md`。新建时取当前未占用的最小序号。
|
||||
- **与 Bible/Beat 的关系**:提案**不写入** Bible 或 Beat 正文。在提案的 frontmatter 中填写 `targets`(wikilink 数组指向涉及的 Bible/Beat),则对应角色或节拍页面底部会通过 Dataview 自动展示「关联提案」;无需在 Bible/Beat 内手写链接。
|
||||
- **决策前**:提案内的「初始影响分析」为创建时快照,采纳前应要求 AI 重算当前影响范围。采纳流程见 **`AGENTS.md`** 中的「采纳提案时的决策前工作流」。
|
||||
|
||||
---
|
||||
|
||||
## Beat 集中索引
|
||||
|
||||
- **[[Beats总览]]**:Backlog(待写稿)集中列表 + 已有 Beat 全表,由 Dataview 从 `kb/beats` 聚合。写稿前从 Backlog 选;写稿后改 `status` 即从 Backlog 区自动移出。
|
||||
|
||||
---
|
||||
|
||||
## Bible 来源索引
|
||||
|
||||
- **正常流程**:经 inbox 流程处理并被 bible 引用的来源,会先归档到 `inbox/archived/`;来源索引中的链接应使用**已归档路径** `[[inbox/archived/文件名]]`,便于跳转原文且与流程一致。
|
||||
- 未走归档流程的少数来源(如人工直接创建的 bible)可暂时用 `inbox/xxx` 或注明「未归档」,待后续归档后更新链接。
|
||||
入口判断(讨论 / 提案 / 指令)见 `AGENTS.md` → 约束与工具。
|
||||
|
||||
Reference in New Issue
Block a user