1. 项目概述PassageGenerator是一款基于 Autonomous Workflow 理念设计的网络小说智能生成器专为起点、番茄、飞卢等多平台网文创作而生。它采用先进的分线叙事结构集成了完整的调研、生成、检查、续写全流程旨在为网文作者和内容创作者提供高效、智能的创作辅助工具。github地址https://github.com/moutainsea/PassageGenerator2. 核心功能详解2.1 智能调研模块按时间查询获取当前最热门的 Top 20 小说包含名称、简介、分类、章节名称和详细大纲存储为{时间戳}_hot20.json按类别标签查询获取指定标签下最热门的 Top 2 小说生成超详细大纲存储为{时间戳}_{标签}.json多平台榜单调研支持起点畅销榜、番茄小说榜单、飞卢小说天榜各平台调研产物独立存储2.2 小说生成引擎小说结构名称(≤10字)、简介(≤100字)、分类、大纲、章节内容分线叙事结构最高优先级每部小说定义 2 条以上分线如事业线、生活线分线交替推进避免读者审美疲劳切换处自然衔接杜绝生硬跳转事件线大纲大事件 → 中事件 → 小事件 小事件 事件影响 事件背景 主角人数(≥1) 配角人数(0-3) 人物形象 人物行为 所处时间 所在地表状态表 小事件的转移 状态表的转移独立事件库文件派生维护主角人物形象库、配角人物形象库、地点库、时间库章节内容每个章节扩写一个小事件结合前 1 章与后 1 章的标题/大纲/内容每章 2200-3200 字2.3 智能检查与反思内容一致性检查章节内容/大纲/章节名称与小说总体大纲对应节点是否匹配库一致性检查人物/时间/地点与各库对应节点是否匹配、合理重复性检查章节内容与章节名称是否重复n-gram 相似度分线合理性检查切换处是否衔接自然、章节归属是否与 subplots 定义一致反思与修正检测错漏/不通顺/太AI风格并支持自动修正2.4 小说续写功能加载已有小说 JSON 文件分析现有情绪曲线参考前文节奏遵循分线交替规律续写自动扩展大纲和库文件2.5 情绪曲线分析分段分析小说情绪走向生成情绪曲线报告JSON TXT 格式检测情绪异常段落提供修正建议2.6 跨平台去重检查番茄与飞卢作品互不重复书名/章节标题/正文一键生成双平台小说自动去重验证3. 项目架构PassageGenerator/ ├── architechture.txt # 架构说明最高参考 ├── requirements.txt # 实际零依赖说明用 ├── config.py # 全局配置路径/LLM/.env加载/生成规则/平台 ├── main.py # CLI 入口research/generate/continue/generate-all/history/status/emotion-curve ├── .env # 本地密钥配置gitignore勿提交 ├── .gitignore ├── models/ # 数据模型 │ ├── character.py # 人物主角/配角含技能/道具/称号 │ ├── event.py # 事件线大/中/小事件状态表 │ ├── location.py # 地点库 │ ├── timeline.py # 时间库 │ └── novel.py # 小说/章节/大纲/Subplot分线模型 ├── storage/ # 库管理与持久化 │ ├── libraries.py # 主角/配角/地点/时间库JSON按平台隔离 │ └── research_store.py # 调研结果存储 ├── core/ # 核心生成逻辑 │ ├── llm_client.py # 大语言模型客户端多平台故障转移mock │ ├── researcher.py # 调研模块 │ ├── outline_builder.py # 大纲构建事件线分线回填各库标题清洗 │ ├── chapter_writer.py # 章节写作结合前后章节分线上下文 │ ├── checker.py # 检查与反思含分线一致性检查 │ ├── continuator.py # 续写模块加载已有小说分线情绪曲线参考扩展大纲 │ ├── emotion_curve.py # 情绪曲线生成器分段情绪分析曲线合并检测修正建议 │ ├── character_consistency.py # 角色一致性检测 │ ├── cross_platform_check.py # 跨平台去重检查 │ └── generator.py # 生成器主流程 └── output/ # 运行时生成gitignore ├── research/ # 调研 json ├── novels/ # 生成的小说json txt │ └── emotion_curves/ # 情绪曲线报告 └── libraries/ # 各库 json按平台隔离 ├── qidian/ # 起点平台库向后兼容根目录 ├── fanqie/ # 番茄平台库 └── feilu/ # 飞卢平台库4. 安装与配置4.1 安装本项目使用 Python 标准库urllib/json/argparse 等调用 LLM零第三方依赖兼容 Python 3.5无需 pip install。# 克隆项目gitclonerepository_urlcdPassageGenerator# 无需安装依赖直接使用python main.py--help4.2 配置 LLM采用 OpenAI 兼容接口支持多平台故障转移GLM首选→ Kimi第二→ DeepSeek第三→ mock兜底。某平台调用失败自动切换下一家全部失败才回退 mock。方式一.env 文件推荐key 不进代码库项目根目录已内置 .env已被 .gitignore 忽略填入任一平台 Key 即可# DeepSeek DEEPSEEK_API_KEYsk-xxxx DEEPSEEK_MODELdeepseek-chat DEEPSEEK_BASE_URLhttps://api.deepseek.com/v1 # 智谱 GLM首选如需启用 # GLM_API_KEY... # GLM_MODELglm-4-plus # 月之暗面 Kimi第二顺位如需启用 # KIMI_API_KEY... # KIMI_MODELmoonshot-v1-32k方式二环境变量PowerShell$env:DEEPSEEK_API_KEYsk-xxxx# 或 GLM_API_KEY / KIMI_API_KEY查看当前启用状态python main.py status强制 mock 模式无需 Key输出占位内容用于联调# PowerShell$env:LLM_MOCK15. 使用指南5.1 调研功能1.1 调研当前最热 top 20python main.py research生成文件output/research/{时间戳}_hot20.json1.2 按标签调研 top 2python main.py research--tag玄幻生成文件output/research/{时间戳}_玄幻.json1.3 按平台榜单调研# 调研番茄小说榜单热点分类python main.py research--platformfanqie--top5--expand# 调研飞卢小说天榜python main.py research--platformfeilu--top3# 调研起点畅销榜python main.py research--platformqidian--top10参数说明--platform平台选择qidian/fanqie/feilu--top取前N部默认2避免调研过宽导致后续生成写岔劈--expand基于 top 2 扩充每部作品的超详细大纲1.4 查看历史调研文件python main.pyhistory5.2 生成小说2.1 基础生成mock 模式可直接运行python main.py generate--category玄幻--tags玄幻,升级--chapters52.2 指定平台生成# 生成番茄小说python main.py generate--platformfanqie--category都市--tags都市,系统--chapters20# 生成飞卢小说python main.py generate--platformfeilu--category玄幻--tags玄幻,升级--chapters15# 生成起点小说默认python main.py generate--category都市--tags都市,重生--chapters102.3 带标签调研后生成python main.py generate--category玄幻--tags玄幻,升级--chapters8--research-tag 玄幻2.4 指定平台榜单分类调研并生成# 番茄都市热点分类python main.py generate--platformfanqie--category都市--tags都市,系统--chapters20--research-category 都市# 飞卢玄幻热点分类python main.py generate--platformfeilu--category玄幻--tags玄幻,升级--chapters20--research-category 玄幻2.5 指定小说名称python main.py generate--name我的小说名--category都市--tags都市,系统--chapters102.6 跳过调研直接生成python main.py generate --skip-research--category玄幻--tags玄幻,升级--chapters55.3 续写已有小说python main.pycontinue--novel-path output/novels/your_novel.json--chapters35.4 情绪曲线分析python main.py emotion-curve --novel-path output/novels/your_novel.json5.5 跨平台去重检查python main.py cross-check--platform1fanqie--platform2feilu6. 技术特色6.1 分线叙事结构PassageGenerator 的核心创新在于其分线叙事系统。与传统线性叙事不同系统会自动为每部小说设计至少两条故事线如事业线、生活线、感情线等并在章节间智能切换保持读者的阅读兴趣。6.2 状态驱动的事件系统小事件通过状态表进行管理每个小事件都会改变故事的状态形成状态转移图。这种设计使得故事发展更加逻辑严谨避免了情节的随意跳跃。6.3 多库协同系统维护四个核心库主角人物形象库主角的成长轨迹、技能变化配角人物形象库可复用的配角模板如故地重逢、“碰巧遇到”、共同目标等场景地点库场景描述和地理关系时间库时间线和历史事件6.4 智能检查与反思系统不仅生成内容还能自我检查分线交替是否自然人物行为是否符合设定情节发展是否合理文风是否过于AI化7. 应用场景网文作者辅助创作快速生成大纲和初稿节省构思时间内容平台批量生产为小说平台提供海量原创内容写作教学工具展示分线叙事和情节构建技巧AI写作研究研究AI在创意写作中的应用跨平台内容分发一键生成适配不同平台风格的小说8. 核心模块实现原理8.1 调研模块researcher.py调研模块通过调用 LLM 分析各平台榜单数据提取热门小说的结构化信息。核心流程如下# 伪代码示例defresearch_hot_novels(platform,top_n20):# 1. 获取平台榜单数据ranking_datafetch_platform_ranking(platform)# 2. 提取前 top_n 部小说基本信息novels[]foriinrange(min(top_n,len(ranking_data))):novel_infoextract_novel_info(ranking_data[i])# 3. 获取详细大纲和章节信息detailed_outlineget_detailed_outline(novel_info[id])# 4. 结构化存储novel_record{name:novel_info[name],intro:novel_info[intro],category:novel_info[category],chapters:novel_info[chapters],outline:detailed_outline,platform:platform,timestamp:get_current_timestamp()}novels.append(novel_record)# 5. 保存为 JSON 文件save_to_json(novels,foutput/research/{timestamp}_hot{top_n}.json)returnnovels8.2 大纲构建器outline_builder.py大纲构建器负责将调研结果转化为结构化的事件线并定义分线叙事结构defbuild_novel_outline(research_data,category,tags):# 1. 分析调研数据提取热门元素hot_elementsanalyze_hot_elements(research_data)# 2. 定义分线至少2条subplotsdefine_subplots(category,tags,hot_elements)# 3. 构建事件线大事件 → 中事件 → 小事件major_eventsgenerate_major_events(category,subplots)# 4. 细化中事件和小事件outline[]formajor_eventinmajor_events:medium_eventsgenerate_medium_events(major_event)formedium_eventinmedium_events:small_eventsgenerate_small_events(medium_event)# 5. 为每个小事件填充状态表forsmall_eventinsmall_events:state_tablecreate_state_table(small_event)small_event[state_table]state_table# 6. 回填到各库update_libraries(small_event)medium_event[small_events]small_events major_event[medium_events]medium_events outline.append(major_event)return{name:generate_novel_name(category,tags),intro:generate_intro(category,tags,hot_elements),category:category,tags:tags,subplots:subplots,outline:outline}8.3 章节写作器chapter_writer.py章节写作器基于小事件状态表生成具体章节内容确保分线交替自然defwrite_chapter(small_event,prev_chapter,next_chapter,subplot_context):# 1. 获取小事件的状态表信息state_tablesmall_event[state_table]# 2. 结合前后章节上下文contextbuild_context(prev_chapter,next_chapter)# 3. 根据分线上下文调整写作风格writing_styleadjust_style_for_subplot(subplot_context)# 4. 生成章节内容2200-3200字chapter_contentgenerate_content(small_event,state_table,context,writing_style)# 5. 生成章节标题chapter_titlegenerate_title(small_event,subplot_context)return{title:chapter_title,content:chapter_content,word_count:len(chapter_content),subplot:subplot_context[current_subplot],state_before:state_table[before],state_after:state_table[after]}8.4 检查器checker.py检查器对生成内容进行多维度验证defcheck_novel_quality(novel_data):issues[]# 1. 内容一致性检查consistency_issuescheck_consistency(novel_data[chapters],novel_data[outline])issues.extend(consistency_issues)# 2. 库一致性检查library_issuescheck_library_consistency(novel_data)issues.extend(library_issues)# 3. 重复性检查n-gram相似度duplicate_issuescheck_duplicates(novel_data[chapters])issues.extend(duplicate_issues)# 4. 分线合理性检查subplot_issuescheck_subplot_transitions(novel_data)issues.extend(subplot_issues)# 5. AI风格检测ai_style_issuesdetect_ai_style(novel_data[chapters])issues.extend(ai_style_issues)