mit einem Klick
novel-characters
// 管理小说角色资产 —— 角色卡、关系图谱、家族 / 阵营树、动态角色状态(卷级职责 / 缺席风险 / 候选新角色)。当用户说"加角色"、"加主角"、"加反派"、"创建一个角色"、"角色关系"、"建家族树"、"add character" 时触发。每个角色一个 markdown 文件,frontmatter 维护双向关系。
// 管理小说角色资产 —— 角色卡、关系图谱、家族 / 阵营树、动态角色状态(卷级职责 / 缺席风险 / 候选新角色)。当用户说"加角色"、"加主角"、"加反派"、"创建一个角色"、"角色关系"、"建家族树"、"add character" 时触发。每个角色一个 markdown 文件,frontmatter 维护双向关系。
引导用户填充 story.md 的核心创意要素(一句话简介、核心矛盾、30 章承诺、市场定位、文风方向)。当用户说"讨论世界观"、"开始 brainstorm"、"想剧情"、"聊一下这个故事"、"我想写小说但还没想清楚怎么写"、"continue brainstorming the story" 时触发。此 skill 不创建世界观/角色/章节,仅在概念层做收敛。
核心章节写作循环。9 步管线:outline → user_confirm → memory_load → write → self_check → fix_loop → memory_update → checkpoint → user_review。当用户说"写第 X 章"、"写下一章"、"继续写"、"接着写"、"重写第 X 章"、"write chapter N" 时触发。两阶段温度策略:写作时高温,自检和修复时低温。
用于初始化一个新的小说项目。当用户说"我想写小说"、"开始写小说"、"新建小说项目"、"创建一本新小说"、"start a new novel" 时触发。会引导用户完成基本信息确认后,搭建标准的 vault 目录结构(story.md / characters / worldbuilding / plot / chapters / style / .memory),并可选地 git init。
管理长篇小说的长期记忆 —— 写章节前的上下文组装(memory_load),写完后的状态更新(memory_update)。这是百万字小说一致性的核心基础设施。**通常不由用户直接触发**,而是由 novel-chapter 在写作循环中自动调用。当用户说"看一下当前记忆状态"、"更新记忆"、"导出章节摘要" 等显式管理操作时也可触发。
管理小说情节结构 —— 卷纲、故事弧(arc)、时间线、伏笔账(hook ledger)。当用户说"做卷纲"、"设计故事弧"、"加伏笔"、"伏笔账"、"时间线"、"plot outline"、"design arc" 时触发。包含中文网文章节情节推进四大原则,以及借鉴 inkos hook-ledger 的 open/advance/resolve/defer 四态伏笔语义和"揭1埋1"硬底线。
章节 / 全书校稿。37 维质量审查:4 维统计学(Python 脚本)+ 33 维主观(LLM 评估)+ 一致性 + 伏笔账 + 硬规则。当用户说"校稿"、"审一遍"、"检查第 X 章"、"看看哪里有问题"、"全书审查"、"review chapter"、"audit" 时触发。审稿只评结构和完成度,**不评文笔**(文笔由 novel-style-engine + novel-chapter 在生成阶段控制)。
| name | novel-characters |
| description | 管理小说角色资产 —— 角色卡、关系图谱、家族 / 阵营树、动态角色状态(卷级职责 / 缺席风险 / 候选新角色)。当用户说"加角色"、"加主角"、"加反派"、"创建一个角色"、"角色关系"、"建家族树"、"add character" 时触发。每个角色一个 markdown 文件,frontmatter 维护双向关系。 |
把"小说角色"拆成可独立创建 / 维护 / 引用的实体文件:
.md 文件,包含外貌、性格、动机、声音、弧线、关键事件relationships 字段双向维护characters/_index.md 的对应段characters/_index.md 存在(init 已建)story.md 至少有 frontmatter(提供 genre / tone 上下文)读取上下文:
story.md:genre / sub-genre / pov / tonecharacters/_index.md:已有角色,避免重名 / 保持声音差异worldbuilding/ 文件问基本信息(用 AskUserQuestion 一次问 2-3 题):
对话补充细节(按下面顺序,但允许跳跃):
A. 外貌与可识别特征
B. 性格与缺陷
C. 背景故事
D. 动机与目标(4 层)
E. 声音与说话方式
F. 角色弧线
G. 关键时间线事件(可少量)
写文件:
references/character-template.md{name-kebab}.mdcharacters/{name-kebab}.md更新 characters/_index.md 的角色表 + 关系图(如果加了关系)
双向链:
relationships: [{character: x, type: sibling}],去 characters/x.md 也加上反向关系(关系类型表见 references/relationship-types.md)locations / linked-systems / arcs,去对应文件加反向引用_index.md详见 references/relationship-types.md,含完整的关系类型对照表 + 反向对应。
加关系时:
{character: B, type: X}{character: A, type: inverse(X)}characters/_index.md 的关系图段加一行维护在 characters/_index.md 的 ## 家族 / 阵营 段。格式:
### {家族 / 阵营名}
- **{角色名}** ({status}) - [[{name-kebab}]]
- **{子辈名}** - [[{name-kebab}]]
- **{子辈名}** - [[{name-kebab}]]
借鉴 AI-NWA 的"动态角色资产"概念,每个角色卡可以追加:
volume-1:
responsibility: "推进主线 - 与反派的第一次正面冲突"
absence-risk: low # low / med / high (久不出场的话有什么后果)
appearance-target: 8 # 本卷计划出场章数
appearance-actual: 0 # 实际出场(每章更新)
v0.1 暂不强制,但 schema 已留好(写入 character-template.md)。
aliases: 字段,不单独建文件novel-worldbuilding。如对话中涉及地点 / 体系,先在角色 frontmatter 留 linked-locations / practices 占位 + 临时 ID。novel-memory 在 post-write 阶段的事每次完成创建后: