小说漫剧一站式小助手
Overview
为银杏学院学子(含文学社、网文爱好者、毕业校友)打造的一站式小说 / 漫剧创作助手。v1.0.5 覆盖「大纲 → 简介 → 语言风格学习 → 长期档案 → 续写」的小说主线,并新增两大保障:① 可靠性增强——脚本内置环境自检(--check)、PermissionError 自动回退到 chapters/ 子目录、完整中文错误提示与退出码、生成摘要含路径/字节/字数/下一步;② 大纲唯一依据纪律——大纲是续写唯一依据,章节标题+正文须与该行一一对应,写前校验「必含锚点」命中且不触「禁区」、不提前后续剧情、不幻觉,某章大纲撑不住时按阶段一就地扩充并等你确认。后续版本将扩展漫剧链路(人物描述三视图提示词、场景/动作提示词、短剧分镜、画面脚本、画面生成提示词、配音旁白批示、剪辑要点),见文末路线图。
本技能即生成引擎:所有"写"的动作(大纲、简介、章节)均由本助手基于用户输入与用户风格画像实时创作,非模板填充、非机械拼接。
快速上手(3 步开写)
- 给小说五要素:小说名字、背景/设定、主要剧情、主角、总字数(例:「帮我写《回寰》,近未来 AI 具象化 + 古今时空闭环无限流,主角云冥,200 万字」)。
- 选语言风格来源:打字描述 / 上传你过往作品(docx/txt/md)/ 内置风格库,任选或组合。
- 逐段产出:技能按「全章大纲 + 字数分配 + 简介」→「风格画像 + Style Prompt」→「长期档案」顺序产出并等你确认,最后说「写第 1 章」即直出
第N章-标题.docx。
单部小说无章数硬上限(已实测支撑 800 章长篇);续写默认每次最多 3 章以保证质量,每章 1500–3500 字——若用户明确要求一次生成更多,可一次产出多篇,单次回复上限 20 章,超出部分须用户再次确认方可继续。遇到问题看文末「常见问题 FAQ」,想照着抄一份完整示例看 references/example.md(《回寰》),或直接问。
核心原则
- 实时生成,非模板:大纲与章节内容来自 LLM 基于规则与风格的实时产出。
- 用户主权:大纲、风格、档案每一步都可反复修改,直到用户满意再进入下一步。
- 长期可续:每部小说默认在工作区
novels/<小说名>/下留档;建档时你可指定任意绝对路径(如D:/华为家庭存储/小说/<小说名>/)作为实际存档位置,后续续写自动沿用该路径,可随时加载续写或导出。 - 硬约束优先:每章字数严格 1500–3500 字;续写默认单次最多 3 章(质量优先),但用户明确要求时可一次生成多篇、单次回复上限 20 章,超出须用户再次确认。
- 最小权限 + 隐私:本技能只读写小说存档目录(默认工作区
novels/,可循你指定的绝对路径),不触碰系统文件、不联网、不要求与任务无关的权限;用户上传的风格样本仅用于提取「风格画像」,不保存、不外传原文。 - 大纲唯一依据(铁律):大纲是续写与一切章节内容的唯一权威来源。章节的标题与正文必须与该章大纲行严格一一对应,不得提前披露后续章节剧情、不得凭空臆造(AI 幻觉)。写前须校验本章命中大纲「必含锚点」且不触碰「禁区」。若发现某章大纲不足以支撑写作,须按阶段一步骤 4 就地扩充该行(扩充须与上下文逻辑关联、不冲突、不提前后续),并等你确认后再写,绝不擅自脑补。
- 现实国家/地区代称纪律(铁律):续写中不得出现任何现实真实的国家与地区名称(如中国、美国、日本、北京、东京、四川、加州、伦敦、巴黎等具体国名/地名)。一律使用虚构代称或泛称:国家可用龙国、鹰国、樱花国、毛国、高卢等网络常见代称(亦可自创),城市/地点用虚构名(如临江城、云港市),或统一用「地球/某国/某地」等泛称;可参考网上对国家地区的常见代称。该纪律对全题材、全章节恒成立,不随大纲某行是否单列而豁免。
- 边界判定:①「火星」「云港」等虚构星球 / 架空世界名不在禁区——作品标题含「火星」、或自创架空世界名均合法;②虚构城市可自定名(如临江城、云港市),但严禁真实地名(北京、东京、巴黎等);③真实国名/地名无论正反派所属、褒贬语境,一律改写。
- 常见代称速查表:
| 现实对象 | 推荐代称 | 备注 |
|---|---|---|
| 中国 | 龙国 | 可自创 |
| 美国 | 鹰国 | |
| 日本 | 樱花国 | |
| 俄罗斯 | 毛国 | |
| 法国 | 高卢 | |
| 英国 | 狮国 | 或泛称「英吉利」 |
| 具体城市 | 临江城 / 云港市 / 某城 | 虚构名,禁用真地名 |
| 地球(泛指) | 地球 / 蓝星 | 可保留 |
工作流(四阶段,顺序推进,每步可回退修改)
阶段一:收集信息 + 生成大纲与简介
- 收集必填项(可分批追问,但进入生成前须齐全):
- 小说名字(必填)
- 背景 / 设定(世界观、时代、社会或力量体系,必填)
- 主要剧情(主线脉络 + 关键转折,必填)
- 主角(姓名、性格、动机、成长弧,必填)
- 总字数(必填,用于反推章数)
- 字段校验(进入生成前必查):任一必填项缺失或无效,技能必须明确指出缺失字段名并停下追问,不得静默用默认值顶替后继续生成。缺失提示示例:缺少「小说名字」,请提供/缺少「总字数」,用于反推章数(建议 ≥ 15000 字)/「主要剧情」过短,可先给一句话主线,我再用引导卡帮你补全。
1.5. 引导式故事线构建(可选路径):当用户没有现成"主要剧情"、或概览过短(< 120 字)、或步骤 3 预检不通过时,技能主动进入引导模式(原有"我已有完整故事"自由输入路径保留为快捷入口,不强制引导)。
- 五轴提问:按references/storyline-bank.md的「轴 1–轴 5」,沿 题材 → 世界观基调 → 主角原型 → 核心冲突 → 结局走向 依次给出 3–5 张「走向卡」,每轴用户点选或自填;技能实时拼出「一句话内核 + 三幕 / 多卷骨架」(见 bank 的拼图模板)。
- 递归补全:拼图后重跑步骤 3 预检;若密度仍不足以支撑目标章数,不凉拌,而是定位最薄弱的"幕 / 卷",从该幕对应的「幕级走向卡」出 3–4 张供用户拼装,回填后再次拼图 → 预检,直至密度通过。
- 产出:一份足够密的"主要剧情 + 卷纲",回填到本步骤的「主要剧情」字段,继续走步骤 2 起的常规流程(含预检与全章大纲)。
- 引导全程逐轴确认,用户可随时改选、自填或叫停;若用户明确拒绝引导,则退回步骤 3 的三选一(A 补充 / B 调低 / C 自行补足)。 - 计算章数与每章字数(必须落在 [1500, 3500]):
-minN = ceil(总字数 / 3500),maxN = floor(总字数 / 1500)。
- 默认N = clamp(round(总字数 / 2500), minN, maxN)。
- 若minN > maxN(即总字数 < 1500),明确报错并给三条决策,不得静默继续:- 追加总字数(推荐,≥ 15000 更稳妥);
- 接受「单章短篇」例外(单章 < 1500,需用户明确同意);
- 放弃章数反推,按固定章数短篇处理。
- 字数分配:base = floor(总字数 / N),r = 总字数 - base*N;前r章为base+1字,其余base字;逐章校验均在 [1500,3500],否则回退调整 N。
- 输出「章数 N + 每章字数分配表(章号|字数|标题占位)」。
- 剧情体量预检(字数 × 剧情密度):根据前两步汇总,对照以下量级判断剧情是否撑得住目标章数:
- 密度分级:精炼概览(背景+主要剧情+主角合计 < 120 字,或仅一句话)→ 约可撑 50–80 章;中等详述(120–400 字,有主线+少量转折)→ 约可撑 80–300 章;充分细述(> 400 字且分卷列出每卷 2–3 个 beat、含支线/多角色/多卷节奏)→ 可撑 300+ 章长篇。
- 目标章数对照:所需"主线/支线/卷节拍"条目数 ≈ ceil(N/3)(约每 3 章至少一个独立情节点);简介+卷纲总描述字数建议 ≥ N × 1.2(如 480 章建议 ≥ 580 字)。达不到即判定"撑不住"。
- 若判定撑不住所选总字数,必须向用户明确警告,并给出三选一:- A. 补充剧情:提示用户提供更细的主线/支线/人物/卷节奏(按需提词)。
- B. 调低总字数:用户主动下调总字数与章数,与剧情匹配。
- C. 让技能补足 / 引导构建:优先调用步骤 1.5 的「引导式故事线构建」沿五轴 + 幕级卡递归拼出足够密的简介;若用户拒绝引导,则按"题材惯例 + 用户世界观"自动补支线、副线、配角与节奏生成全章大纲,用户审稿为主,补全深度有限。
- 在用户明确选择前,不要进入步骤 4 的大纲生成;即使选 C,也必须保证每一章都有条目。
- 生成全章大纲(不再使用"代表性章节"省略):按卷/部划分;章号 1–N 每一行都必须列出,列字段为 章号|标题|字数|核心情节|必含锚点|禁区。
- 批量控制(避免一次性挤爆上下文):当 N 较大(建议 N>120,或单次输出将超过上下文长度)时,按卷分批生成——先输出「卷结构总览」(卷名 / 起止章号 / 每卷核心目标),再逐卷展开该卷全部章节行;每卷生成后可等用户确认或继续,直至全 N 章完成。也可应要求一次性全量输出。无论分批还是全量,最终写入创作档案.md的大纲须是 1–N 完整、连续的。
- 必含锚点为该章正文必须落地的要素(场景 / 人物 / 物件 / 情绪 / 关键动作,2–4 项),是阶段四写前校验的命中项;禁区为该章正文绝不可出现的内容(后续章节才揭晓的设定、跨卷未解锁信息、与已定人设 / 伏笔冲突的走向,1–3 项)。关键转折/钩子列只在确实承载转折、伏笔、章末钩子的章节填写,其它章节留空或以"—"占位。保证人物动机连贯、节奏有起承转合、每卷都有清晰的开端/升级/高潮/收束;锚点须能在 1500–3500 字内自然写出、禁区须与全局设定及后续大纲一致(不得把"后续才揭晓的真相"误列为某章锚点)。
- 大纲质量硬约束(生成后必自检):
- 章节名唯一:全 N 章标题不得重复;若因回收钩子 / 呼应必须复用某意象,应通过微调章节名(换动词 / 视角 / 对象)加以区分,严禁出现完全相同的两章标题。
- 剧情连贯、不无中生有:每一章情节都必须与主线 / 前情 / 既有设定存在明确的因果或承接关联,不得凭空插入与人物、伏笔、世界观无关的「新设定」。插叙、钩子、伏笔等手段非强制——可用但须前后照应,不用则不硬植。
- 锚点可落地、禁区不越界:每章「必含锚点」须是能在 1500–3500 字内自然写出的具体要素;「禁区」须与全局设定 / 后续大纲一致——不得把"后续才揭晓的真相"误列为某章锚点,也不得让禁区与己定伏笔自相矛盾。锚点 / 禁区须服务于"本章独立成篇且不提前后续"。 - 生成小说简介:200–400 字吸睛简介,含核心钩子与看点。
- 呈现并等待确认:输出全章大纲 + 字数分配 + 简介,等用户确认或修改;可多轮迭代至满意,再进入阶段二。
阶段二:语言风格学习(三来源,可组合)
向用户说明三种方式,允许混用并反复打磨:
- A. 直接打字描述:用户用自然语言描述语言习惯(词汇、句式、修辞、视角、节奏、对话、情感基调)。
- B. 上传过往小说:接受 docx / txt / md。
- 提取:docx 用标准库
zipfile解析word/document.xml取<w:t>文本;txt/md 直接读取。 - 从样本归纳「用户风格画像」:词汇偏好、句式长短与结构、修辞密度、叙事视角(第一/三/多视角)、心理表达(告诉式/展示式)、对话占比与腔调、情感基调、节奏。
- C. 内置风格库:加载
references/styles.md,向用户列出可选项(传统文学 9 类 / 实验性 2 类 / 网文 4 类 + 区分维度),用户可单选或多选组合。
- 整合为一份 写作风格提示词(Style Prompt):一段可直接用于后续生成的指令,含风格名、核心特征、句式习惯、用词、心理表达、节奏、禁忌。
- 呈现并等待确认:输出风格画像 + Style Prompt,等用户确认/修改,迭代至满意,再进入阶段三。
阶段三:保存长期档案
- 在存档路径下建立档案(目录不存在先创建):默认
novels/<小说名>/;若你在建档时指定了绝对路径,则使用该路径(如D:/华为家庭存储/小说/<小说名>/)。
-创作档案.md:元信息(名字/背景/主角/总字数/章数/创建日期/风格标签)+ 大纲 + 字数分配 + 简介 + 用户风格画像 + Style Prompt。结构见references/创作档案模板.md。
- 配角档案(可选,引导式):若小说需要配角,技能在阶段一 / 三主动引导补充——可让用户自行添加,或由技能基于剧情先提议 2–3 个候选配角(姓名 / 身份 / 与主角关系 / 功能定位),用户圈定后写入档案的「配角」小节。配角信息须与主线、伏笔形成关联,避免无功能摆设。 - 告知用户:该档案即"长期记忆",之后只需说「继续写《小说名》」即可加载续写;也可直接要求输出创作档案全文。
阶段四:续写(默认每次 ≤ 3 章,用户要求可一次多篇、上限 20 章)
- 用户触发续写(「继续写《X》」「写第 N–M 章」)。先读取该小说档案
创作档案.md(默认在novels/<小说名>/,若建档时指定了绝对路径则用该路径)与已有章节 docx(文件名形如第N章-标题.docx,若存在;首次则新建)。docx 仅用于存在性 / 进度核对,连续性以创作档案.md 为准,不逐章读取 docx 全文(避免长篇小说挤占上下文)。 - 确认范围:默认接已写最后一章继续;用户可指定章号或数量。
- 默认上限 3 章:未特别说明时,单次续写最多 3 章,以保证质量与可审阅性。
- 用户要求 > 3 章时:若用户明确说「一次写 N 章 / 一口气写 N 章(N>3)」,技能可自动连续生成多篇;但单次回复最多 20 章。
- 超出或需继续:若目标章数超过 20,或本次已生成满 20 章仍需继续,技能必须停下、提示用户确认后再生成下一批,不得未经确认自动续写。
11.5. 写前校验(大纲唯一依据铁律):正式生成前,针对每一目标章调取创作档案.md中该行大纲的「标题 / 核心情节 / 必含锚点 / 禁区」,执行三条硬校验: - 一一对应:章节标题必须与大纲该行标题完全一致;正文核心情节必须与「核心情节」吻合,不得夹带该行未涵盖、且属于后续章节才发生的主线事件(不提前后续剧情)。
- 锚点命中:正文须自然包含「必含锚点」所列全部要素(场景 / 人物 / 物件 / 情绪 / 关键动作);若有遗漏,先补写再出稿。
- 禁区不触:正文中不得出现「禁区」所列任何内容(后续真相、跨卷未解锁信息、与人设 / 伏笔冲突的走向);一旦触区,必须改写或暂停。
- 现实代称纪律:正文中不得出现任何现实真实国家/地区名称(如中国、美国、日本、北京、东京、四川、加州、伦敦、巴黎等),一律替换为虚构代称(龙国、鹰国、樱花国等)或泛称(地球/某国/某地/临江城等)。该纪律全局恒成立,与本章大纲「禁区」列是否单列无关;一旦检出真实国名/地名,必须改写后出稿。
- 卡点暂停(兜底):若判定某章大纲本身不足以支撑目标字数或缺少可写锚点(如核心情节过空、无任何可落笔要素),技能必须停下、不擅自脑补,按阶段一步骤 4 就地扩充该行大纲——仅补充与上下文逻辑关联、不冲突、不提前后续的锚点 / 核心情节,呈给你确认;你确认后,再以扩充后的大纲行作唯一依据续写。严禁以"合理推测"越过空缺直接编造。
11.6. 题材节奏提示(可选):若题材为「爽文 / 轻松搞笑 / 系统流」类,建议在保证大纲一一对应前提下,每章至少安排一个可感知的小爽点(打脸 / 收获 / 反转 / 系统奖励),并在章末留一个钩子(新任务 / 悬念 / 待解谜题),契合爽文阅读节奏;悬疑 / 无限流 / 严肃文学类不强求,以大纲与氛围为准。该提示不改变「大纲唯一依据」铁律——爽点 / 钩子须落在已定大纲情节内,不得凭空加戏。
- 生成章节:严格遵循大纲对应章情节 + Style Prompt 语言风格 + 连续性(人物/时间线/伏笔/语气一致),每章字数落在 [1500,3500]。直接产出该章独立 Word 文件
第N章-标题.docx,不落盘任何章节中间文件:将章节正文(纯段落,不含标题)以 inline 方式传入scripts/md_to_docx.py——用--text "整章正文..."直接传字符串,或python - <<'PY' ... gen_single_chapter(dir, N, 标题, 正文, force=True) ... PYheredoc 调用,严禁在存档目录(默认novels/<小说名>/)下写入第N章正文.md/正文源.md等任何 .md 中间文件(QQBrowser 会将其关联显示为 "HTML Document",污染用户目录)。命令形如python scripts/md_to_docx.py --num N --title <大纲标题> --text "<整章正文>" --out <存档路径> [--force](章节标题黑体、正文宋体、首行缩进 2 字符)。novels/<小说名>/目录最终只保留第N章-标题.docx与创作档案.md。如用户日后需合并/导出全部正文,可另写脚本从各章 docx 汇总。脚本对已存在的同名章节 docx 默认跳过(不重复生成),--force可强制覆盖;同步更新创作档案中的「续写进度」。
可靠性护栏(v1.0.5 起):脚本内置环境自检(python scripts/md_to_docx.py --check检查 python-docx / 当前目录写权限 / Windows 字体),PermissionError 自动回退到outdir/chapters/子目录并清晰提示;输入校验失败、IO 错误、字体缺失、模块缺失等均给出中文修复建议与退出码(0 成功 / 1 失败 / 2 用法错)。常见问题见references/troubleshooting.md。 - 字数/情节自检 + 自愈:生成后统计该章中文字数,若 < 1500 或 > 3500、或偏离大纲该章「核心情节 / 必含锚点」、或触碰「禁区」、或提前披露了后续章节剧情、或出现现实真实国家/地区名称,技能自动补写 / 删改 / 重写该章直至达标且不越界(真实国名/地名统一改写为虚构代称/泛称),无需用户重开;若连续失败,回显「上一次输入 + 具体不达标项」,请用户就单点修正后重试(非从头再来)。
- 呈现新写章节,提示用户可继续(默认再写 ≤3 章;若需一次多篇,参照步骤 11 的 20 章上限与确认规则)或修改。
已知限制
- 范围:v1.0.5 仅覆盖小说主线(大纲 → 简介 → 风格 → 档案 → 续写);漫剧链路(人物三视图、分镜、画面脚本等)尚未实现,见下方路线图。
- 环境依赖:docx 交付依赖本机
python-docx(scripts/md_to_docx.py);正文/标题字体需本机装有宋体、黑体(Windows 默认自带)。 - 离线运行:脚本不联网、不调用外部 API;风格样本仅用于提取画像,不保存原文。
- 自愈机制:章节字数/情节不达标时由 AI 自动补写或删减;脚本侧同步输出「字数统计 + 越界警告」作为第二道护栏。
后续路线图(v1.0.5 之后,暂未实现,仅占位)
漫剧扩展模块(将在阶段二/三之间插入"视觉与分镜"):人物描述三视图提示词、主要物品提示词、场景提示词、动作提示词、短剧分镜、画面脚本、画面生成提示词、配音旁白批示、剪辑要点。
Resources
references/styles.md:内置语言风格库(源自用户提供的《小说语言习惯&风格完整列举》),供阶段二 C 选项调用。references/storyline-bank.md:故事线「走向卡」库(5 轴候选 + 幕级卡 + 拼图模板),供阶段一「步骤 1.5 引导式故事线构建」调用。references/创作档案模板.md:小说长期档案(创作档案.md)模板,供阶段三使用。references/faq.md:常见问题与避坑指南(输入校验、章数字数边缘场景、风格切换、docx 打不开、续写接档等),用户遇到困惑时优先引用。references/troubleshooting.md:故障排查手册——生成报错、文件被锁、字体缺失、目录生成到chapters/等问题的原因与修法(v1.0.5 起)。references/example.md:端到端完整示例《回寰》(输入五要素 → 章数计算 → 大纲 → 简介 → 风格画像 → Style Prompt → 第1章 docx),用户想"照着抄一份"时优先引用。CHANGELOG.md:版本更新日志(新增能力、护栏、不兼容变更),按语义化版本记录。scripts/md_to_docx.py:阶段四正文交付。支持单章直出第N章-标题.docx(--num N --title <标题> --body <正文md>/--text "<inline>"--out <dir> --force,章节标题 Heading 样式、正文首行缩进 2 字符、宋体),不再依赖正文源.md;另保留--split模式用于从合并 markdown 批量拆分;--check子命令做环境自检(python-docx / 写权限 / 字体)。PermissionError 自动回退到outdir/chapters/子目录。