基于Ink脚本语言的长篇网络小说AI写作系统,支持状态化剧情管理、分章节创作和多维度质量审计。解决网络小说写作中的剧情前后矛盾、角色设定混乱等常见问题,适合玄幻、都市、科幻等多种网文类型。
【适用场景】
什么时候用
当你需要创作长篇网络小说时使用。典型场景:
- 创作10万字以上的长篇网络小说 - 需要管理复杂的剧情线和角色关系 - 担心写到后面忘记前面的设定,出现前后矛盾 - 希望AI能够理解你的世界观设定并保持一致性 - 需要分章节创作,同时保持全局一致性
核心解决的问题
长篇网文写作的三大痛点:
1. 剧情混乱 — 写到后面忘了前面的伏笔,或者角色行为前后矛盾 2. 设定丢失 — 最初设定的世界观、角色背景写到一半就忘了 3. 质量不一 — 不同章节的文风、节奏差异大,读者体验断崖
适用类型
- 玄幻/奇幻(世界观复杂,设定多) - 都市/现代(人物关系多,支线多) - 科幻(世界观严谨,逻辑要求高) - 历史/军事(考据要求高)
【操作步骤】
Step 1:建立世界观档案
在开始写作前,创建完整的世界观设定文档:
```markdown
世界观设定
主要角色
- [角色名]:[性格、背景、目标]势力/组织
- [势力名]:[目的、成员、规则]重要地点
- [地名]:[描述、意义]核心规则
- [规则1]:对这个世界的约束 - [规则2]:魔法/科技体系设定 ```Step 2:建立剧情状态机
用状态机管理剧情进展:
``` 当前剧情节点:主角抵达王城 ↓ 已触发事件: - 与男二相遇 - 发现隐藏线索A - 触发支线B ↓ 待触发伏笔: - 线索A将在第三章回收 - 支线B需要收集3件道具 ↓ 已解锁章节:第1-5章草稿完成 ```
Step 3:分章节创作
每个章节创作前:
1. 读取当前剧情状态 2. 确认本章需要推进的剧情线 3. 检查是否有需要回收的伏笔 4. 创作本章内容 5. 更新剧情状态
Step 4:质量审计
完成章节后,进行多维度审计:
| 审计维度 | 检查项 |
|---|---|
| 剧情一致性 | 本章行为是否与设定冲突 |
| 角色一致性 | 角色语言/行为是否与性格一致 |
| 伏笔回收 | 之前埋的伏笔是否有交代 |
| 节奏评估 | 高潮/低谷是否分布合理 |
| 文风一致 | 与前后章节文风是否统一 |
【代码模板】
剧情状态管理
```python import json from datetime import datetime
class StoryState: def __init__(self, state_file='./story_state.json'): self.state_file = state_file self.state = self.load_state()
def load_state(self): try: with open(self.state_file, 'r', encoding='utf-8') as f: return json.load(f) except: return self.new_state()
def new_state(self): return { 'current_chapter': 0, 'active_plotlines': [], 'foreshadowing': [], 'character_states': {}, 'world_rules': [], 'chapters': [] }
def update_chapter(self, chapter_num, events, new_foreshadowing=None): """更新章节状态""" self.state['current_chapter'] = chapter_num self.state['chapters'].append({ 'num': chapter_num, 'events': events, 'timestamp': datetime.now().isoformat() })
if new_foreshadowing: self.state['foreshadowing'].extend(new_foreshadowing)
def check_foreshadowing(self, chapter_num): """检查当前章节需要回收的伏笔""" ready = [] for fs in self.state['foreshadowing']: if fs.get('target_chapter') == chapter_num: ready.append(fs) return ready
def save(self): with open(self.state_file, 'w', encoding='utf-8') as f: json.dump(self.state, f, ensure_ascii=False, indent=2) ```
写作质量审计脚本
```python import re
def audit_chapter(chapter_text, story_state): """ 审计章节质量 """ issues = []
1. 检查角色名一致性
characters = story_state.state.get('character_states', {}) for char_name in characters.keys(): if char_name not in chapter_text: issues.append({ 'type': 'character_absence', 'severity': 'warning', 'message': f'角色{char_name}在本章未出现' })2. 检查伏笔回收
ready_foreshadowing = story_state.check_foreshadowing( story_state.state['current_chapter'] ) for fs in ready_foreshadowing: if fs['keyword'] not in chapter_text: issues.append({ 'type': 'foreshadowing_unresolved', 'severity': 'error', 'message': f'伏笔"{fs["desc"]}"应在本章回收' })3. 检查章节长度
word_count = len(chapter_text) if word_count < 2000: issues.append({ 'type': 'length_too_short', 'severity': 'warning', 'message': f'章节过短({word_count}字),可能影响阅读节奏' }) elif word_count > 5000: issues.append({ 'type': 'length_too_long', 'severity': 'info', 'message': f'章节较长({word_count}字),考虑拆分为多个章节' })return issues ```
【复盘要点】
常见问题
1. 状态更新不及时 — 每写完一章就要更新状态,不要等到写完再补 2. 伏笔埋太多 — 每3章至少回收一个伏笔,避免读者忘记 3. 角色设定漂移 — 定期回顾角色设定,确认行为一致性
判断标准
好的长篇网文:
- 前后设定一致,没有明显的逻辑漏洞 - 伏笔有铺垫有回收,不埋不收 - 人物性格稳定,行为符合性格 - 节奏有起伏,高潮和缓冲交替
进阶技巧
- 用思维导图管理剧情分支,清晰可视化 - 建立角色卡片,正面侧面都要写,包括弱点 - 设置「世界规则检查」环节,确保设定不打架 - 不同章节设置不同的情感基线,形成阅读节奏
来源:GitHub https://github.com/PapainTea/ink-skill