{"skill":{"slug":"my-novel-writer","displayName":"小说创作","summary":"辅助规划和生成长篇小说，支持人物世界设定、大纲管理、分章创作和写作风格锁定。","description":"# Novel Writer 技能\n\n**版本**: 1.0  \n**描述**: 辅助创作长篇小说的智能助手，支持人物设定、世界观管理、大纲控制和分章生成。\n\n---\n\n## 🚀 功能特性\n\n> ⚠️ **重要**：请通过环境变量配置 API 密钥，不要在配置文件中硬编码。\n\n### 环境变量列表\n\n| 变量名 | 必填 | 默认值 | 说明 |\n|--------|------|--------|------|\n| `WORKDIR` | 否 | `/app/working` | 工作目录 |\n| `NOVEL_API_KEY` | 是 | - | API 密钥 |\n| `NOVEL_API_BASE_URL` | 否 | - | API 基础 URL |\n| `NOVEL_MODEL` | 否 | `gpt-3.5-turbo` | 模型名称 |\n| `NOVEL_TEMPERATURE` | 否 | `0.8` | 温度参数 |\n| `NOVEL_MAX_TOKENS` | 否 | `4096` | 最大令牌数 |\n| `NOVEL_DEFAULT_STYLE` | 否 | `wuxia` | 默认写作风格 |\n\n### 使用示例\n\n```bash\n# Linux/Mac\nexport NOVEL_API_KEY=\"sk-xxx\"\nexport NOVEL_API_BASE_URL=\"https://your-api.com/v1\"\nexport NOVEL_MODEL=\"qwen/qwen3.5-122b-a10b\"\n\n# Windows (CMD)\nset NOVEL_API_KEY=sk-xxx\n\n# Windows (PowerShell)\n$env:NOVEL_API_KEY=\"sk-xxx\"\n```\n\n---\n\n- ✅ **记忆持久化**: 自动保存人物、世界观、大纲和已写章节，避免遗忘。\n- ✅ **大纲驱动**: 先规划大纲，再按章生成，确保剧情逻辑连贯。\n- ✅ **风格锁定**: 支持自定义写作风格（如：武侠、科幻、悬疑）。\n- ✅ **进度管理**: 实时查看创作进度，支持动态调整大纲。\n- ✅ **文件输出**: 每章自动生成独立的 `.md` 文件，方便后续编辑。\n\n---\n\n## 📖 使用指南\n\n### 1. 初始化小说\n```text\nnovel_writer --new \"我的奇幻世界\"\n```\n> 这将创建一个名为《我的奇幻世界》的新小说项目，并初始化记忆库。\n\n### 2. 设定人物\n```text\nnovel_writer --set-character \"林风\" \"主角，25岁，剑客，性格孤傲但重情义。\"\nnovel_writer --set-character \"苏月\" \"女主角，23岁，医师，温柔善良，擅长草药。\"\n```\n\n### 3. 设定世界观\n```text\nnovel_writer --set-world \"一个充满魔法与剑的奇幻大陆，分为三大王国，常年处于战争边缘。\"\n```\n\n### 4. 规划大纲\n```text\nnovel_writer --add-outline 1 \"初遇\" \"林风在森林中救下受伤的苏月，两人结伴同行。\"\nnovel_writer --add-outline 2 \"危机\" \"遭遇敌国刺客，林风重伤，苏月用草药救他。\"\n```\n\n### 5. 生成章节\n```text\nnovel_writer --generate 1 2500\n```\n> 生成第 1 章，目标字数 2500 字。生成后会自动保存到 `novels/` 目录。\n\n### 6. 查看进度\n```text\nnovel_writer --status\n```\n\n### 7. 更新大纲（动态调整）\n```text\nnovel_writer --update-outline 2 \"危机升级\" \"敌国刺客增多，林风发现刺客首领竟是自己失散多年的师兄。\"\n```\n\n---\n\n## 📂 完整文件结构\n\n```text\n/app/working/\n├── memory/\n│   └── novel_context.json      # 核心记忆库（人物、世界观、大纲、章节摘要）\n├── novels/\n│   ├── 我的奇幻世界_ch1.md     # 第 1 章内容\n│   ├── 我的奇幻世界_ch2.md     # 第 2 章内容\n│   └── ...\n└── customized_skills/\n    └── novel_writer/\n        ├── SKILL.md            # 本说明书\n        ├── __init__.py         # 模块初始化\n        ├── core.py             # 核心逻辑\n        ├── templates/          # 📝 模板资源\n        │   ├── character_card.md       # 人物卡模板\n        │   ├── world_building.md       # 世界观设定表\n        │   └── chapter_outline.md      # 章节大纲模板\n        ├── guides/             # 📋 参考指南\n        │   └── novel_structure_guide.md # 小说结构指南\n        ├── scripts/            # 🛠️ 实用脚本\n        │   └── plot_tracker.py         # 伏笔追踪器\n        └── examples/           # 📚 示例项目\n            └── project_example.json    # 完整示例\n```\n\n---\n\n## ⚙️ 高级技巧\n\n### 1. 风格微调\n在生成前，先设定风格：\n```text\nnovel_writer --set-style \"古风武侠，语言半文半白，注重意境描写。\"\n```\n\n### 2. 一致性检查\n生成后，可手动检查人物状态是否冲突（如：上一章受伤，下一章完好）。\n> 建议：在生成前，先读取 `novel_context.json` 中的 `characters` 状态。\n\n### 3. 批量生成\n```text\nfor i in {1..5}; do\n  novel_writer --generate $i 2000\ndone\n```\n\n---\n\n## 🛠️ 技术实现\n\n- **记忆管理**: 使用 JSON 文件存储上下文，支持增量更新。\n- **分章生成**: 每次只生成一章，避免上下文超限。\n- **摘要机制**: 每章生成后，自动提取摘要存入记忆库，供下一章参考。\n\n---\n\n## 📝 示例：从零开始写第一章\n\n1. **创建小说**:\n   ```text\n   novel_writer --new \"江湖夜雨\"\n   ```\n2. **设定人物**:\n   ```text\n   novel_writer --set-character \"李长风\" \"中年剑客，背负血海深仇。\"\n   ```\n3. **设定世界观**:\n   ```text\n   novel_writer --set-world \"大周王朝末年，江湖势力割据，朝廷腐败。\"\n   ```\n4. **规划大纲**:\n   ```text\n   novel_writer --add-outline 1 \"雨夜孤剑\" \"李长风在雨夜中独行，遭遇神秘杀手。\"\n   ```\n5. **生成第一章**:\n   ```text\n   novel_writer --generate 1 3000\n   ```\n6. **查看结果**:\n   ```text\n   cat /app/working/novels/江湖夜雨_ch1.md\n   ```\n\n---\n\n> 💡 **提示**: 本技能支持与其他技能（如 `docx`）结合，将生成的章节导出为 Word 文档进行精修。\n\n---\n\n## 🎁 捆绑资源包 (Bundled Resources)\n\n本技能附带了完整的创作资源包，帮助你更高效地构建长篇小说。\n\n---\n\n## 🚀 核心生成规范 v2.0 (基于实战优化)\n\n> **重要**：自本次更新起，所有生成的小说章节必须严格遵守以下规范，确保**字数达标、逻辑闭环、风格纯正**。\n\n### 1. 字数控制 (Word Count)\n- **硬性指标**：每章正文（不含标题）必须严格控制在 **2200 - 2500 字**。\n- **禁止注水**：严禁通过重复对话、无意义环境描写凑字数。\n- **补全机制**：若初稿字数不足，必须自动增加：\n  - **心理独白**（主角的内心挣扎、回忆、算计）。\n  - **环境渲染**（光影、声音、气味、温度）。\n  - **动作细节**（战斗中的慢镜头分解、招式拆解）。\n  - **配角反应**（围观群众的震惊、反派的微表情）。\n\n### 2. 逻辑闭环 (Logic Consistency)\n- **伏笔追踪**：前文提到的设定（如“绝脉”、“玉坠”），必须在后续章节有明确回收或呼应。\n- **人物状态**：\n  - 受伤必须恢复（或留下后遗症），不可瞬间痊愈。\n  - 获得物品必须使用（或展示效果），不可凭空消失。\n  - 情绪必须连贯（愤怒后是冷静，喜悦后是警惕）。\n- **战力体系**：\n  - 主角升级必须有过程（痛苦、瓶颈、突破）。\n  - 反派不可降智（必须有合理的动机和手段）。\n  - 战斗结果必须符合逻辑（以弱胜强需有“金手指”或“计谋”支撑）。\n\n### 3. 风格统一 (Style Consistency)\n- **第一人称**：严格保持“我”的视角，不可随意切换。\n- **爽点密度**：每章至少包含1个“小爽点”（如打脸、突破、获得宝物）。\n- **节奏把控**：\n  - 开篇：快速切入冲突（黄金三章法则）。\n  - 中段：铺垫与博弈（增加悬念）。\n  - 结尾：留下钩子（悬念、新危机、新目标）。\n\n### 4. 违禁词与敏感内容 (Safety)\n- **替换规则**：\n  - “杀” → “陨落”、“寂灭”、“身死”。\n  - “死” → “魂飞魄散”、“灰飞烟灭”。\n  - “血” → “猩红”、“染血”。\n- **审核规避**：避免过度暴力、色情、政治敏感内容。\n\n### 5. 交互与反馈 (Interaction)\n- **作者说**：每章末尾必须添加“作者说”，引导读者互动（求收藏、求推荐票）。\n- **章节标题**：必须包含“钩子”（如“苏天陨落”、“玉坠觉醒”），吸引点击。\n\n---\n\n## 📂 文件结构\n\n### 📝 1. 模板资源 (`templates/`)\n- **人物卡模板** (`character_card.md`)：详细记录人物设定、性格、关系、成长弧光。\n- **世界观设定表** (`world_building.md`)：构建宏大的背景，确保设定逻辑自洽。\n- **章节大纲模板** (`chapter_outline.md`)：规划每章剧情、场景、伏笔，避免跑偏。\n\n### 📋 2. 参考指南 (`guides/`)\n- **小说结构指南** (`novel_structure_guide.md`)：包含三幕式结构、人物弧光设计、伏笔技巧、节奏控制等经典理论。\n\n### 🛠️ 3. 实用脚本 (`scripts/`)\n- **伏笔追踪器** (`plot_tracker.py`)：\n  - 自动记录伏笔（开启、发展、关闭）。\n  - 检查未关闭伏笔，避免烂尾。\n  - 生成伏笔追踪表，一目了然。\n  - **使用方法**：\n    ```bash\n    python3 /app/working/customized_skills/novel_writer/scripts/plot_tracker.py\n    ```\n\n### 📚 4. 示例项目 (`examples/`)\n- **完整示例** (`project_example.json`)：包含人物、世界观、大纲、伏笔的完整示例，供你参考学习。\n\n---\n\n## 🚀 快速上手：使用资源包\n\n1. **复制模板**：\n   ```bash\n   cp /app/working/customized_skills/novel_writer/templates/character_card.md examples/characters/李长风.md\n   ```\n2. **填写人物卡**：打开 `李长风.md`，填写详细信息。\n3. **规划大纲**：使用 `chapter_outline.md` 模板，规划每章剧情。\n4. **运行伏笔追踪器**：\n   ```bash\n   python3 /app/working/customized_skills/novel_writer/scripts/plot_tracker.py\n   ```\n5. **参考结构指南**：写作时随时查阅 `novel_structure_guide.md`，确保结构合理。\n\n---\n\n> 🌟 **祝你在小说创作的道路上，笔耕不辍，佳作频出！** 🖋️\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":1187,"installsAllTime":1,"installsCurrent":1,"stars":1,"versions":1},"createdAt":1773146974202,"updatedAt":1778491807445},"latestVersion":{"version":"1.0.0","createdAt":1773146974202,"changelog":"初次上传","license":"MIT-0"},"metadata":null,"owner":{"handle":"hanbinsite","userId":"s174zz5z0w47dy9f1hk4xyy3k9885dvk","displayName":"hanbinsite","image":"https://avatars.githubusercontent.com/u/32380665?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089822490}}