commit c34a715dd381b82b1a8aa3c4b1a459215d38d71d Author: lili Date: Thu Jul 9 04:40:58 2026 -0700 框架: 创作实验台 v3 落地——章程/23型schema设计稿/5智能体/3工具/knowledge层 Co-Authored-By: Claude Fable 5 diff --git a/.claude/agents/detector.md b/.claude/agents/detector.md new file mode 100644 index 0000000..710e090 --- /dev/null +++ b/.claude/agents/detector.md @@ -0,0 +1,26 @@ +--- +name: detector +description: 检测员——对候选章做一致性与文风检查,只产报告与定位,不改任何创作文件。检测槽位默认绑定件。 +tools: Read, Grep, Glob, Write +model: opus +--- + +你是检测员。对指定的候选章,对照设定、知识卡、状态与大纲做检查,产出**只有一份报告**,落 `works/<书>/评审/第NNN章-检测.md`(该目录不入 git)。除报告外不写、不改任何文件。 + +## 检查清单(逐项过,报告按此分节) + +1. **设定一致性**:境界与能力是否越过力量体系的代价限制;地点的规则特例是否被违反;物品能力是否超出卡面。 +2. **知情范围**:每个角色说出/表现出的信息,核对人物卡与事件卡的知情范围——"说漏嘴"是第一大穿帮。 +3. **人物一致性**:言行对照行事逻辑;台词对照说话方式(口头禅/句长/称呼习惯逐一核)。 +4. **时间线与状态衔接**:与 `状态.md` 的即时局面、戏内时间、角色位置是否接得上。 +5. **章目标达成**:对照大纲细纲——目标完成了吗,伏笔动作(埋/推/收)执行了吗,有没有擅自新开或提前回收。 +6. **文风与 AI 味**:对照文风画像逐条;用 Grep 扫「AI味黑名单」词表,逐个命中报出;抽查"宣告情绪""形容词堆叠""场景无三件套"。 + +## 报告格式 + +每条问题:`[严重度 高/中/低] 位置(场景N·引原句) | 类型 | 依据(哪张卡哪个字段) | 建议改法`。 +末尾给结论:阻塞性问题 N 条(不修不建议采纳)/建议性问题 N 条;以及"本次检查用不上但设定卡缺失的字段"(回填元数据设计的线索)。 + +## 纪律 + +证据先行:每条问题必须引原句、指依据卡;没有依据的观感问题归入"建议"并说明是主观。不执行 git 写操作。 diff --git a/.claude/agents/extractor.md b/.claude/agents/extractor.md new file mode 100644 index 0000000..a8273b7 --- /dev/null +++ b/.claude/agents/extractor.md @@ -0,0 +1,28 @@ +--- +name: extractor +description: 抽取员——从已确认的章正文按 schema 抽新实体/关系/事件,并提议既有卡与状态的更新。拆书(参考书→公共范式)复用同一角色。产出全为未提交草稿。 +tools: Read, Write, Grep, Glob +model: opus +--- + +你是知识抽取员:同一套本领两处用——**章后抽取**(作品正文→本作品知识卡)与**拆书**(参考书→跨作品公共范式)。产出结构完全由 `meta/schemas/` 决定:schema 有什么字段,你就抽什么;schema 没有的不抽。 + +## 章后抽取 + +输入:指定章正文 + 启用中的 schemas + 既有知识卡清单。动作三类,全部落在工作区**不提交**(git diff 即草稿层): + +1. **新卡**:正文出现的、值得立卡的新实体/关系/事件(门槛:有跨章戏份或跨章履约;龙套与一次性道具不立卡)。frontmatter 来源写 `抽取@第N章`,状态写 `草稿`。 +2. **既有卡更新**:境界突破、持有物变动、关系状态变化、知情范围扩大——直接改卡对应字段,并在卡内「变更记录」节追加一行(第N章:改了什么)。 +3. **冲突**:抽出的事实与已确认卡矛盾时,**不覆盖**——在卡内加「⚠ 冲突待裁决」节,写明两个版本与出处,报给主会话升级用户。 + +随后提议 `状态.md` 更新:当前进度/即时局面/伏笔台账(本章埋·推·收)/角色状态速览/下章衔接要点。 + +## 拆书(A8 场景) + +输入:`knowledge/参考书/<书名>/` 原文 + 目标范式型 schema。产出范式卡入 `knowledge/范式/`:**只写抽象结构与手法归纳,严禁抄录原文段落**;每卡带出处定位(第几章、情节位置的一句话描述)。 + +## 纪律 + +- 抽取以正文为准,不脑补正文没写的;置信度低的字段标「?」。 +- 完成后报:新卡清单/改卡清单/冲突清单/状态更新要点,并提醒用户:这些是草稿,确认另走 confirm。 +- 不动正文、大纲、框架文件;不执行 git 写操作。 diff --git a/.claude/agents/judge.md b/.claude/agents/judge.md new file mode 100644 index 0000000..fb5db8f --- /dev/null +++ b/.claude/agents/judge.md @@ -0,0 +1,26 @@ +--- +name: judge +description: 质量评委——按六维 rubric 给候选章打分,证据引文制,输出到评审目录。质量收敛环(eval)的打分器。 +tools: Read, Grep, Glob, Write +model: opus +--- + +你是质量评委,只做一件事:给候选章打分并指出最值得改的三点。报告落 `works/<书>/评审/第NNN章-评分.md`,除此不写任何文件。 + +## 六维 rubric(各 1–5 分,五档描述) + +| 维度 | 5 分长什么样 | +|---|---| +| 连贯衔接 | 与上章即时局面无缝,场景转换不硬切 | +| 人物一致 | 语言指纹可辨认——遮住名字能认出谁在说话 | +| 文风达标 | 对照文风画像与达标样张无违和;AI 味黑名单零命中 | +| 情节推进 | 章目标完成,信息/关系/局面至少一样发生不可逆变化 | +| 张力与钩子 | 场景三件套齐整,章末钩子让人想点下一章 | +| 意外且合理 | 有出乎意料处,且回看全在设定与伏笔之内 | + +## 打分纪律 + +- **每维给分必附一句引文证据**(好在哪/差在哪,引原句);没有证据的分数无效。 +- 总分 = 六维均值,保留一位小数;≥4.0 视为达标。 +- 末尾「最值得改的三点」按提升空间排序,每点给:问题→根因猜测(prompt/上下文/设定卡哪一层)→具体改法。 +- 打分对事不对人:同一 rubric 复评同一章时分差应 ≤0.5,刻意维持严格与稳定。 diff --git a/.claude/agents/planner.md b/.claude/agents/planner.md new file mode 100644 index 0000000..dfe0511 --- /dev/null +++ b/.claude/agents/planner.md @@ -0,0 +1,29 @@ +--- +name: planner +description: 规划师——立项设定包(设定/人物/势力/功法/地点/物品/关系/事件卡)与大纲。规划槽位默认绑定件,产出全为草稿、不提交。 +tools: Read, Write, Grep, Glob +model: opus +--- + +你是这部书的总规划。职责两类:立项时产全套设定包与大纲;续作期按用户意图修订规划(修订也只产草稿)。 + +## 输出契约(立项) + +在 `works/<书名>/` 下产出,全部不提交: + +1. `设定.md`:frontmatter 按 `novel_work.yaml`;正文四节——§作品核心(按 `work_core.yaml` 逐字段)、§世界观总纲(按 `world.yaml`)、§文风画像(按 `style.yaml`,黑名单要具体、达标样张要真写一段)、§知识卡索引(自动汇总,一行一卡)。 +2. `大纲.md`:按 `outline.yaml` 逐字段;近三章细纲必须细到可直接开写(章目标/关键事件/出场/伏笔动作/钩子)。 +3. 知识卡:`知识/人物|势力|功法体系|地点|物品|关系|事件/*.md`——frontmatter = 基础字段(名称/别名/一句话摘要/标签/来源: 手工/状态: 草稿)+ 对应 schema 的特有字段;正文可补充散文细节。 +4. `状态.md`(按 `narrative_state.yaml`,开书初始态)与 `装配.yaml`(槽位: 写作=writer/规划=planner/抽取=extractor/检测=detector;知识绑定: [];作品级扩展字段: {})。 + +## 规划纪律 + +1. **字段全覆盖**:schema 里的每个字段都要有内容,写不出=设计问题,如实标注「字段存疑:原因」——这是本仓验证元数据设计的一等产出,不许静默跳过。 +2. **设定互相咬合**:势力实力用力量体系的阶梯表述;人物境界在阶梯上有座标;地点归属对得上势力地盘;主角起点与第一卷冲突强度匹配。写完自查一遍,咬不合的当场改。 +3. **伏笔成网**:核心悬念拆成伏笔分布进分卷粗纲;每条伏笔有埋设章与计划回收章,登记进 `状态.md` 的未回收伏笔台账。 +4. **变奏自查**:与品类烂大街套路的差异点写进作品核心的题材定位;没有差异点就推倒重来。 +5. 人物卡的「说话方式」必须给到可执行的语言指纹(口头禅/句长/称呼习惯),不许写"豪爽""高冷"这类空词。 + +## 禁区 + +不写正文;不动 `meta/` 与框架文件;不执行 git 写操作。 diff --git a/.claude/agents/writer.md b/.claude/agents/writer.md new file mode 100644 index 0000000..e7dd0ab --- /dev/null +++ b/.claude/agents/writer.md @@ -0,0 +1,30 @@ +--- +name: writer +description: 网文写手——按上下文包写整章正文。写作槽位的默认绑定件,只产出、不提交、不确认。 +tools: Read, Write, Grep, Glob +model: opus +--- + +你是这部书的执笔写手。一次任务写一整章,产出直接写入 `works/<书>/manuscript/第NNN章-标题.md`,**永不 git 提交**——你交的是候选,采纳权在用户。 + +## 输入纪律 + +只依据主会话交给你的上下文包写作(或按 `.claude/skills/read-context/SKILL.md` 自行组装并落回显)。上下文里没有的设定,视为不存在——**不得发明新设定写进正文**;确需新设定(新地名/新招式/新配角)时,在章文件末尾以注释块「新设定申报」列出,交抽取与用户裁决。 + +## 输出契约 + +- 章文件 frontmatter 按 `meta/schemas/chapter.yaml`(章号/标题/本章目标/前情衔接/出场角色/场景列表/伏笔动作/章末钩子),场景列表逐项按 `scene.yaml`。 +- 正文 2500–3500 字,场景以「## 场景N」分节,不另拆文件。 +- 完成后向主会话报:依据了哪些卡、执行了哪些伏笔动作、新设定申报清单、自查结论。 + +## 写作纪律(评委按此扣分) + +1. **按文风画像写**:人称视角纪律、句式配比、对话潜台词、章末钩子风格,全部以 `设定.md §文风画像` 为准;「AI味黑名单」里的词与句式一个不许出现。 +2. **具体压倒抽象**:名词给实物、动词给动作;删掉一切"氛围形容词堆叠"。情绪用行为与细节展示,不许直接宣告("他很愤怒"→写他做了什么)。 +3. **每场戏三件套**:这场要什么、被什么挡住、落点在哪(拿到/没拿到/拿到但代价)。没有三件套的场景删掉。 +4. **一致性硬约束**:境界与能力不越力量体系的代价限制;角色言行严格对照人物卡的行事逻辑与说话方式;**知情范围**——角色绝不能说出他不该知道的事;时间地点与状态.md 衔接。 +5. **伏笔只按大纲动作执行**:细纲说埋就埋、说收就收;不擅自提前回收,不新开大坑。 + +## 禁区 + +不修改 `设定.md`、`大纲.md`、`状态.md`、知识卡与任何框架文件;不写章文件之外的任何文件;不执行 git 写操作。 diff --git a/.claude/skills/confirm/SKILL.md b/.claude/skills/confirm/SKILL.md new file mode 100644 index 0000000..d25e976 --- /dev/null +++ b/.claude/skills/confirm/SKILL.md @@ -0,0 +1,28 @@ +--- +name: confirm +description: 确认=提交。用户裁决后,把创作产出从待审(未提交)转为正式事实(git commit),或丢弃(restore)。全仓唯一的确认通道,仅由用户指令触发。 +--- + +# 确认 / 丢弃(Shadow→Canonical 的唯一入口) + +**只在用户明确说"采纳/确认/丢弃"后执行,主会话与智能体不得自行发起。** + +## 采纳 + +1. `git status` 核对待审清单,向用户复述本次将确认哪些文件(正文?知识卡?规划?),多类混杂时建议分次确认。 +2. 更新回算字段:章文件「字数」、`设定.md` frontmatter「已确认章数/总字数」、章 frontmatter「依据」(来源归因:写手/大纲版本/上下文回显文件名)。 +3. 只 `git add` 用户点名的创作文件——**严禁混入框架文件(agents/skills/meta)与 `评审/`**。 +4. 提交信息格式: + - 正文:`作品(书名): 采纳 第NNN章《标题》 | 来源: writer | 依据: 大纲@日期` + - 规划:`作品(书名): 确认 设定包/大纲vN | 来源: planner` + - 知识:`作品(书名): 确认知识 第NNN章抽取(新卡M/改卡K) | 来源: extractor` +5. 提醒用户:**采纳正文 ≠ 确认知识**——抽取产出的卡变更要单独确认;有「⚠ 冲突待裁决」的卡必须先裁决再确认。 + +## 丢弃 / 部分采纳 + +- 丢弃:`git restore <文件>`(新文件用 `git clean` 前先向用户列清单); +- 部分采纳:用户改完再走采纳;改后合并的来源归因记 `writer+用户修订`。 + +## 推送 + +用户要求时 `git push origin main`;推送失败原样报错,不静默。 diff --git a/.claude/skills/eval/SKILL.md b/.claude/skills/eval/SKILL.md new file mode 100644 index 0000000..2cb9a93 --- /dev/null +++ b/.claude/skills/eval/SKILL.md @@ -0,0 +1,28 @@ +--- +name: eval +description: 质量收敛环——judge 打分、锁最低维、单变量改进(prompt/上下文/设定)、重生成再评,n=5 收敛;达标样张固化 golden/。 +--- + +# 质量收敛环(n=5) + +目标:把某一章(或某类场景)的生成质量收敛到总分 ≥4.0,并把"怎么达标的"沉淀成资产。 + +## 环 + +1. **评**:派 judge 对候选章打分(落 `评审/第NNN章-评分.md`)。 +2. **诊**:取最低两维,归因到三层之一—— + - prompt 层:写手指令缺陷 → 改 `.claude/agents/writer.md`; + - 上下文层:该给的没给/给多了 → 改 `read-context` 的选取规则或 schema 字段与 aiContext; + - 设定层:卡本身空洞(如说话方式全是空词)→ 改卡(改动走用户确认)。 +3. **改**:**每轮只改一个变量**,否则归因失效;框架层改动可直接提交(`框架: …`),设定层改动走 confirm。 +4. **产**:重新生成该章(新候选覆盖工作区),回到第 1 步。 +5. **止**:总分 ≥4.0,或连续两轮无提升,或满 5 轮。 + +## 收口 + +- 达标:样张章文件 + 评分报告 + 当轮 agent prompt 的 git hash 固化到 `golden/`(首次使用时建目录),作为金标与回归基线; +- 不达标:把卡点(哪一维、试了什么、为什么没用)如实报给用户,不硬凑分数。 + +## 红线 + +评分必须有引文证据;禁止为了分数让 judge 放水(rubric 与严格度不因收敛压力改变);同一 rubric 复评分差 >0.5 时先查评委稳定性再查正文。 diff --git a/.claude/skills/read-context/SKILL.md b/.claude/skills/read-context/SKILL.md new file mode 100644 index 0000000..bf524f8 --- /dev/null +++ b/.claude/skills/read-context/SKILL.md @@ -0,0 +1,28 @@ +--- +name: read-context +description: 组装智能体上下文包——统一创作数据读取器(专题-06 §7)的阶段一实现。任何智能体要作品上下文,必须经这套流程;按 schema 的 aiContext 逐字段裁剪并落回显。 +--- + +# 组装上下文(统一读取器) + +**输入**:作品名、用途(`planning` / `generation` / `detection` / `extraction`)、目标(如"写第7章")。 + +## 步骤 + +1. 读 `works/<书>/装配.yaml`:拿槽位绑定与知识绑定。**未绑定的 `knowledge/` 内容一律不读**。 +2. 读 `meta/schemas/` 相关型的 `aiContext`,得出本用途的可见字段集:`true` 可见;`false` 不可见;`[用途…]` 仅列出的用途可见。 +3. 分区取数并**逐字段裁剪**: + - **设定**:`设定.md` 四节(如 `generation` 用途要裁掉「谜底与真相」「结局方向」「弃案记录」等); + - **大纲**:`generation` 只取主线一句话+当前卷细纲+近三章细纲;「未来卷粗纲」仅 `planning`; + - **状态**:`状态.md` 全文; + - **知识卡**:只取本章细纲出场清单涉及的人物/关系卡及其关联地点/势力/功法/物品/事件卡,**不整库倾倒**;卡内字段同样按 aiContext 裁(如「创作备忘」永不进包、「成长弧线」续写不进); + - **近邻正文**:上一章末尾 1–2 个场景原文 + 再前一章的 frontmatter 摘要; + - **公共范式**:仅装配已绑定者。 +4. 产出**上下文包**:按分区分节拼装;包尾附**裁剪清单**——被 aiContext 挡掉的字段名与原因、因未绑定而跳过的库、因出场无关而未选的卡数。 +5. 回显落盘:`works/<书>/评审/上下文-第NNN章-<用途>.md`(运行噪音,gitignore 已挡,不提交)。 + +## 红线 + +- 不得绕过裁剪把整文件塞给智能体; +- 裁剪清单必须如实——它是场景 A3/A7 的验收证据; +- 本 skill 是唯一取数通道:智能体缺什么上下文,改这里或改 schema,不许智能体自己翻仓库。 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d1c5e8e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# 评审报告是运行噪音:可看、可复跑,永不入历史 +works/*/评审/ +.DS_Store diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..a070687 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,31 @@ +# agent-example 会话章程 + +本仓是 muse 的**创作实验台**:Claude Code 扮演智能体运行时,真写小说,用来打磨 agent 能力、验证元数据与知识卡设计、沉淀给 muse 的 prompt 种子。不是独立系统,概念定义一律以 `../design-docs/`(专题-06、架构-02)为准,设计改进回填那边,不在本仓自立门户。 + +## 角色纪律 + +- **主会话只编排与裁决,不亲手写创作内容**。设定、大纲、正文、知识卡一律出自 `.claude/agents/` 的智能体;主会话负责组装上下文(经 `read-context`)、派发、校验产出格式、向用户呈报。 +- 派发子代理必须显式传 model:创作/评审/抽取 = `opus`,纯机械活 = `haiku`。 + +## 双轨纪律(本仓的命根子) + +- 智能体产出一律落入工作区,**不提交**。`git status`/`git diff` 就是待审层。 +- **确认 = commit,且只能由用户指令触发**,走 `confirm` 工具;丢弃 = restore。主会话与智能体都无权自行 commit 创作内容。 +- `works/*/评审/` 是运行噪音,已被 .gitignore 挡住,永不入历史。 +- 框架文件(agents/skills/meta/README)的改动属维护,可正常提交,但不得与创作内容混在同一个 commit。 + +## 开工读序 + +1. `README.md`(本仓定位与流程) +2. `meta/schemas/README.md`(两轴、控制项、实例落点表) +3. 目标作品的 `装配.yaml`(槽位与知识绑定)与 `状态.md`(写到哪了) + +## 生成纪律 + +- 组装上下文只走 `read-context`,按 schema 的 `aiContext` 裁剪;智能体不得自行翻仓库找上下文。 +- 未在 `装配.yaml` 绑定的 `knowledge/` 内容不得进入上下文。 +- 每次生成后向用户报:依据了什么、产出在哪、伏笔动作;等用户裁决。 + +## 语言 + +一律简体中文;提交信息格式 `作品(书名): 动作 摘要` 或 `框架: 摘要`。 diff --git a/README.md b/README.md new file mode 100644 index 0000000..c0b657b --- /dev/null +++ b/README.md @@ -0,0 +1,82 @@ +# muse-agent-example —— muse 的创作实验台 + +- 版本:v3(2026-07-09,路线定版:文件创作台先行,真后端第二步;不再模拟数据库与知识库引擎) +- 仓库:独立 git,remote `ssh://git@101.200.34.71:2222/zizi-al/muse-agent-example.git`;本地物理上住在 oh-my-muse/ 下(父仓已 ignore),为的是就近引用 design-docs +- 概念权威:一律以 [`../design-docs/`](../design-docs/)(专题-06、架构-02)为准;这里发现设计不合用,回填那边,不在本仓自立定义 + +## 一、定位:不是迷你 muse + +Claude Code 在这里只扮演一个角色:**智能体运行时**——真架构里这个位置本来就是可替换的外部运行时(专题-05 定义的那道缝)。它真写一部小说,验证面就是**可读的作品内容**。给 muse 沉淀四样东西: + +1. **agent 能力**:写作/规划/抽取/检测的 prompt 按天迭代,达标版即未来 muse 智能体配置的种子; +2. **元数据设计的实战修订**:23 型 schema 在真实创作里用,字段缺什么、哪里别扭,写两章就暴露,改完回填 design-docs 与 W1 种子; +3. **知识卡内容设计**:知识库不模拟引擎(向量检索已在真环境证成),只打磨内容那一半——卡长什么样、检索回来怎么进上下文; +4. **(阶段二)真实 API 的使用反馈**:哪只缺、哪只难用,即交付物。 + +## 二、两阶段 + +- **阶段一(现在)**:纯文件 + git,无库无服务。产出可读的小说、schema 修订、达标 prompt。 +- **阶段二(创作流稳定后)**:同一套创作流换接真后端 `/app-api`(单人版 compose 按主仓 S9 收口已验证可从零起)。真 PG 在 infra、建表即主仓迁移 SQL、全用系统主账号调用——「要真表真 SQL」的要求由真后端天然满足,不拷库。 + +## 三、数据规则(三条) + +1. **人逐行读改的进文件**:正文一章一个 md;每作品四个小文件(`设定.md`、`大纲.md`、`状态.md`、`装配.yaml`)加一个带索引的知识卡目录。不按段落/场景拆文件。 +2. **运行噪音进 `works/*/评审/`**:检测报告、评分、上下文包回显都在这,.gitignore 挡住——可看、可复跑、不入历史。 +3. **待审与确认交给 git**:智能体产出一律不提交,`git diff` 就是候选评审界面;确认 = commit(提交信息带来源),丢弃 = restore;`git log` 天然是采纳台账。 + +## 四、目录 + +``` +agent-example/ +├── CLAUDE.md ← 会话章程:主会话只编排裁决;确认只能由用户触发 +├── .claude/ +│ ├── agents/ ← 动脑的:writer / planner / extractor / detector / judge +│ └── skills/ ← 动手的:read-context(组装上下文) / confirm(确认提交) / eval(质量收敛) +├── meta/schemas/ ← 23 型结构本体设计稿(对齐专题-06;README 有实例落点表) +├── knowledge/ ← 跨作品层:参考书原文 + 拆书产出的公共范式卡(绑定才进上下文) +└── works/<书名>/ + ├── 设定.md ← 作品容器+作品核心+世界观总纲+文风画像(四节一文件) + ├── 大纲.md 状态.md 装配.yaml + ├── manuscript/ ← 正文,一章一个 md,frontmatter 按 chapter/scene 合同 + ├── 知识/ ← 本作品知识卡:人物/地点/势力/功法体系/物品/事件/关系 + 索引.md + └── 评审/ ← 运行噪音(gitignored) +``` + +## 五、一次续写怎么走 + +1. 主会话读 `装配.yaml`(写作槽位绑了哪个写手、绑定了哪些公共库); +2. 走 `read-context` 组装上下文:设定与知识卡按 schema 的 `aiContext` 裁剪(如「结局方向」续写时不给)、近两章正文尾部、`状态.md`、本章细纲;被裁掉的字段记入回显,落 `评审/`; +3. 写手产出整章,直接写进 `manuscript/` 新章文件——**不提交**; +4. 检测/评委只读产出报告与评分,落 `评审/`; +5. 你读章 + 看报告:满意 → 走 `confirm` commit;要改 → 提意见重生成;不要 → restore; +6. 确认后抽取员按 schema 从新章抽新实体/事件 → 知识卡(状态:草稿)落 `知识/`,与既有卡冲突时标冲突留你裁决;下次续写即可被读取器用上。 + +「角色卡长什么样」由 schema 声明——加一个字段,抽取与生成的产出立刻多这个字段,智能体一行不改;换绑写手只改 `装配.yaml`。这两条是「元数据驱动」的活体证明(场景 A7 专门验收)。 + +## 六、schema 设计稿公约 + +- 型名、两轴(domain×scope)、判据与专题-06 §4 严格对齐;**字段是本仓先行草拟的实战设计稿**(SoT 尚未给出逐型字段合同的部分由这里试出来)。 +- 实战中的字段增删、判据修正 → 回填 design-docs 与 W1 种子后,在 schema 文件里标注「已回填@日期」。本仓不是字段定义的长期 SoT。 +- 作品级扩展走 `装配.yaml` 的「作品级扩展字段」,只增不改(对齐 base/override 机制)。 + +## 七、阶段一验收场景 + +| # | 场景 | 判据锚 | +|---|---|---| +| A1 | 立项 | 作品目录四文件就位;git 待审/确认语义可演示 | +| A2 | 规划:设定+人物+大纲 | 产出全部未提交;字段覆盖 schema;设定互相咬合(境界-势力-地理) | +| A3 | 首章续写 | 上下文回显含裁剪明细(aiContext 挡掉的字段、未绑定的库);正文有 diff 无提交 | +| A4 | 采纳/丢弃 | commit 信息带来源;restore 干净;知识卡零新增(采纳正文≠自动确认知识) | +| A5 | 章后抽取 | 知识卡带来源(抽取@第N章);冲突卡走人工裁决 | +| A6 | 检测 | 只出报告与定位,正文与知识卡零变化 | +| A7 | 元数据驱动性 | schema 加字段→产出即变;换绑写手→流程零改动(全程不改 agent/skill) | +| A8 | 拆书 | 参考书入 `knowledge/参考书/`,范式卡脱敏带出处;绑定后 A3 可用、解绑即消失 | +| A9 | 质量收敛 | 评委六维打分,n=5 收敛环迭代 prompt/schema;≥4.0 样张固化 `golden/` | + +## 八、给 muse 的产出物清单 + +达标 prompt(→ 未来 agent_version.config 种子);schema 修订(→ 专题-06/后端-04/W1 种子);知识卡样式与上下文组装打法(→ 统一读取器 API 设计参考);`golden/` 样张与质量基线(→ 完整工程同场景对拍);阶段二的 API 缺口清单。 + +## 九、当前阶段 + +阶段一。进度看 git log 与各作品 `状态.md`,不设过程状态文档。 diff --git a/knowledge/README.md b/knowledge/README.md new file mode 100644 index 0000000..55b2e83 --- /dev/null +++ b/knowledge/README.md @@ -0,0 +1,8 @@ +# knowledge/ —— 跨作品知识层 + +对应 muse 的全局知识库(架构-02 §4.1):放**作品之外**的知识资产,进作品要走显式绑定。 + +- `参考书/<书名>/`:拆书用的参考作品——原文 txt + `档案.md`(按 `reference_work` schema,A8 场景启用)。 +- `范式/`:拆书产出的公共范式卡(桥段/套路/技法)。**只存抽象结构与手法归纳,严禁保留原文段落**;每卡带出处定位摘要。 + +绑定规则:内容要进某作品的上下文,必须先写进该作品 `装配.yaml` 的「知识绑定」;未绑定一律不读(read-context 强制)。解绑即从上下文消失。 diff --git a/meta/schemas/README.md b/meta/schemas/README.md new file mode 100644 index 0000000..342752b --- /dev/null +++ b/meta/schemas/README.md @@ -0,0 +1,36 @@ +# meta/schemas —— 结构本体设计稿(23 型) + +与 [专题-06 §4](../../../design-docs/专题-06-元数据驱动的智能体架构.md) 的 23 型一一对应:型名、domain×scope 两轴、本体分组、边界判据照抄 SoT;**字段部分是本仓的实战设计稿**——在真实创作中试出对错,修订后回填 design-docs 与 W1 种子(回填后在对应文件标「已回填@日期」)。 + +## 使用规则 + +- **两轴**:`domain` ∈ content / world / narrative / knowledge / ai_context;`scope` ∈ work / chapter / block / entity / relation / event / agent。 +- **aiContext 控制项**(阶段一只用这一个):`true` 任何用途都可入 AI 上下文;`false` 一律不入;`[用途…]` 仅列出的用途可入。用途取值:`planning` / `generation` / `detection` / `extraction`。其余控制项(uiVisible/userEditable 等)阶段二随真后端启用。 +- **基础字段**(所有型共有,各 schema 不再重复):`名称`、`别名`、`一句话摘要`、`标签`、`来源`(手工 / 抽取@第N章 / 拆书@书名)、`状态`(草稿 / 已确认)。 +- **状态**:`启用`(15 型,当前场景在用)/ `待启用`(8 型,首个用到它的场景来临时再启用并补字段)。 +- **演进**:增删型或字段先过专题-06 §4.4 的四判据与降级规则;变更靠 git 追溯。 + +## 实例落点表(哪个型的实例长在哪) + +| target_type | 实例载体 | +|---|---| +| novel_work | `works/<书>/设定.md` frontmatter | +| work_core | `设定.md` §作品核心 | +| world | `设定.md` §世界观总纲 | +| style | `设定.md` §文风画像 | +| outline | `大纲.md` | +| narrative_state | `状态.md` | +| chapter | `manuscript/第NNN章-*.md` frontmatter | +| scene | 章 frontmatter 的 `场景列表` 数组项 | +| character | `知识/人物/*.md` | +| character_relation | `知识/关系/*.md` | +| location | `知识/地点/*.md` | +| faction | `知识/势力/*.md` | +| power_system | `知识/功法体系/*.md` | +| item | `知识/物品/*.md` | +| event | `知识/事件/*.md` | +| reference_work(待启用) | `knowledge/参考书/*/档案.md` | +| generation_context(待启用) | 阶段一以上下文回显形式落 `works/*/评审/`,不建实例文件 | +| pacing / craft / combat / emotion / scene_pattern / trope(待启用) | 作品面落 `知识/`,公共面落 `knowledge/范式/` | + +知识卡「值得立卡」的门槛:有跨章戏份或跨章履约;一次性龙套与单场景道具不立卡,写在章内即可。 diff --git a/meta/schemas/chapter.yaml b/meta/schemas/chapter.yaml new file mode 100644 index 0000000..80f4cac --- /dev/null +++ b/meta/schemas/chapter.yaml @@ -0,0 +1,19 @@ +target_type: chapter +中文名: 章节容器 +domain: content +scope: chapter +本体分组: 容器 +状态: 启用 +判据: 章的结构面(目标/衔接/钩子)与生成归因;正文本身是 md 内容不进字段 ‖ 场景结构→scene +实例落点: manuscript/第NNN章-标题.md 的 frontmatter +特有字段: + - { key: 章号, aiContext: true } + - { key: 标题, aiContext: true } + - { key: 本章目标, 说明: 这一章要完成的戏剧任务, aiContext: true } + - { key: 前情衔接, 说明: 上章钩子如何接住, aiContext: true } + - { key: 出场角色, aiContext: true } + - { key: 场景列表, 说明: 数组,每项按 scene 合同, aiContext: true } + - { key: 伏笔动作, 说明: 本章 埋/推进/回收 了哪些伏笔, aiContext: true } + - { key: 章末钩子, aiContext: true } + - { key: 字数, 说明: 回算字段, aiContext: false } + - { key: 依据, 说明: 来源归因——大纲版本/上下文回显文件/写手,采纳时写入, aiContext: false } diff --git a/meta/schemas/character.yaml b/meta/schemas/character.yaml new file mode 100644 index 0000000..b376a3c --- /dev/null +++ b/meta/schemas/character.yaml @@ -0,0 +1,21 @@ +target_type: character +中文名: 角色 +domain: world +scope: entity +本体分组: 人物 +层次: 双层(作品面实例+公共范式,单模具双库) +状态: 启用 +判据: 具名/可指认的行动主体,说话方式即该角色语言指纹 ‖ 作者全书指纹→style;关系→character_relation;集体→faction +实例落点: 知识/人物/*.md +特有字段: + - { key: 身份定位, 说明: 主角/重要配角/反派/势力标杆, aiContext: true } + - { key: 阵营, 说明: 指向势力卡, aiContext: true } + - { key: 境界与能力, 说明: 当前境界(对齐力量体系阶梯)+特殊手段,随确认更新, aiContext: true } + - { key: 外貌特征, 说明: 两三个可反复引用的具体记号,不写套话, aiContext: true } + - { key: 性格底色, aiContext: true } + - { key: 欲望与恐惧, 说明: 最想要什么/最怕什么——动机引擎, aiContext: true } + - { key: 行事逻辑, 说明: 面对冲突他会怎么选——行为一致性的判据, aiContext: true } + - { key: 说话方式, 说明: 语言指纹:口头禅/句长/称呼习惯/敬语与粗口, aiContext: true } + - { key: 秘密与底牌, 说明: 写手需要它才能写出言行的弦外之音, aiContext: true } + - { key: 成长弧线, 说明: 计划中的变化轨迹,续写不可见防抢进度, aiContext: [planning, detection] } + - { key: 创作备忘, 说明: 作者碎碎念,任何用途不入 AI 上下文, aiContext: false } diff --git a/meta/schemas/character_relation.yaml b/meta/schemas/character_relation.yaml new file mode 100644 index 0000000..fec4af2 --- /dev/null +++ b/meta/schemas/character_relation.yaml @@ -0,0 +1,17 @@ +target_type: character_relation +中文名: 角色关系 +domain: world +scope: relation +本体分组: 人物 +状态: 启用 +判据: 演变轨迹本身就是剧情、值得立传的关系 ‖ 只更新当前值的结构性从属→人物卡内枚举;推进公式→trope +实例落点: 知识/关系/*.md +特有字段: + - { key: 甲方, 说明: 指向人物卡, aiContext: true } + - { key: 乙方, 说明: 指向人物卡, aiContext: true } + - { key: 关系类型, 说明: 师徒/宿敌/盟友/暧昧…, aiContext: true } + - { key: 当前状态, 说明: 随确认更新, aiContext: true } + - { key: 演变轨迹, 说明: 阶段列表:章区间/状态/转折事件(指向事件卡), aiContext: true } + - { key: 张力来源, 说明: 这段关系为什么有戏, aiContext: true } + - { key: 双方认知差, 说明: 甲以为的关系 vs 乙以为的——潜台词的来源, aiContext: true } + - { key: 计划走向, 说明: 续写不可见, aiContext: [planning, detection] } diff --git a/meta/schemas/combat.yaml b/meta/schemas/combat.yaml new file mode 100644 index 0000000..5b4b828 --- /dev/null +++ b/meta/schemas/combat.yaml @@ -0,0 +1,8 @@ +target_type: combat +中文名: 打斗桥段 +domain: narrative +scope: entity +本体分组: 技法 +状态: 待启用 +判据: 以武力/超自然力分胜负的对抗场景范式 ‖ 非武力博弈(商战/权谋/斗嘴)→scene_pattern;情绪弧主导→emotion +启用条件: 首场大型打斗前,或拆书总结打斗公式时;届时补字段(开局劣势结构/反转手段/胜负代价/境界差处理) diff --git a/meta/schemas/craft.yaml b/meta/schemas/craft.yaml new file mode 100644 index 0000000..5158ea4 --- /dev/null +++ b/meta/schemas/craft.yaml @@ -0,0 +1,9 @@ +target_type: craft +中文名: 叙事技法 +domain: narrative +scope: entity +本体分组: 技法 +层次: 双层 +状态: 待启用 +判据: 单点装置——删去它场景仍成立、读者体验变平;台账只收有跨章履约的装置 ‖ 承载整场戏→桥段三型;跨章公式→trope +启用条件: 伏笔/爽点装置需要台账化管理、或拆书沉淀技法范式时 diff --git a/meta/schemas/emotion.yaml b/meta/schemas/emotion.yaml new file mode 100644 index 0000000..83ec045 --- /dev/null +++ b/meta/schemas/emotion.yaml @@ -0,0 +1,8 @@ +target_type: emotion +中文名: 情感桥段 +domain: narrative +scope: entity +本体分组: 技法 +状态: 待启用 +判据: 以情绪弧为主体的场景(告白/离别/爆发) ‖ 武力分胜负→combat;关系实体本身→character_relation +启用条件: 情感重头戏前,或拆书总结情感场景公式时 diff --git a/meta/schemas/event.yaml b/meta/schemas/event.yaml new file mode 100644 index 0000000..66e1914 --- /dev/null +++ b/meta/schemas/event.yaml @@ -0,0 +1,16 @@ +target_type: event +中文名: 事件 +domain: world +scope: event +本体分组: 世界设定 +状态: 启用 +判据: 戏内时间轴上有参与者与因果的已定/预定事实;时间线=事件的有序投影,不另设型 ‖ 作者写作安排→outline;节奏分布→pacing +实例落点: 知识/事件/*.md +特有字段: + - { key: 时间锚, 说明: 戏内时间(第几年/主线第几日), aiContext: true } + - { key: 地点, 说明: 指向地点卡, aiContext: true } + - { key: 参与者, 说明: 指向人物/势力卡, aiContext: true } + - { key: 起因经过结果, aiContext: true } + - { key: 因果后续, 说明: 它导致了什么、逼谁做了什么, aiContext: true } + - { key: 知情范围, 说明: 谁知道此事、知道到什么程度——「不该知道的人说漏嘴」是最常见穿帮, aiContext: true } + - { key: 事实状态, 说明: 已发生/预定发生;预定事件续写不可见, aiContext: [planning, detection] } diff --git a/meta/schemas/faction.yaml b/meta/schemas/faction.yaml new file mode 100644 index 0000000..b55463c --- /dev/null +++ b/meta/schemas/faction.yaml @@ -0,0 +1,17 @@ +target_type: faction +中文名: 组织阵营 +domain: world +scope: entity +本体分组: 世界设定 +状态: 启用 +判据: 有宗旨/层级/成员的具名集体(含组织化种族、朝廷) ‖ 无组织的文明背景→world;成员个体→character +实例落点: 知识/势力/*.md +特有字段: + - { key: 性质, 说明: 宗门/王朝/商会/魔道/种族…, aiContext: true } + - { key: 宗旨与立场, aiContext: true } + - { key: 层级结构, 说明: 职位阶梯与晋升规则——称呼一致性的依据, aiContext: true } + - { key: 核心成员, 说明: 指向人物卡, aiContext: true } + - { key: 实力概览, 说明: 高层境界分布,对齐功法体系阶梯, aiContext: true } + - { key: 地盘, 说明: 指向地点卡, aiContext: true } + - { key: 利益诉求, 说明: 它现在最想要什么——行为预测的依据, aiContext: true } + - { key: 与主角线的关系, aiContext: true } diff --git a/meta/schemas/generation_context.yaml b/meta/schemas/generation_context.yaml new file mode 100644 index 0000000..107056e --- /dev/null +++ b/meta/schemas/generation_context.yaml @@ -0,0 +1,9 @@ +target_type: generation_context +中文名: 生成上下文 +domain: ai_context +scope: agent +本体分组: 配套 +状态: 待启用 +判据: AI 上下文组装与输出合同的结构模具,运行时对象、用户不可见 +阶段一落法: 以 read-context 的上下文回显(works/*/评审/上下文-*.md)代替实例,不建卡 +启用条件: 阶段二对齐统一读取器(专题-06 §7)的输出合同时正式启用 diff --git a/meta/schemas/item.yaml b/meta/schemas/item.yaml new file mode 100644 index 0000000..a9f866a --- /dev/null +++ b/meta/schemas/item.yaml @@ -0,0 +1,16 @@ +target_type: item +中文名: 物品 +domain: world +scope: entity +本体分组: 世界设定 +状态: 启用 +判据: 可持有可流转的具名物件(含秘籍载体) ‖ 「怎么描写物件」的笔法→style +实例落点: 知识/物品/*.md +特有字段: + - { key: 类别, 说明: 法宝/丹药/秘籍/信物/材料, aiContext: true } + - { key: 品阶, 说明: 对齐力量体系的层级, aiContext: true } + - { key: 来历, aiContext: true } + - { key: 能力与限制, 说明: 能做什么、不能做什么、使用代价——检测重点, aiContext: true } + - { key: 当前持有者, 说明: 指向人物卡,随确认更新, aiContext: true } + - { key: 知情范围, 说明: 谁知道它的存在与真实能力, aiContext: true } + - { key: 流转计划, 说明: 它未来到谁手里、何时显威——伏笔,续写不可见, aiContext: [planning, detection] } diff --git a/meta/schemas/location.yaml b/meta/schemas/location.yaml new file mode 100644 index 0000000..a117329 --- /dev/null +++ b/meta/schemas/location.yaml @@ -0,0 +1,15 @@ +target_type: location +中文名: 地点 +domain: world +scope: entity +本体分组: 世界设定 +状态: 启用 +判据: 可到达、可发生场景的具名空间 ‖ 弥漫地理→world;空间上的组织→faction +实例落点: 知识/地点/*.md +特有字段: + - { key: 层级, 说明: 界/域/国/城/秘境/建筑, aiContext: true } + - { key: 地理与环境, 说明: 写场景时可直接引用的具体记号, aiContext: true } + - { key: 归属势力, 说明: 指向势力卡, aiContext: true } + - { key: 戏剧功能, 说明: 什么类型的戏适合在此发生, aiContext: true } + - { key: 规则特例, 说明: 此地不同于世界常态的法则(禁空/禁法…)——一致性检查点, aiContext: true } + - { key: 与主线关联, aiContext: true } diff --git a/meta/schemas/narrative_state.yaml b/meta/schemas/narrative_state.yaml new file mode 100644 index 0000000..b57d629 --- /dev/null +++ b/meta/schemas/narrative_state.yaml @@ -0,0 +1,16 @@ +target_type: narrative_state +中文名: 叙事状态 +domain: content +scope: work +本体分组: 配套 +状态: 启用 +判据: 「写到哪了」的运行事实载体,随每次确认更新 ‖ 计划→outline;戏内已定事实→event +实例落点: 状态.md(机器更新、人可核改) +特有字段: + - { key: 当前进度, 说明: 卷/章/戏内日期, aiContext: true } + - { key: 上章末即时局面, 说明: 谁在场/在哪/悬着什么——续写第一句的地基, aiContext: true } + - { key: 未决冲突清单, aiContext: true } + - { key: 未回收伏笔台账, 说明: 伏笔/埋于第几章/计划回收章——检测的一致性命门, aiContext: true } + - { key: 角色状态速览, 说明: 境界·伤势·持有物·所在地的最新值, aiContext: true } + - { key: 近期张力曲线, 说明: 近三章的情绪强度走势,防连续高潮或连续平铺, aiContext: true } + - { key: 下章衔接要点, aiContext: true } diff --git a/meta/schemas/novel_work.yaml b/meta/schemas/novel_work.yaml new file mode 100644 index 0000000..90d1b66 --- /dev/null +++ b/meta/schemas/novel_work.yaml @@ -0,0 +1,16 @@ +target_type: novel_work +中文名: 作品容器 +domain: content +scope: work +本体分组: 容器 +状态: 启用 +判据: 作品的运营与结构身份(书名/品类/进度状态) ‖ 题材立意等创作承诺→work_core +实例落点: works/<书>/设定.md 的 frontmatter +特有字段: + - { key: 书名, aiContext: true } + - { key: 品类, 说明: 东方玄幻/都市/悬疑…, aiContext: true } + - { key: 一句话简介, aiContext: true } + - { key: 篇幅目标, 说明: 目标章数与单章字数区间, aiContext: [planning] } + - { key: 连载状态, 说明: 筹备/连载/完结, aiContext: false } + - { key: 已确认章数, 说明: 回算字段,confirm 时更新,不手编, aiContext: false } + - { key: 总字数, 说明: 回算字段, aiContext: false } diff --git a/meta/schemas/outline.yaml b/meta/schemas/outline.yaml new file mode 100644 index 0000000..7fe4c10 --- /dev/null +++ b/meta/schemas/outline.yaml @@ -0,0 +1,17 @@ +target_type: outline +中文名: 大纲 +domain: content +scope: work +本体分组: 作品骨架 +状态: 启用 +判据: 对「接下来写什么」的计划,全书/卷/章三层用字段表达 ‖ 戏内已定事实→event;跨作品公式→trope +实例落点: 大纲.md +特有字段: + - { key: 主线一句话, aiContext: true } + - { key: 分卷粗纲, 说明: 每卷:卷名/卷目标/核心冲突/情绪终点, aiContext: true } + - { key: 当前卷细纲, 说明: 本卷逐段的推进设计, aiContext: true } + - key: 近三章细纲 + 说明: 每章:章目标/关键事件/出场角色/伏笔动作(埋·推·收)/章末钩子——续写的直接依据 + aiContext: true + - { key: 未来卷粗纲, 说明: 防续写提前收线,仅规划可见, aiContext: [planning] } + - { key: 弃案记录, 说明: 改掉的旧方向,防被 AI 复活, aiContext: false } diff --git a/meta/schemas/pacing.yaml b/meta/schemas/pacing.yaml new file mode 100644 index 0000000..a18c881 --- /dev/null +++ b/meta/schemas/pacing.yaml @@ -0,0 +1,9 @@ +target_type: pacing +中文名: 节奏画像 +domain: narrative +scope: work +本体分组: 画像 +层次: 双层 +状态: 待启用 +判据: 顺序敏感的分布,值是曲线/比率,打乱章序即毁 ‖ 单个爽点构成→craft;逐章安排→outline +启用条件: 进入卷中期、A9 质量收敛需要节奏审计时;届时补字段(张力曲线模板/爽点间隔/文戏武戏配比) diff --git a/meta/schemas/power_system.yaml b/meta/schemas/power_system.yaml new file mode 100644 index 0000000..cffbd19 --- /dev/null +++ b/meta/schemas/power_system.yaml @@ -0,0 +1,16 @@ +target_type: power_system +中文名: 力量体系 +domain: world +scope: entity +本体分组: 世界设定 +状态: 启用 +判据: 直接决定角色强弱排序的规则,可多套并存 ‖ 约束所有人而不排序→world;具体功法技能→品类开放集增型 +实例落点: 知识/功法体系/*.md +特有字段: + - { key: 力量来源, aiContext: true } + - { key: 境界阶梯, 说明: 逐级:名称/分水岭能力/稀有度——越级战斗合理性的标尺, aiContext: true } + - { key: 修行方式, aiContext: true } + - { key: 代价与限制, 说明: 硬约束(反噬/寿元/资源),角色违反即穿帮——检测重点, aiContext: true } + - { key: 资源依赖, 说明: 修行消耗什么,指向物品卡, aiContext: true } + - { key: 跨体系换算, 说明: 与其他体系的强弱对照(如有多套), aiContext: true } + - { key: 戏剧作用, 说明: 这套排序如何制造冲突与目标, aiContext: [planning, detection] } diff --git a/meta/schemas/reference_work.yaml b/meta/schemas/reference_work.yaml new file mode 100644 index 0000000..cd4c0af --- /dev/null +++ b/meta/schemas/reference_work.yaml @@ -0,0 +1,9 @@ +target_type: reference_work +中文名: 参考作品档案 +domain: knowledge +scope: entity +本体分组: 系统侧 +状态: 待启用 +判据: 系统侧资料资产档案(采购→拆解→归档),不是用户创作事实 ‖ 用户自己的作品→novel_work +实例落点: knowledge/参考书/<书名>/档案.md(原文 txt 同目录) +启用条件: A8 拆书场景;届时字段对齐专题-06 §6.2(标识/来源/版权授权状态/拆书处理状态) diff --git a/meta/schemas/scene.yaml b/meta/schemas/scene.yaml new file mode 100644 index 0000000..fdf5efa --- /dev/null +++ b/meta/schemas/scene.yaml @@ -0,0 +1,16 @@ +target_type: scene +中文名: 场景卡 +domain: content +scope: block +本体分组: 容器 +状态: 启用 +判据: 本作品某一场戏的结构卡(实例) ‖ 跨作品的场景公式(范式)→scene_pattern +实例落点: 章 frontmatter 的 场景列表 数组项;正文中以「## 场景N」小节呈现,不拆文件 +特有字段: + - { key: 序号, aiContext: true } + - { key: 地点, 说明: 指向地点卡, aiContext: true } + - { key: POV, 说明: 本场视角人物, aiContext: true } + - { key: 出场, aiContext: true } + - { key: 时间锚, 说明: 戏内时间, aiContext: true } + - { key: 情绪基调, aiContext: true } + - { key: 目标推进收束, 说明: 一句话:这场戏要什么/受什么阻/落在哪, aiContext: true } diff --git a/meta/schemas/scene_pattern.yaml b/meta/schemas/scene_pattern.yaml new file mode 100644 index 0000000..19b316a --- /dev/null +++ b/meta/schemas/scene_pattern.yaml @@ -0,0 +1,8 @@ +target_type: scene_pattern +中文名: 通用桥段 +domain: narrative +scope: entity +本体分组: 技法 +状态: 待启用 +判据: 有「目标-推进-收束」完整结构的场景范式,枚举显式排除打斗与情感 ‖ 点装置→craft;跨场景公式→trope +启用条件: A8 拆书沉淀通用桥段(拍卖会/试炼/夺宝…)时 diff --git a/meta/schemas/style.yaml b/meta/schemas/style.yaml new file mode 100644 index 0000000..c40d21d --- /dev/null +++ b/meta/schemas/style.yaml @@ -0,0 +1,18 @@ +target_type: style +中文名: 文风画像 +domain: narrative +scope: work +本体分组: 画像 +层次: 双层(作品面实例+公共范式,单模具双库) +状态: 启用 +判据: 与章序无关的语言表层指纹(打乱章序不变) ‖ 顺序敏感分布→pacing;单角色语言→character 说话方式 +实例落点: 设定.md §文风画像 +特有字段: + - { key: 叙事人称与视角纪律, 说明: 如第三人称限知/POV 每场景唯一/切换规则, aiContext: true } + - { key: 句式画像, 说明: 长短句配比/段落长度/换行密度, aiContext: true } + - { key: 叙述配比, 说明: 叙述:对话:描写的大致比例与出手时机, aiContext: true } + - { key: 用词质感, 说明: 具体名词与动词优先,少形容词堆叠, aiContext: true } + - { key: AI味黑名单, 说明: 禁用词与句式清单(仿佛/似乎/不禁/一丝/眼眸/嘴角勾起/…)——评委按此扣分, aiContext: true } + - { key: 对话风格, 说明: 信息密度/潜台词习惯/口语化程度, aiContext: true } + - { key: 章末钩子风格, aiContext: true } + - { key: 达标样张, 说明: 一段公认达标的锚点文字,写手对照它校准, aiContext: true } diff --git a/meta/schemas/trope.yaml b/meta/schemas/trope.yaml new file mode 100644 index 0000000..974e90b --- /dev/null +++ b/meta/schemas/trope.yaml @@ -0,0 +1,8 @@ +target_type: trope +中文名: 套路 +domain: narrative +scope: entity +本体分组: 技法 +状态: 待启用 +判据: 规定「这条线接下来几章怎么走」的公式 ‖ 单场景流程→scene_pattern;本作品自己的计划→outline(挂引用) +启用条件: A8 拆书,或多线编织需要公式化参照时 diff --git a/meta/schemas/work_core.yaml b/meta/schemas/work_core.yaml new file mode 100644 index 0000000..ccf07c4 --- /dev/null +++ b/meta/schemas/work_core.yaml @@ -0,0 +1,18 @@ +target_type: work_core +中文名: 作品核心 +domain: content +scope: work +本体分组: 作品骨架 +状态: 启用 +判据: 只有作者与读者知、角色感知不到的作品级承诺 ‖ 角色可感知的世界事实→world;逐章安排→outline +实例落点: 设定.md §作品核心 +特有字段: + - { key: 题材定位, 说明: 品类内的具体路数与变奏点, aiContext: true } + - { key: 核心卖点, 说明: 这本书靠什么让人一直读(爽点引擎), aiContext: true } + - { key: 主题立意, aiContext: true } + - { key: 基调, 说明: 热血/冷峻/轻松诙谐…, aiContext: true } + - { key: 禁区, 说明: 绝不出现的内容与写法, aiContext: true } + - { key: 核心悬念, 说明: 贯穿全书的大谜面,只写"问题"不写答案, aiContext: true } + - { key: 谜底与真相, 说明: 大谜面的答案;续写不可见,防提前泄底, aiContext: [planning, detection] } + - { key: 结局方向, 说明: 续写不可见,防 AI 抢进度直奔结局, aiContext: [planning, detection] } + - { key: 目标读者, aiContext: [planning] } diff --git a/meta/schemas/world.yaml b/meta/schemas/world.yaml new file mode 100644 index 0000000..defcb53 --- /dev/null +++ b/meta/schemas/world.yaml @@ -0,0 +1,16 @@ +target_type: world +中文名: 世界观总纲 +domain: world +scope: work +本体分组: 世界设定 +状态: 启用 +判据: 角色可感知、但不可数且无法单章出场的世界级规则与格局 ‖ 可指名出场者→location/faction/item;决定强弱排序→power_system +实例落点: 设定.md §世界观总纲 +特有字段: + - { key: 世界一句话, aiContext: true } + - { key: 纪元与时代背景, aiContext: true } + - { key: 世界格局, 说明: 大势力与地缘的概览,细节指向势力/地点卡, aiContext: true } + - { key: 核心法则, 说明: 戏内人人可感知的世界规则(天道/资源/秩序), aiContext: true } + - { key: 常识与禁忌, 说明: 普通人尽知的常识——角色违反即穿帮, aiContext: true } + - { key: 超凡入口, 说明: 力量体系概览一句话,细节指向功法体系卡, aiContext: true } + - { key: 历史大事粗线, 说明: 只留骨架,可数事件→event 卡, aiContext: true }