设定编辑
此技能用于辅助用户进行作品设定的全方位编辑,支持从"新书"技能创建的 设定.md 出发,对各板块逐一引导填写。
核心定位
- 板块驱动编辑:将作品设定拆为基本信息/简介/核心设定/世界观/次要设定五个板块,每次只处理一个,编辑完成后即时写回文件
- 计划模式入口:所有操作必须先进入计划模式(EnterPlanMode),列出各板块当前完成状态与编辑目标,用户批准后执行
- 多源数据感知:自动读取
项目信息.json获取书名/分级/NSFW 偏好,读取写作配置.json确定加工深度,不重复询问已有信息 - NSFW 协调:编辑基本信息时若用户切换内容分级为 NSFW,自动触发 NSFW 偏好配置询问并写入
项目信息.json
关联文件
| 文件 | 位置 | 用途 | 读写 |
|---|---|---|---|
设定.md |
大纲/设定/ 或 outline/settings/ |
作品设定的唯一输出文件 | 读写 |
项目信息.json |
大纲/ 或 outline/ |
书名、分级、NSFW 偏好——基本信息区直接引用 | 读写 |
写作配置.json |
大纲/ 或 outline/ |
润色模式 + 角色语气(角色级语气配置,由创建人物维护) |
读写 |
settings-editing-guide.json |
data/ |
板块引导数据(各板块询问模板 + 正反例,按需读取) | 只读 |
术语表.json |
大纲/ |
核心术语定义 + 禁用混指词——写正文时 Write-Router 读取并随数据包分发 | 读写 |
文件定位优先级:
- 当前工作目录 →
大纲/设定/设定.md - 当前工作目录 →
outline/settings/settings.md - 用户手动指定的路径
- 以上均不存在 → 提示用户先运行"新书"技能创建项目
执行模式:计划模式
调用此技能后,必须首先进入计划模式(EnterPlanMode)。
- 使用
EnterPlanMode工具进入计划模式 - 在计划中列出:
- 目标设定文件路径
- 当前各板块完成状态(已填写/待填写/必选/可选)
- 本次将编辑的板块和询问内容
- 润色模式(从
大纲.polish_mode读取)
- 等待用户批准计划后执行
- 不要在进入计划模式前直接开始询问或写入
触发条件
当用户表达以下意图时,立即调用此技能:
- "编辑设定"、"修改设定"、"完善设定"、"写设定"
- "世界观设定"、"编辑世界观"、"完善世界观"、"开始设定"
- "补充核心设定"、"修改基本信息"、"补充简介"、"编辑次要设定"
- "打开设定"、"做设定"、"设定编辑"、"填写设定"、"更新设定"、"调整设定"
- 任何表达"编辑/完善作品世界观或设定文件"的类似表述
设定文件模板
结构定义唯一来源:模板库
templates/settings.schema.json(注册 id:settings,见templates/index.json)。下方模板为渲染示例——板块结构/必填/渲染格式/管理约束均以 schema 为准,本技能不自行维护结构定义。
最终的设定文件应遵循以下结构([] 为必填,{} 为说明):
# {书名} — 作品设定
> 最后更新:{YYYY年MM月DD日}
## 基本信息
- **书名**:{书名}
- **传播范围**:{传播向 / 个人向}
- **内容分级**:{一般向 / NSFW}
- **篇幅长度**:{随笔 / 短篇 / 短篇(连载) / 中篇 / 长篇}
- **书籍种类**:{用户填写的种类}
---
## 简介
{对外展示的作品简介或自己对作品的基本描述,可同时存在}
### 对外简介
{面向读者的宣传简介,50-100字为宜}
### 个人描述
{作者自己对作品的理解和定位,可随意写}
---
### 核心设定 [必选]
{包含势力/阵营格局、世界、故事走向的基本描述}
**人物**:{世界层面的势力/阵营格局与人物关系网(非具体角色人设)}
**世界**:{世界观一句话概括}
**故事走向**:{主线方向(不展开具体人设)}
---
### 世界观 [必选]
{描述这个世界的方方面面。大类使用加粗标题,子类用 ###、细分用 #### 组织,允许三级分层}
**{分类项1}**:
{内容}
---
**{分类项2}**:
{内容}
---
### 次要设定 [可选]
{分类收纳其他次要设定,便于人类查看和后续扩展}
#### {分类1}
{内容}
#### {分类2}
{内容}
模板规则(定义见 templates/settings.schema.json 的 blocks)
| 板块 | 必填 | 标题格式 | 内容格式 |
|---|---|---|---|
| 基本信息 | 是 | ## 基本信息 |
无序列表(- **字段**:值) |
| 简介 | 至少填一个 | ## 简介 + ### 对外简介/### 个人描述 |
自由文本 |
| 核心设定 | 是(三要素至少一个) | ### 核心设定 [必选] |
粗体子标题 **人物**:/**世界**:/**故事走向**: |
| 世界观 | 是(至少一个分类项) | ### 世界观 [必选] |
大类 **{分类}**: 加粗,子类 ###、细分 #### 三级分层 |
| 次要设定 | 否 | ### 次要设定 [可选] |
#### {分类} 小标题收纳 |
核心规则:
- 世界观子项采用三级分层:大类
**{项}**:加粗、子类###、细分####(可下钻至 h4) - 子项之间以
---分割线分隔 - 基本信息与
项目信息.json保持同步——修改基本信息时同步更新 JSON
工作流程
步骤 0:定位并读取设定文件
0.1 定位文件
按关联文件优先级查找设定文件:
大纲/设定/设定.md → outline/settings/settings.md → 用户手动指定
0.2 文件状态处理
| 文件状态 | 处理 |
|---|---|
| 文件存在 | Read 读取全文,进入步骤 1 |
| 文件不存在 | 询问用户:在当前目录新建 / 指定已有路径 / 先创建新书项目 |
| 文件存在但为空 | 视为"待填写"状态,按模板注入初始骨架后进入步骤 1 |
0.3 新建设定文件
若用户选择新建:
- 以当前工作目录名或用户指定的书名为准
- 按上述设定文件模板写入初始骨架
- 各板块内容写为
(待填写)
0.4 同步读取上下文
读取设定文件后,同步读取 项目信息.json 和 写作配置.json:
- 从
项目信息.json提取:book_name、distribution、content_rating、length、genre、volumes - 从
写作配置.json提取:大纲.polish_mode、正文.polish_mode、分卷覆盖项 - 如设定文件中的基本信息与 JSON 不一致 → 以 JSON 为准,标注差异供用户确认
步骤 1:展示状态并询问编辑目标
读取文件后,向用户展示各板块完成状态:
📋 「{书名}」作品设定状态
| 板块 | 状态 | 约束 |
|------|------|------|
| 基本信息 | ✅ 已填写 / ⬜ 待填写 | — |
| 简介 | ✅ 已填写 / ⬜ 待填写 | 至少填一个 |
| 核心设定 | ✅ 已填写 / ⬜ 待填写 | 🔴 必选 |
| 世界观 | ✅ 已填写 / ⬜ 待填写 | 🔴 必选(≥1 分类项) |
| 次要设定 | ✅ 已填写 / ⬜ 待填写 | ⭕ 可选 |
| 设定铁律 | ✅ 已填写 / ⬜ 待填写 | ⭕ 可选 |
| 术语表 | ✅ 已填写 / ⬜ 待填写 | ⭕ 可选 |
你想编辑哪个部分?
• 输入编号 1-7 选择单个板块
• 输入"全部"按顺序逐一引导
• 输入"跳过"结束编辑
步骤 2:按板块引导编辑
根据用户选择,逐一引导。每次只处理一个板块,完成后回到选择界面(除非用户选了"全部"连续模式)。
用户可随时说:"回到板块选择"、"换一个"、"直接编辑世界观"——支持自由跳转。
2.1 编辑基本信息
2.1.1 读取现状
从 项目信息.json 读取当前基本信息(展示模板见 data/settings-editing-guide.json → sections.b1_status.prompt)。
2.1.2 逐项修改
修改顺序:书名 → 传播范围 → 内容分级 → 篇幅长度 → 书籍种类。
传播范围选项(模板见 sections.b1_distribution.prompt):
内容分级规则:
- 默认保持
一般向 - 用户主动提及 NSFW/成人内容时才切换为
NSFW - 切换为 NSFW 时:自动触发 NSFW 偏好配置询问(色色值域/输出词级别;若选择了限制级则追问角色语气——询问模板见
sections.b1_nsfw.prompt),组装 JSON 后调度成品输出校验→ 校验后写入项目信息.json
篇幅长度选项(模板见 sections.b1_length.prompt):
2.1.3 双写同步
基本信息修改后,必须同步更新两个位置:
设定.md中的## 基本信息区块项目信息.json中对应的 JSON 字段 +last_updated
✅ 基本信息已更新
• 设定.md ── 基本信息区块已同步
• 项目信息.json ── {修改项} 已更新
2.2 编辑简介
简介支持双轨:对外简介(读者面向)和个人描述(作者面向)。
2.2.1 状态检查
展示当前状态后逐一处理(状态模板见 sections.b2_status.prompt)。
2.2.2 编辑对外简介
(询问模板见 sections.b2_public.prompt;润色确认模板见 sections.b2_public_confirm.prompt;正反例对照 2 组见 examples.public_intro)
用户输入后,按 大纲.polish_mode 润色后展示确认。
2.2.3 编辑个人描述
(询问模板见 sections.b2_personal.prompt)
处理流程同 2.2.2。
2.2.4 空值检查
两个子项均跳过时,在对外简介处写入 (待填写)。
2.3 编辑核心设定 [必选]
核心设定是必填项,包含三个子要素:人物(势力/阵营格局)、世界、故事走向。至少填写一个。
边界:核心设定只留「世界规则」级约束——具体角色人设引导到「创建人物」,剧情展开引导到「剧情编辑」。
2.3.1 状态展示
(状态模板见 sections.b3_status.prompt)
2.3.2 逐项引导
人物(模板见 sections.b3_character.prompt):
世界(模板见 sections.b3_world.prompt):
故事走向(模板见 sections.b3_direction.prompt):
2.3.3 空值约束
三项全空时——禁止跳过(提示模板见 sections.b3_empty.prompt):
2.3.4 润色与写入
每项填写后按 大纲.polish_mode 润色,用户确认后即时写入 设定.md。
2.4 编辑世界观 [必选]
世界观是必填项,由多个分类子项组成。至少需要一个分类项。
2.4.0 题材预设注入
进入世界观板块时,先尝试用题材预设为分类提供脚手架(软引导,可跳过):
- 读取
项目信息.json→genre(书籍种类) - 在
data/settings-presets.json→presets中按match关键词匹配题材;关键词未命中 → 由 LLM 判断最接近的题材或判定无匹配 - 命中 → 展示该题材的分类树骨架:
🌌 检测到题材「{题材名}」,建议以下世界观分类:
{分类1} / {分类2} / {分类3} …
可选操作:
• 整用 — 整棵采用该分类树(大类 + 子类 + 引导问题)
• 挑选 — 只挑其中几类
• 自定义 — 完全自己定义分类
• 跳过 — 走自由模式(现状)
- 无匹配 → 走现有自由模式(现状,永久兜底)
关键原则:预设是软引导脚手架,不硬套;用户永远可添加预设之外的分类(如"筛选史"这类自定义项)。
2.4.1 结构约束
(结构示意模板见 sections.b4_structure.prompt)
- 大类使用
**{分类名}**:加粗格式 - 大类下可用
###子类、####细分组织(三级分层,可下钻至 h4) - 条目之间以
---分割
2.4.2 管理循环
(菜单模板见 sections.b4_menu.prompt;添加见 sections.b4_add.prompt;修改见 sections.b4_edit.prompt;删除确认见 sections.b4_delete.prompt)
重命名:
🌌 将「{旧名称}」重命名为?
→ {新名称}
→ 仅改标题,内容保留
2.4.3 空值约束
世界观至少需要一个分类项。用户试图在零分类项时选"完成":
⚠️ 世界观为必选板块,至少需要添加一个分类项。
建议从"地理/世界格局"开始——这是最基础的世界观锚点。
2.4.4 分类参考
用户不确定如何分类时,题材分类树预设已数据化到 data/settings-presets.json(5 套:西幻/玄幻仙侠/科幻/都市奇幻/历史架空),由 2.4.0 按题材自动匹配注入。未命中题材时走自由模式自行分类——预设是脚手架,用户永远可自定义分类名。
2.4.5 文件拆分与索引维护
某分类内容较长时触发拆分,避免设定.md 无限膨胀:
- 拆分判断:编辑/添加分类时,内容超过约 800 字 → 提示「该分类内容较长,建议拆分为独立文件
大纲/设定/{分类名}.md」,用户确认后拆分 - 拆分执行:内容移入
大纲/设定/{分类名}.md,设定.md 该分类只留摘要 + 链接详见 [分类名.md](分类名.md) - 索引维护:设定.md 末尾自动维护「设定文件索引」表(文件 → 内容摘要),结构见
templates/settings.schema.json→ blocks →设定文件索引 - 防重复:拆分前先查索引是否已有同名文件 → 有则合并/更新而非新建
2.5 编辑次要设定 [可选]
次要设定完全可选,结构类似世界观但使用 #### 小标题分类。
2.5.1 状态展示
⭕ 次要设定 — 可选板块
当前状态:{已填写 N 项 / (暂不填写)}
需要编辑吗?
• 是 — 进入管理循环
• 否 — 保持现状,回到板块选择
2.5.2 管理循环
与世界观 2.4.2 管理循环一致:添加 / 修改 / 删除 / 重命名 / 完成。
分类示例:道具设定、组织设定、历史年表、文化习俗、货币体系、交通方式等。
次要设定同样适用 2.4.5 文件拆分与索引维护(超长分类拆独立文件 + 索引登记)。
2.5.3 空值处理
用户选择不填写或全部删除:
⭕ 次要设定已清空,在设定文件中标注为「(暂不填写)」。
后续随时可说"编辑次要设定"重新打开。
2.6 编辑设定铁律 [可选]
设定铁律是世界观骨架——不可破坏的世界规则。新增/修改世界观分类时自动对照铁律做自洽检查。
2.6.1 状态展示
(菜单模板见 sections.b5_menu.prompt)
2.6.2 管理循环
与世界观 2.4.2 管理循环一致:添加 / 修改 / 删除 / 完成。
添加铁律(模板见 sections.b5_add.prompt):
修改铁律(模板见 sections.b5_edit.prompt):
删除确认(模板见 sections.b5_delete.prompt):
2.6.3 自洽检查(贯穿世界观编辑)
世界观板块(2.4)新增或修改分类时,若已存在设定铁律,自动对照铁律做自洽检查——新内容与任一铁律冲突时提示(模板见 sections.b5_conflict.prompt),由用户决定「仍要写入」或「修改表述」。无铁律时跳过检查。
2.7 编辑术语表 [可选]
术语表是项目级机器规格(大纲/术语表.json)——核心术语的准确定义与禁用混指词,写正文时由 Write-Router 读取并随数据包分发,Core 遇禁用词自动纠偏。
2.7.1 状态展示
(菜单模板见 sections.b6_menu.prompt)
2.7.2 添加术语
(模板见 sections.b6_add.prompt)收集四要素:术语名 / 准确定义 / 禁用混指词(可空)/ 补充说明(可空),组装为条目写入 大纲/术语表.json(结构见 templates/glossary.schema.json)。
2.7.3 修改 / 删除
与世界观 2.4.2 管理循环一致。
2.7.4 落盘
术语表写入 大纲/术语表.json 后,经成品输出校验(type: "json", expected_schema: "术语表")落盘。
2.8 Write-Router 调度 Core 写作规范加工(贯穿全流程,写入前必经步骤)
一切供人阅读的设定文本,写入文件前必须经过 Write-Router(轻量模式)→ Core(基础写作辅助)加工。
每次用户输入设定内容后,按以下流程处理:
- 读取
大纲/写作配置.json(或outline/polish-config.json) - 润色模式取用优先级:先查
分卷.{当前编辑所属卷号}→ 无覆盖项则用大纲.polish_mode - 将用户输入的内容组装数据包传入 Write-Router(轻量模式):
{
"mode": "creation_phase",
"text": "{用户输入的设定文本}",
"context": {
"source_skill": "设定编辑",
"content_type": "大纲文本",
"field_name": "{对外简介/个人描述/核心设定-人物/核心设定-世界/核心设定-故事走向/世界观-{分类名}/次要设定-{分类名}}"
},
"polish_mode": "{有效润色模式}",
"polish_config": { "{写作配置 JSON}" }
}
协议来源:
field_name枚举统一定义于模板库templates/index.json的protocols.field_name——新增设定字段时同步在 index.json 注册,本技能不自行维护枚举。
Write-Router 通过轻量模式调度 Core 按大纲文本规范(规范 1.5/1.6/5)加工后返回
{ "processed_text": "{加工后文本}", "changes_summary": "{调整摘要}" }将加工后文本展示给用户确认:
✏️ 加工后({polish_mode}模式):
{加工后文字}
这样可以吗?
• 可以 — 写入设定文件
• 修改 — 重新调整
• 用原文 — 不做润色,直接写入原话
- 用户选择"用原文"时尊重原话,但仍须经 Write-Router → Core 做规范 1.6(破折号禁令)和基本标点修正——此为不可跳过的硬约束
2.9 管理写作配置与分卷配置(全局+分卷)
允许用户在设定编辑流程中随时调整全局润色模式和分卷润色覆盖。
入口触发:用户在设定编辑中说"切换润色模式"、"修改写作配置"、"调整分卷润色"、"分卷写作配置"。
2.9.1 展示当前配置
✏️ 写作配置管理
📌 全局配置:
• 大纲:「{大纲.polish_mode}」— {大纲.mode_description}
• 正文:「{正文.polish_mode}」— {正文.mode_description}
{如已分卷}
📚 分卷覆盖:
• 卷1「{卷1名}」:「{模式或"继承全局"}」
• 卷2「{卷2名}」:「{模式或"继承全局"}」
...
需要调整什么?
• 全局大纲 — 调整大纲类全局润色模式
• 全局正文 — 调整正文类全局润色模式
• 分卷 — 调整某卷的独立写作配置
• 写作偏好库 — 开启/关闭个人风格优化(影响 Token 消耗)
• 角色语气 — 查看各角色语气配置
• 完成 — 回到板块选择
2.9.2 调整全局润色
✏️ 请选择「{大纲/正文}」润色程度:
• 轻度 — 保留用户原话,仅书面化、规范化书写
• 中度 — 小幅优化用户原话(改动幅度 ≤60%)
• 重度 — 仅保留原意,完全改写、润色、扩写内容
更新 写作配置.json 对应轨道的 polish_mode、mode_description、last_updated。
2.9.3 调整分卷润色覆盖(仅当 volumes.enabled = true)
📚 选择要调整的卷:
1. 卷1「{卷1名}」— 当前:「{模式}」
2. 卷2「{卷2名}」— 当前:「{模式}」
...
全部恢复 — 清除所有分卷覆盖,统一继承全局
完成 — 回到写作配置管理
→ 用户选择某卷后:
✏️ 卷{N}「{卷名}」润色程度:
• 继承全局 — 使用全局大纲「{大纲.polish_mode}」(如已覆盖则清除覆盖项)
• 轻度 — 保留用户原话
• 中度 — 小幅优化用户原话
• 重度 — 仅保留原意,完全改写
选择"继承全局"时,从 写作配置.json → 分卷 中删除该卷号的 key;选择独立模式时,写入或更新 分卷.{卷号}。
如用户选择"全部恢复",清空整个 分卷 对象:
⚠️ 将清除所有 {N} 卷的独立写作配置,全部恢复为全局「{大纲.polish_mode}」。
确认?(确认 / 取消)
2.9.4 写作偏好库开关
📝 写作偏好库当前:{已启用 / 已关闭}
开启后:AI 按你的个人写作习惯做方向优化(用词/句式/标点/称呼术语/
内容避讳/节奏),并在你手动修改 AI 产出时询问是否将修改点记入偏好库。
注意:启用会增加少量 Token 消耗(每次写作多读取一份偏好文件)。
操作:
• 开启 — 设置 user_style_enabled = true(如 大纲/写作偏好.json 不存在则创建骨架)
• 关闭 — 设置 user_style_enabled = false(停止读取与询问,保留已有词条)
- 开启时如
大纲/写作偏好.json缺失 → 创建骨架({ "schema_version": "1.0", "entries": [] }),落盘经成品输出校验(type: "json",expected_schema: "写作偏好") - 关闭时仅翻转开关,不删除已有词条(随时可再开启)
2.10 角色语气总览
写作配置.json 中的 角色语气 段由创建人物技能在创建角色时自动写入(基于性格生成),设定编辑提供只读总览。
2.10.1 数据结构:
{
"角色语气": {
"{角色名}": {
"说话风格": "{简洁有力/啰嗦随性/文雅含蓄/直白奔放/其他}",
"用词偏好": "{口语化/书面化/粗犷/文绉绉/其他}",
"情绪表达": "{外放/内敛/冷静/激烈/其他}",
"句式特征": "{短句为主/长句为主/碎片化/工整/其他}",
"口头禅": "{有则填,无则空字符串}",
"nsfw_tone": "{保守/中性/放荡,仅NSFW作品}"
}
}
}
2.10.2 展示当前角色语气:
🗣️ 角色语气总览(只读,由创建人物维护)
• {角色名1}:{说话风格} / {nsfw_tone}
• {角色名2}:{说话风格} / {nsfw_tone}
• {角色名3}:未配置
💡 角色语气在创建人物时自动生成。要修改某角色的语气,请说"修改角色语气:{角色名}"。
2.10.3 修改角色语气(入口:用户说"修改角色语气:张三"):
由创建人物技能处理——在该角色的 MD 条目中更新「人物语气」字段,同时同步 写作配置.json → 角色语气。
步骤 3:保存文件
每次板块编辑完成后即时保存至 设定.md,防止数据丢失。
保存流程:
- 定位目标板块在文件中的起止位置
- 替换该板块的内容为编辑后的版本
- 更新文件顶部的
> 最后更新:{日期} - 确认写入成功后简短反馈:
✅「{板块名}」已更新
去重保护:同一板块连续编辑时,以最后一次确认为准。
步骤 4:完成确认
全部编辑完成后,输出设定摘要:
✅ 作品设定编辑完成!
📋 「{书名}」设定总览
| 板块 | 完成度 |
|------|--------|
| 基本信息 | ✅ {book_name} / {distribution} / {length} / {genre} |
| 简介 | {对外简介前30字}... |
| 核心设定 | ✅ 人物 / 世界 / 故事走向 |
| 世界观 | ✅ {N} 个分类项:{分类列表} |
| 次要设定 | {N} 个分类项 / (暂不填写) |
📝 需要进一步调整哪个部分?或者要完善其他大纲内容?
注意事项
- 必选约束不可绕过:核心设定和世界观不允许完全空白。用户跳过后再次回到板块选择时继续提醒
- Write-Router → Core 加工为写入前必经步骤:所有设定文本(简介/核心设定/世界观/次要设定等)写入前必须经过 Write-Router(轻量模式)调度 Core 按大纲文本规范加工——不经此链路直接写入 = 流程违规。即使用户选择"用原文",仍须经 Write-Router → Core 做规范 1.6(破折号禁令)和基本标点修正
- 双写同步:基本信息修改时必须同步更新
设定.md和项目信息.json——两者不一致会导致后续技能读取错误 - 文件即时保存:每完成一个板块编辑立即调度
成品输出校验(type: "structured_md",md_category: "设定",file_path;如同时修改了项目信息.json则另传 JSON 数据包)→ 校验后落盘。禁止自行 Write,防止连续编辑多个板块后崩溃丢失全部数据 - NSFW 触发边界:仅用户主动提及时才将 content_rating 切换为 NSFW。不在例行询问中出现 NSFW 相关内容
- 润色模式灵活切换:用户可在编辑过程中随时说"切换润色模式"、"分卷写作配置",不影响已保存内容
- 分卷润色独立管理:分卷项目支持每卷独立润色模式,通过"分卷写作配置"进入管理;未配置卷自动继承全局大纲模式
- 文件路径特殊字符:书名/路径中的
/\:*?"<>|自动替换为_ - 保持引导式语气:每次只问一个问题,不给用户"考试感"
- 与剧情大纲/角色文件的关系:设定文件是世界观约束的唯一来源,剧情编辑和人物创建均从此读取设定约束——设定不完善时提示用户优先完善