# 虚构差分方程(功能 5 · 规格 v2) > **状态:已接入插件**(v0.5.0 起;**v0.6.0 修订版式与配额**——与功能 1 逐字同构、生物类条数不设上限、删除鱼鸟比例限制、命途白名单加 `贪饕`;接入落点见第 7 节)。 > 写法 = **「神人制造机」的写法**,版式也**逐字相同**(`## 名称` + 〔主题类别〕命途归属 + 详细设定 + 可能的故事方向)。 > 与「神人制造机」的唯一区别:叙事对象**不限于人物**,物种、装置场所、概念事件、派系机构都要有。 > **不含**游戏机制、星级、模式、命途配方(配方可留作附属标签,正文不写机制)。 > > - 演示产物:[`hsr-stories/equations/20260929-141500-虚构差分方程·第二批(五类各一·设定版).md`](<../hsr-stories/equations/20260929-141500-虚构差分方程·第二批(五类各一·设定版).md>) > - 自检工具(现行):[`scripts/check-fiction-equations-v2.mjs`](<../scripts/check-fiction-equations-v2.mjs>) > - ⚠️ 已废弃的第一版(含游戏机制方案):[`docs/fiction-equation-v1-mechanics.md`]() --- ## 0. 为什么需要它 「神人制造机」的产出全部落在**人物 / 职业身份**这一类(既有 212 条方程里此类占 59.0%), 它的自然归宿是给「构史文集」提供设定。 「虚构差分方程」补上剩下的 41%:**物种、装置与场所、概念与事件、派系与机构**。 名字和设定照样写,只是主角不再总是人。 实测依据(既有 212 条逐条归因见 [`方程一览-叙事对象分析.md`](<../hsr-stories/inspirations/方程一览-叙事对象分析.md>)): | 归类 | 既有条数 | 既有占比 | 虚构方程的目标 | | --- | --- | --- | --- | | 人物·职业/身份 | 125 | 59.0% | 每批最多 1–2 条 | | 生物·物种/衍生体 | 31 | 14.6% | 每批至少 1 条 | | 装置·器物/场所 | 20 | 9.4% | 每批至少 1 条 | | 抽象概念·现象/事件 | 19 | 9.0% | 每批至少 1 条 | | 派系·机构/组织 | 17 | 8.0% | 每批至少 1 条 | --- ## 1. 输出格式(逐字) ``` ## 方程名称 〔主题类别〕命途归属:〈主命途〉/〈次命途〉 详细设定:……(约 120–220 字,须带荒诞感) 可能的故事方向:……(一到两句话) ``` 对话中即按此块状展示;落盘结构见第 6 节。 `〔主题类别〕` 取五类之一,必须显式标注——它是配比是否达标的唯一凭据。 **版式与功能 1「神人制造机」完全一致**(`## 名称` + 空行 + 类别/命途 + 空行 + 详细设定 + 空行 + 故事方向),差别只有 `〔主题类别〕` 的取值:功能 1 固定为 `人物·职业/身份`,本功能取五类之一。 名称**不带【】**:方括号是 `MECHANIC_TERMS` 里的拒收项,带括号的名称会被自己的校验器拒掉。 **命途白名单(14 个)**:欢愉 / 智识 / 繁育 / 毁灭 / 虚无 / 巡猎 / 记忆 / 存护 / 丰饶 / 同谐 / **贪饕** / 均衡 / 开拓 / 终末。`贪饕` 于 2026-09-30 由用户评审放开(0.6.0 生效)——既有 **212 条**方程没有一条以它为主命途,放开是为了能写吞噬 / 饥饿 / 永无餍足这类题材。 它**只加题材、不放宽星神纪律**:`奥博洛斯` 仍在 `STAR_GUARDIAN_TERMS` 拒收词表里, 那位吞噬者只能以旧传闻 / 遗物 / 过期教条出场(`test/equations.test.mjs` 有对应用例)。 --- ## 2. 生成流程(机制 A:先排配额表) 1. 读既有方程名称(`gs_read equations` 或缓存 `hsr-worldview-cache/equations.json`),用于重名检查。 2. **先排配额表**:按用户要求条数分配五类主题,软约束—— - 每类**不得为 0 条**; - 人物 / 装置 / 概念 / 派系单类**不超过 2 条**(条数 ≥ 5 时); - **生物类条数不设上限**(2026-09-30 用户口径),可以占满整批; - 余数优先分给生物 / 装置 / 概念 / 派系,人物类最后考虑。 - **默认 6 条**,推荐配额:人物 1 / 生物 2 / 装置 1 / 概念 1 / 派系 1。 5 条同样合法(每类各 1 条)——鱼鸟比重限制删除后,「5 条无法满足配额」的前提已不成立。 3. 逐条生成(名称、主题标签、命途归属、详细设定、故事方向)。 4. 跑自检(第 5 节);不过的条目**只重写该条**。 --- ## 3. 名称规则 - 长度 **2–6 字为主**(既有分布:4 字 77、5 字 58、3 字 49),几乎不用「的」。 - **禁止与既有 212 条重名**;也不许把既有条目改个说法再交一遍。 - 各主题的命名法: | 主题 | 命名法 | 示例(本批) | | --- | --- | --- | | 人物·职业/身份 | 职业标签或市井外号,以「者/人/师/士/家/客/员/手/主/侠」收尾;不写真名专名 | 守秤员 | | 生物·物种/衍生体 | 名字**至少 3 字**;**不得与既有构词雷同**(硬规则);虫类 ≤ 四成、生僻字 ≤ 1 条(**提示级**);鱼类 / 鸟类的数量与比例**不作任何要求**。命名法见下方 | 滤光囊、里脊云、三舅团 | | 装置·器物/场所 | 器物名,或「办事的地方」(处 / 局 / 台 / 号 / 室) | 失物保管处 | | 抽象概念·现象/事件 | 概念本身或一句日常短句,**不要以人物收尾** | 同一秒 | | 派系·机构/组织 | **必须新造机构名**(用既有派系名即等于换皮);后缀可用 会 / 委员会 / 局 / 团 / 学派 / 学社 | 熄灯委员会 | #### 生物类命名法(第三版口径,2026-09-29 修订) | 法 | 做法 | 例 | | --- | --- | --- | | 甲 科幻质感构词 | 由科幻名词组合虚构生命(材质 / 功能 / 形态 + 生命体词根) | 滤光囊、夜航丝 | | 乙 生活称呼当名字 | 把日常称呼直接用在一个物种身上,像给邻居起外号 | 里脊云、三舅团 | | 丙 现实借名 | 从现实生物名借形,**须重组且必须 ≥3 字**;整批最多 1 条 | 冷萃鸡 | | 丁 林奈式倒装 | 属名与种加词倒装,读起来像标本标签 | 鲎灯(已不推荐单独使用,容易过短) | **生物类内部比例(第六版口径,2026-09-30)**:只剩**虫类不超过四成**一条,按 `warnings`(提示级)给出, **不硬拒批次**——做成硬拒会让合法批次互相打架,也会逼模型为凑比例硬编。 鱼类 / 鸟类的比重约束(「鱼鸟合计 ≥2 条」「鸟类 ≤1 条」)**已整条删除**:这两条等于把生物配额钉死在 「一条鱼 + 一只鸟」上,每批生物条目几乎全是鱼鸟,用户判定「鱼和鸟实在太多了」。 现在鱼类 / 鸟类只出现在自检报告的构成统计里,**不产生任何判定**。 生物类的条数也**不设上限**(五类里唯一豁免「单类 ≤2」的类别),想多写就把份额分给生物。 硬规则仍然只有两条:名字 ≥3 字、不得沿用既有构词。 **生物类命名禁用表**(来自既有 31 条生物方程,沿用即视为雷同): - 禁用构词:`蠧役`(7 条)、`残嗣`(2 条)、`之子`、`王虫`、`虫帝`、`蠕虫`、`之蛇`、`巨人`(2 条)、`蚁`、`粒子群`、`幽灵`、`罪灵`、`造翼者`、`慧骃`、`聚合者`、`模因`、`视肉`、`魔`、`幻造物` - 禁用的字级词根:`蠧 役 嗣 虫 蟐 螟 蟒 蚁 蠕 孽 骃 蠹` - 用剩下的现实生物学词根是可以的(蜉 蛉 蟓 蜢 蜱 螨 蚧 蛞 蝓 螽 蠃 蜮 蛭 蚴 蛹 蛄 蟏 蛸 鲎 鳐 鲼 鳚 鳅 鳉 鲴 鲻 鱵 鰕…),但**每批只准借 1 条、且必须凑到 3 字以上**——上一版「麦蛾 / 鲎灯 / 鳚表」就是反面例子(过短、且整批全是现实借名) --- ## 4. 详细设定规则 - **正文不写游戏机制**:不出现方括号符号、百分比、暴击/护盾/战技点/终结技/削韧/回合等机制语言。 - 内容要素(与「神人制造机」同构): 1. 他 / 它们 / 这个地方**靠什么活着**; 2. 谁在管、有什么规矩(最好是条不成文或很荒谬的规矩); 3. **最大的麻烦**——荒诞感来自「宏大概念 × 市井生计」的错位; 4. 允许一点暗色或温情,但不沉闷。 - 篇幅 **120–220 字**(比「神人制造机」的 100–200 字略宽,因为非人物类需要交代"它怎么运转")。 - 「可能的故事方向」一到两句,写成**能开篇的钩子**,不写机制。 --- ## 5. 星神纪律 与 自检(机制 B) **星神纪律**:星神、令使、绝灭大君一律不出场;命途只是气质标签,不写成赐福或靠山; 已陨 / 失踪 / 被镇压的星神绝不写成在世、现身或归来。 自检命令:`node scripts/check-fiction-equations-v2.mjs [候选json] [--allow-single-topic]`, 报告写到 `_probe/fiction-v2-check.md`。**该脚本是薄封装,规则本体就是 `lib/equations.mjs`**—— 所以「对话里生成」与「工具落盘」用的是同一套规则,两份口径不会漂移 (`--allow-single-topic` 跳过批级配比检查,用于只验证单一类别的专项批次)。 | 级别 | 检查项 | | --- | --- | | FAIL(逐条拒收,只影响该条) | 与既有 212 条重名;本批内重名;主题类别非法;命途非法或主次相同;缺「可能的故事方向」;详细设定超出 120–220 字;出现星神/令使词;**出现游戏机制语言**(方括号、百分比、暴击、护盾、战技点、终结技、削韧、回合…);生物名不足 3 字;生物名与既有构词雷同 | | FAIL(批级,工具层据此不写盘) | 本批 ≥5 条时:任一类别为 0 条,或**人物 / 装置 / 概念 / 派系**单类 >2 条(**生物类不受此限**);含生僻字的生物名 >1 条;或**一条都没通过** | | 提示(warnings,不拒) | 虫类 > 四成;**人物类**条目里没出现「人/他们/工作」等视角词(可能写成了百科条目——只对人物类判,非人物类不刷这条)。鱼类 / 鸟类已无任何比例判定 | 退出码 0 = 全通过。**部分拒收仍会写盘**:只有通过的条目进成品文件,被拒条目在 `rejected` 里逐条给原因 (工具层会把「部分写入」如实讲出来)。 --- ## 6. 落盘 - 目录:`<工作区>/hsr-stories/equations/<时间戳>-<标题>.md` - front-matter:`kind: equations` / `title` / `createdAt` / `generator` - 每条:`## 名称` + `〔主题类别〕命途归属:〈主〉/〈次〉` + `详细设定:…` + `可能的故事方向:…` - 末尾附自检记录路径 --- ## 7. 接入插件(已完成,v0.5.0) | 位置 | 实际改动 | | --- | --- | | [`lib/equations.mjs`](<../lib/equations.mjs>)(新) | 五类主题与命途白名单、生物类命名规则、`validateFictionEquations()`、`renderEquationsMarkdown()` / `renderEquationsCheckReport()`、`readExistingEquationNames()`、`describeEquationRules()` | | [`lib/shell.js`](<../lib/shell.js>) | 系统提示新增「功能 5」段;新增工具 `gs_equation_save`;`/gs` 三步交互的功能选择 **4 项 → 5 项**;`Config` 新增 `equationCount`(默认 6) | | [`lib/paths.js`](<../lib/paths.js>) | 新增 `equationsDir()`,并入 `ensureOutputDirs()` 与 `describePaths()` | | [`test/equations.test.mjs`](<../test/equations.test.mjs>)(新) | 27 条用例:配比(含**生物类不设上限**与**鱼鸟比例已无判定**两条回归)、**命途白名单含 `贪饕` 且点名奥博洛斯仍被拒**、命名规则、星神词与机制语言拒收、重名、落盘/部分拒收/不写盘/降级 | | [`test/plugin.test.mjs`](<../test/plugin.test.mjs>) / [`test/planets.test.mjs`](<../test/planets.test.mjs>) / [`test/host-validator.test.mjs`](<../test/host-validator.test.mjs>) | 工具数与功能数断言同步(9→10 工具、4→5 功能),新工具纳入宿主校验器覆盖面 | | [`README.md`](<../README.md>) / [`CHANGELOG.md`](<../CHANGELOG.md>) | 五功能、能力清单、目录结构、配置项、0.5.0 条目 | **接入后的实测(2026-09-29)**: - `node scripts/check.mjs` → `RESULT: PASS (syntax failures: 0, test exit: 0)`, 套件 `201 tests / 200 pass / 0 fail / 1 skip`(唯一 skip 是本仓库既有约定); - `node _evidence/verify-gs-e2e.mjs` → `RESULT: PASS`,隔离实例里 `/gs` 的 `description` 已含「虚构差分方程」; - `node scripts/check-fiction-equations-v2.mjs` → 五类批次全通过、生物样本全通过。 > 未刷新的一项证据:[`_evidence/prompt-section-injection.txt`](<../_evidence/prompt-section-injection.txt>) 仍是 0.1.0 快照 > (其脚本读固定测试 home 的会话日志,需要模型路由;本机隔离实例无模型路由)。 > 该链路暂由两条离线断言兜底:系统提示总则必须含功能 5 的四条口径、`/gs` 协议必须含第 5 项与 `gs_equation_save`。 > 第一版(游戏机制方案)已废弃,留档在 [`fiction-equation-v1-mechanics.md`]() > 与 [`scripts/check-fiction-equations.cjs`](<../scripts/check-fiction-equations.cjs>)。