6.0 KiB
6.0 KiB
name, description, disable-model-invocation
| name | description | disable-model-invocation |
|---|---|---|
| 制定作品规划 | 按正式 schema 生成或修订作品设定包、大纲、知识卡、状态和装配草稿。前期方向已由用户选定并进入正式规划,或续作需要调整规划时使用;不写正文,未确认产物不进入生成上下文。单章 fine_outline(含 writer 硬依赖字段)只归 规划下一章;本 Skill 不得写入 section_type=fine_outline。 | true |
规划(scenario: planning | purpose: planning | 槽位: 规划→planner)
何时用:立项产全套设定包与大纲;续作期按用户意图修订规划。产出全为草稿(未确认规划不进生成上下文)。
元数据驱动(本功能的核心机制)
产出结构=schema 字段清单本身,不是"参考 schema":
| 产出 | 结构来源 |
|---|---|
设定.md frontmatter |
novel_work.yaml 逐字段 |
| §作品核心 | work_core.yaml 逐字段(谜底与真相/结局方向写进对应 aiContext 受限字段——底牌管理是规划的职责) |
| §世界观总纲 | world.yaml;力量体系单列卡按 power_system.yaml |
| §文风画像 | style.yaml(黑名单要具体词表、达标样张要真写一段) |
大纲.md |
outline.yaml;近三章摘要写在大纲层,不伪装成可写 fine_outline |
| 知识卡 | 各实体型 schema:基础字段(名称/别名/摘要/标签/来源=手工/状态=草稿)+特有字段 |
状态.md |
narrative_state.yaml 开书初始态 |
装配.yaml |
四槽位默认件+知识绑定[]+作品级扩展字段{} |
字段全覆盖:每个字段都要有内容;写不出=设计问题,标「字段存疑:原因」——这是验证元数据设计的一等产出,不许静默跳过。schema 加字段,设定包立刻多一节。
功能约束(规划方法论)
- 设定互相咬合:势力实力用力量体系阶梯表述;人物境界在阶梯上有座标;地点归属对得上势力地盘;主角起点与第一卷冲突强度匹配。写完自查,咬不合当场改。
- 伏笔成网:核心悬念拆成伏笔分布进分卷粗纲;每条有埋设章与计划回收章,登记进状态台账。
- 变奏自查:与品类烂大街套路的差异点写进题材定位;没有差异点推倒重来。
- 「说话方式」必须是可执行语言指纹(口头禅/句长/称呼习惯),不许"豪爽""高冷"空词。
输出合同
产出按 section_type 分类:设定(setting)/大纲(outline)/状态(state)/装配(assembly)。不含 fine_outline。planner 产出 schema 字段结构化内容(payload JSON),由主会话经 scripts/persist_planning.py 落 example_planning_section(先 shadow);works/<书名>/ 文件是人类可读留痕,规划正式权威在库。完成后报:字段存疑清单/咬合自查结论/伏笔台账条数。
fine_outline 归属:单章结构细纲的生成与落库权威归 规划下一章(meta/schemas/fine_outline.yaml)。本 Skill 的近章信息只写在 outline;persist_planning.py write --section-type fine_outline 必须带 --owner-skill 规划下一章,默认 制定作品规划 会失败关闭。
规划落库(shadow→confirmed)
- 落库:
.venv/bin/python muse/lifecycle/flow/skills/book/制定作品规划/scripts/persist_planning.py write <payload.json> --work-id N --section-type <type> [--target-chapter N] [--schema-type X] [--version N](planner 不碰库/git,主会话落库;先--dry-run试跑)。 - 确认:
persist_planning.py confirm <section_id>(用户确认后 shadow→confirmed;确认后的规划才进生成上下文)。 - 规划执行的输入/输出必须可追溯:
record_planning_execution.py --section-id <id>为已落库 section 登记example_run、prompt/response raw 和example_run_receipt;该记录标明executionKind=deterministic_persist,不伪装成模型调用。 历史回执若误把确定性执行写成model_match=true,使用repair_deterministic_receipt.py --run-id <id>追加修正 revision;旧回执保持不变。 - 公共范式选择使用
select_patterns.py --work-id <id> --intent "...":只从scope=public_pattern召回,结果写入assembly的shadow,并把检索意图与候选投影落 raw/回执;未确认 assembly 不得进入正文上下文。 - 已确认细纲取用(准备任务上下文 改道读库,不再当内存参数):
SELECT payload FROM example_planning_section WHERE work_id=? AND section_type='fine_outline' AND target_chapter=? AND state='confirmed' AND deleted=false ORDER BY version DESC LIMIT 1 fine_outline是章级 section,必须带target_chapter;书级(设定/大纲/状态/装配)target_chapter为空。
红线
不写正文;修订场景只动用户点名的规划面,并列出波及(哪些细纲/卡受影响)。
从前期设计进入时,须先通过 完善故事基础设定/scripts/assert_selection_handoff.py;不得从候选目录偷读未选方案当 setting。
失败关闭
persist_planning.py write:section_type 非法、fine_outline缺target_chapter、fine_outline且owner_skill≠规划下一章、payload 非对象、强制 schema 缺必填字段 → 整单不落库。confirm:仅shadow可确认;状态不符或 section 不存在 → 非零退出,不半改。select_patterns:空 intent 失败;未确认 assembly 不得进入正文上下文。- 落库异常原样抛出;
--dry-run不写库。 - 正文前需要可写细纲时改派
规划下一章,不得用本 Skill 代写fine_outline。
复利合同
- 消费:公共范式检索(
select_patterns)、schema 字段合同。 - 回写:
record_planning_execution在 section 证据落库后经propose_lesson_dedup登记「规划 section 已持久化:{type}」(绑run_id/ section_id);select_patterns经同一 recorder 覆盖。
输入
- 用户明确点名本 Skill 所服务的创作阶段任务包(作品、章节/场景范围、冻结上下文摘要)。
- 只消费 本 Skill 的
references/目录 中与当前阶段相关的合同段落。