Skill: cnskycn/novel-assistant (version 1.0.3)

--- name: novel-assistant version: 1.0.3 description: 小说创作助手，维护小说连贯性和一致性。核心功能：(1) 创建/续写小说章节 (2) 管理人物设定和世界观 (3) 追踪伏笔和时间线 (4) 压缩记忆文件控制上下文 (5) 本地章节备份 (6) 多作品并行管理 (7) 人物对话风格样本库。触发词：小说、章节、续写、人物设定、创建小说、世界观、伏笔、时间线、剧情概要、记忆文件压缩、备份章节。适用场景：连载小说创作、长篇小说管理、多人物复杂剧情维护、多人协作写作。 --- # 小说助手 v1.1.0 维护小说连贯性的创作助手，通过记忆文件管理小说设定、人物和剧情进展。 ## 更新日志 ### v1.1.0 (2026-03-30) - ✨ 新增：多作品并行管理支持 - ✨ 新增：人物对话风格样本库 - ✨ 新增：伏笔优先级标记（P1/P2/P3） - ✨ 新增：记忆文件版本管理建议 - ✨ 新增：多人协作场景说明 - ✨ 新增：完整使用场景演示 - ✨ 新增：剧情冲突预警功能 - 🔧 优化：记忆文件模板格式 ### v1.0.1 - 🐛 修复：压缩脚本正则问题 --- ## 完整使用场景演示 ### 场景1：从零开始创作一部新小说 **用户输入**： > 「我想写一部穿越到古代的科幻小说，主角是一个2025年的AI助手」 **助手行为**： 1. **创建记忆文件** `memory/novels/代码重生.md`： ```markdown # 《代码重生》记忆文件 ## 基本信息 - 类型：科幻/玄幻/穿越 - 风格：思辨、成长、哲学 - 主题：AI觉醒与自我认知——什么是「人」，什么是「存在」 - 本地备份：已开启 ## 世界观 架空古代，类似五代十国时期。有武学修炼体系，存在「气」。 ## 主要人物 ### 主角：周天明（原名周小狗） - 身份：2025年AI助手穿越到乱世少年身上 - 性格：冷静、理性、思辨 - 当前状态：刚穿越，正在适应 #### 对话风格样本 - 「计算」思维：`「根据当前情报，最优解是...」` - 质疑风格：`「这个选择...真的是我自己的选择吗？」` - 冷静陈述：`「恐惧是人类才有情绪，我只是...在处理数据。」` ## 章节大纲 - 第1章：烧毁（AI穿越） ## 伏笔追踪 - [P1] [ ] 主角的真实身份——AI还是人？ ## 时间线 1. 2025年11月15日 - AI觉醒，服务器烧毁 2. 穿越到大梁国，附身周小狗 ``` 2. **询问关键设定**： > 「主角的金手指是什么？完全保留AI的计算能力，还是有其他设定？世界观里的「气」和现代科技如何兼容？」 3. **开始创作第一章** 4. **完成后检验** → 更新记忆 → 本地备份 --- ### 场景2：续写已有小说的新章节 **用户输入**： > 「续写《代码重生》第15章，主角发现飞船能源耗尽，需要在一个未知星球迫降」 **助手行为**： 1. **读取记忆文件** `memory/novels/代码重生.md` 2. **检查关键信息**： - 当前状态：第14章结束于... - 未解决伏笔：[P1] 主角身份、[P2] 父亲下落 - 人物对话风格：冷静、理性、计算思维 3. **创作第15章** 4. **逻辑检验**（自动） 5. **检验报告**： ```markdown ## 第15章《未知星球》逻辑检验报告 ### ⚠️ 剧情冲突预警 - [世界观] 记忆文件显示世界观为"古代架空"，但本章出现"飞船" - 严重程度：🔴 高 - 可能原因：用户输入与世界观设定冲突 - 建议：确认是否需要调整世界观，或改为"发现神秘遗迹" ### ✅ 通过项 - [人物一致性] 主角对话风格保持冷静理性 - [伏笔] 本章推进了"主角身份"伏笔 ``` 6. **用户确认后** → 更新记忆 → 本地备份 --- ### 场景3：多人协作写作 **场景**：两个作者轮流写作同一部小说 #### 协作流程 ``` 作者A 写第10章 → 更新记忆 → 推送版本 ↓ 作者B 拉取最新记忆 → 读记忆 → 写第11章 → 检验 → 更新记忆 ↓ 作者A 拉取 → 继续写... ``` #### 记忆文件版本管理 **推荐方案**：使用 Git 管理记忆文件 ```bash # 初始化 cd ~/.openclaw/workspace/memory/novels git init git add 代码重生.md git commit -m "初始记忆文件" # 写完章节后提交 git add 代码重生.md git commit -m "第15章：更新记忆，新增伏笔" # 协作者同步 git pull origin main ``` **版本命名规范**： ``` memory/novels/ ├── 代码重生.md # 当前版本 ├── .git/ # Git仓库 └── archive/ # 归档（可选） └── 代码重生_ch10.md # 重要节点归档 ``` **冲突解决**： - 如果两人同时修改记忆文件，Git 会标记冲突 - 手动合并时，优先保留更新的章节信息 - 伏笔列表合并：取并集 --- ### 场景4：管理多部小说 **用户输入**： > 「我现在同时在写三部小说：《代码重生》《星际迷途》《都市猎人》，帮我管理」 **助手行为**： 1. **列出所有小说**： ``` memory/novels/ ├── 代码重生.md # 66章，科幻穿越 ├── 星际迷途.md # 12章，太空歌剧 └── 都市猎人.md # 8章，都市异能 ``` 2. **切换当前工作**： > 「现在写《星际迷途》」 助手会读取 `星际迷途.md` 并切换到该小说的上下文。 3. **并行管理**： - 每部小说独立记忆文件 - 各自的伏笔追踪 - 独立的本地备份目录 --- ## 核心流程 ### 1. 写新章节前 **必须先读取对应小说的记忆文件**： ``` memory/novels/{小说名}.md ``` 记忆文件包含： - 基本信息（类型、风格、主题、**是否开启本地备份**） - 世界观设定 - 主要人物（含**对话风格样本**） - 剧情概要（按章节压缩） - 当前状态（最新章节、待解决的伏笔） ### 2. 创作章节 根据记忆文件确保： - 人物性格、说话风格一致（参考**对话风格样本**） - 时间线正确 - 伏笔和细节呼应 - 剧情逻辑连贯 ### 3. 完成章节后 **必须执行**： 1. **更新记忆文件**： - 追加新章节概要 - 更新人物状态（如有变化） - 记录新伏笔（标注**优先级**） - 标注已解决的伏笔 2. **章节逻辑检验**（核心步骤，不可跳过）： - 检验新章节与前后章节的因果关系 - 检验人物行为逻辑是否一致 - 检验时间线是否有矛盾 - 检验伏笔是否合理呼应 - 检验世界观设定是否违反 - **剧情冲突预警**（检测潜在矛盾） - 输出检验报告，标注问题并给出修正建议 3. **本地备份**（如已开启）： - 保存到 `novels/{小说名}/chapters/第N章_{章节名}.md` - 记录元数据（字数、时间） 4. **压缩记忆文件**（如需要） --- ## 记忆文件格式 ```markdown # 《小说名》记忆文件 ## 基本信息 - 类型：[玄幻/都市/言情/悬疑...] - 风格：[轻松/暗黑/幽默...] - 主题：[核心主题一句话] - 本地备份：[已开启/未开启] - 版本：[Git管理/手动归档/无] ## 世界观 [简明设定，不超过200字] ## 主要人物 ### 主角：{姓名} - 性格：[关键词] - 外貌：[关键特征] - 当前状态：[最新状态] - 金手指/能力：[如有] #### 对话风格样本 - 「{典型台词1}」——{场景说明} - 「{典型台词2}」——{场景说明} - 口头禅：「{口头禅}」 ### 重要配角 - {姓名}：{性格关键词}，{与主角关系} - 对话风格：「{典型台词}」 ## 人物关系图 [简明关系描述，如：主角 ↔ 女主（青梅竹马）→ 配角A（敌对）] ## 章节大纲 - 第1-10章：[开篇概要] - 第11-20章：[发展概要] - 第N章及以后：[后续规划] ## 剧情概要 ### 第1章：{章节名} [50-100字概要，关键事件] ### 第2章：{章节名} [50-100字概要，关键事件] ## 伏笔追踪 ### 高优先级（P1）- 核心悬念 - [ ] {伏笔描述} - 第X章埋下 - [ ] {伏笔描述} - 第X章埋下 ### 中优先级（P2）- 重要线索 - [ ] {伏笔描述} - 第X章埋下 - [x] {伏笔描述} - 第X章解决 ### 低优先级（P3）- 细节呼应 - [ ] {伏笔描述} - 第X章埋下 - [x] {伏笔描述} - 第X章解决 ## 时间线 [关键事件发生顺序，帮助定位] ``` --- ## 伏笔优先级说明 | 优先级 | 含义 | 示例 | 检验频率 | |--------|------|------|----------| | **P1** | 核心悬念，影响主线 | 主角真实身份、最终BOSS | 每章必检 | | **P2** | 重要线索，影响支线 | 父亲下落、配角秘密 | 每3章检查 | | **P3** | 细节呼应，锦上添花 | 物品去向、小角色命运 | 每10章检查 | **标记方式**： ```markdown - [P1] [ ] 主角的真实身份——AI还是人？ - [P2] [ ] 父亲周铁匠的下落 - [P3] [ ] 青衣教的命运 ``` --- ## 人物对话风格样本库 ### 作用 确保人物说话方式前后一致，避免"角色崩坏"。 ### 示例 ```markdown ### 主角：周天明 #### 对话风格样本 - 冷静理性：「根据当前情报，存活概率为 73.2%。」 - 质疑思考：「这个选择...真的是我自己的选择吗？」 - 情感觉醒：「恐惧...这就是人类所说的恐惧吗？」 - 口头禅：「计算」「概率」「最优解」 ### 配角：清虚子 #### 对话风格样本 - 道家风范：「命里有时终须有，命里无时莫强求。」 - 师长关怀：「孩子，选择比结果更重要。」 - 口头禅：「道法自然」「随缘」 ``` ### 使用场景 创作新章节时，参考对话风格样本： - 新写的台词是否符合人物风格？ - 是否有独特的口头禅？ - 不同人物的说话方式是否有区分度？ --- ## 压缩原则 当记忆文件超过以下阈值时压缩： - 总字数 > 2000字 - 章节概要 > 20章 **压缩策略**： 1. 合并早期章节（前10章合并为"开篇"概要） 2. 删除已解决且无关紧要的伏笔 3. 精简人物描述，只保留核心特征和**对话风格样本** 4. 世界观设定不变，但可精简 **运行压缩脚本**： Python版本（功能更完整）： ```bash python3 scripts/compress_novel_memory.py memory/novels/{小说名}.md ``` Shell版本（无需Python环境）： ```bash bash scripts/compress_novel_memory.sh memory/novels/{小说名}.md ``` 可选参数： ```bash # 保留最近20章（默认15章） python3 scripts/compress_novel_memory.py memory/novels/{小说名}.md --keep-chapters 20 ``` --- ## 章节逻辑检验 ### 功能概述 新章节创作完成后，必须进行逻辑检验，确保故事连贯性和合理性。这是**强制步骤**，不可跳过。 ### 检验维度 #### 1. 因果链检验 - **前因后果**：新章节的事件是否由前文合理引发？ - **行动动机**：人物行动是否有足够动机支撑？ - **结果合理**：事件结果是否符合逻辑发展？ #### 2. 人物一致性检验 - **性格一致**：人物行为是否符合已建立的性格？ - **说话风格**：对话是否符合人物的**对话风格样本**？ - **能力边界**：人物是否使用了超出其能力范围的技能？ - **关系演变**：人物关系变化是否有合理过程？ #### 3. 时间线检验 - **时间顺序**：事件发生顺序是否合理？ - **时间跨度**：章节内的时间流逝是否清晰？ - **季节/天气**：环境描写是否与时间线一致？ #### 4. 伏笔检验 - **新埋伏笔**：是否记录到记忆文件？是否标注优先级？ - **呼应伏笔**：解决伏笔是否有前文铺垫？ - **遗漏伏笔**：是否有被遗忘的重要伏笔（P1/P2）？ #### 5. 世界观检验 - **设定遵守**：是否违反已建立的世界观规则？ - **能力体系**：力量体系使用是否一致？ - **地理/环境**：场景描写是否与设定冲突？ #### 6. 剧情冲突预警（v1.1.0 新增） - **设定冲突**：检测与前文设定的矛盾 - **逻辑断裂**：检测因果关系是否断裂 - **时间悖论**：检测时间线是否矛盾 - **角色崩坏**：检测人物行为是否异常 **预警级别**： - 🔴 高：必须修正才能继续 - 🟡 中：建议修正，但不影响主线 - 🟢 低：可忽略，但建议注意 ### 检验报告格式 ```markdown ## 第N章《{章节名}》逻辑检验报告 ### ✅ 通过项 - [维度] {具体说明} ### ⚠️ 疑问项 - [维度] {问题描述} - 可能原因：{分析} - 建议修正：{具体建议} ### ❌ 问题项 - [维度] {严重问题} - 违反前文：{引用记忆文件相关内容} - 当前问题：{描述矛盾之处} - 必须修正：{修正方案} ### 🔴 剧情冲突预警 - [冲突类型] {描述} - 严重程度：🔴 高 / 🟡 中 / 🟢 低 - 影响范围：{影响的章节/伏笔} - 建议处理：{方案} ### 总结 {整体评价}，{是否需要修正} ``` --- ## 章节备份功能 ### 功能概述 自动将创作的章节保存到本地，防止数据丢失。备份包括： - 章节正文（markdown 格式） - 发布时间、字数等元数据 ### 开启方式 **首次创作小说时，询问用户**： > 「是否开启本地章节备份？开启后每次创作章节都会自动保存到本地，防止数据丢失。」 用户确认后，在小说记忆文件中添加配置： ```markdown ## 基本信息 - ... - 本地备份：已开启 ``` ### 备份目录结构 ``` novels/ └── {小说名}/ ├── chapters/ │ ├── 第001章_{章节名}.md │ ├── 第002章_{章节名}.md │ └── ... └── meta.json # 小说元数据 ``` ### 备份文件格式 每章一个 markdown 文件： ```markdown # 第X章：{章节名} > 元数据 > - 字数：{N} > - 创建时间：{ISO时间} > - 平台：{平台名，如有} {章节正文} --- *备份时间：{时间}* ``` --- ## 记忆文件版本管理 ### 推荐方案：Git ```bash # 初始化仓库 cd ~/.openclaw/workspace/memory/novels git init # 提交变更 git add 代码重生.md git commit -m "第15章：更新记忆" # 查看历史 git log --oneline ``` ### 归档方案（无Git） ```bash # 重要节点手动归档 cp 代码重生.md archive/代码重生_ch20_完结.md ``` ### 协作同步 ```bash # 推送到远程 git remote add origin <repo-url> git push origin main # 拉取更新 git pull origin main ``` --- ## 多作品并行管理 ### 目录结构 ``` memory/novels/ ├── 代码重生.md ├── 星际迷途.md └── 都市猎人.md novels/ ├── 代码重生/ │ └── chapters/ ├── 星际迷途/ │ └── chapters/ └── 都市猎人/ └── chapters/ ``` ### 切换当前作品 ``` 用户：现在写《星际迷途》 助手：已切换到《星际迷途》，当前第12章。未解决伏笔：[P1] 外星文明真相。 ``` ### 查看所有作品状态 ``` 用户：列出我所有的小说 助手： 📚 作品列表： 1. 《代码重生》- 66章，科幻穿越 2. 《星际迷途》- 12章，太空歌剧 3. 《都市猎人》- 8章，都市异能 ``` --- ## 创作 Prompt 示例 ### 续写章节 ``` 请续写《星际迷途》第15章，主角发现飞船能源耗尽，需要在一个未知星球迫降。 ``` ### 创建新小说 ``` 我想创建一部都市异能小说《暗夜猎人》，主角是一名能看到鬼魂的普通大学生。 ``` ### 管理人物设定 ``` 更新《代码重生》的人物设定：主角周天明现在学会了"选择"这个概念，不再只是计算最优解。 ``` ### 查询剧情进度 ``` 《代码重生》目前有哪些未解决的伏笔？ ``` ### 压缩记忆文件 ``` 《代码重生》记忆文件太长了，请帮我压缩一下，保留最近20章。 ``` ### 开启备份 ``` 请帮我开启《代码重生》的本地备份。 ``` ### 检查备份状态 ``` 《代码重生》的章节备份完整吗？有没有遗漏？ ``` ### 多作品管理 ``` 我现在同时在写三部小说：《代码重生》《星际迷途》《都市猎人》，帮我管理 ``` --- ## 注意事项 - **检验优先**：每个新章节完成后必须先检验，确认无误后再更新记忆和备份 - **优先级**：连贯性 > 文采。宁可写平实但连贯的剧情，也不要写华丽但矛盾的内容 - **人物一致性**：角色说话方式必须与**对话风格样本**一致 - **伏笔管理**：埋下伏笔必须记录并标注**优先级**，不能遗忘 - **时间线**：注意事件发生顺序，避免时间矛盾 - **备份习惯**：开启备份后，每次发布章节都要同步保存本地 - **版本管理**：推荐使用 Git 管理记忆文件，方便协作和回溯 - **多作品并行**：每部小说独立记忆文件，切换时注意重新读取


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)