diff --git a/template/README.md b/template/README.md new file mode 100644 index 0000000..a896e4a --- /dev/null +++ b/template/README.md @@ -0,0 +1,44 @@ +# 模板与 Templater 说明 + +项目使用 Obsidian 插件 Templater。AI 创建 bible/beat 时需与模板体系兼容。与 Agent 身份与原则见 **`AGENTS.md`**;本文档说明**模板位置、占位符、新建/修改流程**以及 **Bible 可读性与结构**。 + +--- + +## 模板位置 + +| 用途 | 路径 | +|------|------| +| Templater(Obsidian 内) | `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 使用。 diff --git a/template/tpl-day.md b/template/tpl-day.md deleted file mode 100644 index 5f655b0..0000000 --- a/template/tpl-day.md +++ /dev/null @@ -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 时从这里获取上下文。 - -- 关于角色: -- 关于世界观: -- 关于剧情: -- 关于机制/玩法: diff --git a/template/tpl-eureka.md b/template/tpl-eureka.md deleted file mode 100644 index 853b369..0000000 --- a/template/tpl-eureka.md +++ /dev/null @@ -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 要求 | 状态 | -|-----------|----------|---------|------------|------| -| | | | | 待裁决 | - ---- - -## 处理结果 - -| 操作 | 目标条目 | 执行日期 | -|------|---------|---------| -| | | | diff --git a/template/tpl-outline.md b/template/tpl-outline.md deleted file mode 100644 index 6c0af24..0000000 --- a/template/tpl-outline.md +++ /dev/null @@ -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") -```