chore: template 整理,移除废弃模板并新增 README

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-24 16:59:06 +08:00
co-authored by Cursor
parent 093788ebd2
commit f68edf961d
4 changed files with 44 additions and 155 deletions
+44
View File
@@ -0,0 +1,44 @@
# 模板与 Templater 说明
项目使用 Obsidian 插件 Templater。AI 创建 bible/beat 时需与模板体系兼容。与 Agent 身份与原则见 **`AGENTS.md`**;本文档说明**模板位置、占位符、新建/修改流程**以及 **Bible 可读性与结构**
---
## 模板位置
| 用途 | 路径 |
|------|------|
| TemplaterObsidian 内) | `kb/template/` |
| AI 创建文件时参考 | `template/`(项目根) |
| 两者内容应同步,**以 `template/` 为源** |
---
## 占位符约定
- **`{{name}}`**:角色名,AI 填充时用上下文角色名。
- **`{{title}}`**Beat/Eureka 标题,AI 填充时用场景-事件。
- **`{{term_name}}`**:世界观设定名。
Templater 语法对应:`<% await tp.system.prompt("提示", "默认值") %>``tp.file.title`(以文件名为值)。**AI 创建文件时**:直接替换占位符为实际值,不写入 Templater 标签。
---
## 新建文件流程
- **人类**:命令面板 → `Templater: Create new note from template` → 选模板 → 保存到对应目录。
- **AI**:读取 `template/tpl-*.md`,复制内容,替换 `{{xxx}}` 为实际值,写入 `kb/bible/角色/``kb/bible/设定/``kb/beats/` 等。
---
## 修改模板时
修改 `template/` 下任意 `tpl-*.md` 后,需**同步到 `kb/template/`**,保证 Obsidian 内 Templater 使用最新版本。
---
## Bible 可读性与结构(自然语言优先)
- **开篇必读**:正文最前用「一句话」+「自然语言介绍」让人和 AI 快速抓意图;假设读者不知道该概念,用 2~5 段连贯文字说明「是什么、在剧情里起什么作用、和谁相关」,用 `[[wikilink]]` 关联角色与设定。
- **详情可折叠**:权威设定(定义、流程、时间线、实体关系网)、待确认/冲突、变更日志/来源索引可放在 Obsidian 折叠块(`> [!abstract]- 标题` 等)中,需要时再展开;或保留在 YAML 中供机器用。
- **模板参考**:新建/大改 bible 时以 `template/tpl-worldbuilding.md``template/tpl-character.md` 为参考;两者已同步到 `kb/template/` 供 Templater 使用。
-44
View File
@@ -1,44 +0,0 @@
---
id: "" # D00, D01, D02...
type: day
title: ""
chapter: "" # 序章 | 第一章 | 第二章 | 第三章 | 第四章 | 第五章
emotional_arc: "" # 这一天整体的情绪弧线
created: ""
updated: ""
tags: [day]
---
# Day {{id}}{{title}}
> **章节**{{chapter}}
> **情绪弧线**{{emotional_arc}}
---
## Beat 列表
> 由 beat 文件的 `day` / `order_in_day` 驱动,与 outline、Kanban 一致。未建文件的 beat 需在 `kb/beats` 下新建并在 Kanban 中归属到本日。
```dataview
TABLE
order_in_day as "顺序",
file.link as "Beat",
beat_type as "类型",
emotional_tone as "情绪基调",
dev_status as "制作状态"
FROM "kb/beats"
WHERE type = "beat" AND day = this.id
SORT order_in_day ASC
```
---
## 本日结束时玩家已知
> AI 在每个 beat 完成后累积更新。写作者写下一天的 beat 时从这里获取上下文。
- 关于角色:
- 关于世界观:
- 关于剧情:
- 关于机制/玩法:
-48
View File
@@ -1,48 +0,0 @@
---
type: eureka
status: unprocessed # unprocessed | processing | done
priority: normal # urgent | normal | low
created: ""
source: "" # 会议 | 脑暴 | 飞书 | 灵感 | 测试反馈
affects: [] # AI 填充:受影响的 bible/beat 文件名列表
tags: [eureka]
---
# {{title}}
---
## 原始内容
{把想法倒进来,任何形式都可以}
---
## AI 处理记录
**影响分析**
| 受影响条目 | 操作类型 | 具体变化 |
|----------|---------|---------|
| | 新建/修改/冲突 | |
**待人工决策**
{需要创意判断的问题,AI 不做决策,列在这里}
---
## Retcon 追踪
> AI 分析这个 eureka 会推翻/修改哪些已写好的内容
| 受影响文件 | 受影响区块 | 当前内容 | eureka 要求 | 状态 |
|-----------|----------|---------|------------|------|
| | | | | 待裁决 |
---
## 处理结果
| 操作 | 目标条目 | 执行日期 |
|------|---------|---------|
| | | |
-63
View File
@@ -1,63 +0,0 @@
---
type: outline
version: "0.1"
status: draft
created: ""
updated: ""
tags: [outline]
---
# Outline
> AI auto-generated read-only view. Do not edit manually.
---
## Flow
> Day -> Beat list. Beat order maintained in Day files.
### Day 00
```dataview
TABLE beat_type AS "Type", emotional_tone AS "Tone", format AS "Format", dev_status AS "Status"
FROM "kb/beats"
WHERE day = "D00"
SORT order_in_day ASC
```
![[D00#本日结束时玩家已知]]
---
*Copy Day block as needed.*
---
## Dev Status
```dataview
TABLE length(rows) AS "Count"
FROM "kb/beats"
GROUP BY dev_status AS "Status"
```
---
## Open Retcons
```dataview
LIST
FROM "kb/beats"
WHERE contains(file.content, "[#Retcon")
```
---
## Open TBDs
```dataview
LIST
FROM "kb/beats"
WHERE contains(file.content, "[#TBD")
```