# AINovel **Repository Path**: congye111/ainovel ## Basic Information - **Project Name**: AINovel - **Description**: 终端运行的AI小说创作系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Novel Creator AI 驱动的小说创作 CLI 工具,通过对话式交互完成小说设定、章节生成、AI 审稿和人工审核的完整创作流程。同时内置 Web 书架,可本地预览已发布章节。 ## 功能特性 - **AI 模型配置** - 支持多模型配置,可切换默认模型、测试连接、自定义温度和 Token 上限等参数 - **对话式创作** - 通过 AI 引导式对话,逐步生成分章大纲、世界观、角色(12 字段完整档案)和核心真相 - **继续完善设定** - 退出后可随时从项目详情恢复 AI 对话,继续打磨设定 - **分章大纲** - AI 生成按章节分段的大纲,章节生成时自动提取当前章剧情节点,精准控制节奏 - **章节生成** - 支持配置字数、伏笔、剧情线、重点事件,智能裁剪 Prompt 适配上下文窗口 - **AI 审稿** - 多维度评分(去 AI 化、剧情流畅度、大纲一致性、角色一致性、文风质量),低于阈值自动优化(最多 3 次) - **审稿恢复** - 终端异常退出后,重新进入项目自动检测卡审核的章节,支持一键批量通过 - **人工审核** - AI 审稿通过后人工确认,支持通过/不通过/编辑后通过/一键批量通过 - **角色档案** - 12 字段完整档案(性格/背景/外貌/目标/秘密/关系/发展弧线),自动识别新角色并一步补全 - **角色去重** - 自动检测并合并重复角色(尊称/简称/别名),自动处理称呼变体(老周→周XX) - **核心真相与伏笔** - 管理故事核心秘密、伏笔埋设与揭晓、信息差设定 - **自动模式** - 批量自动生成章节,预检自动补全设定缺口,跳过人工审核直接发布 - **项目备份与导入** - 打包为 .zip 备份,支持跨机器迁移,导入冲突自动处理 - **导出** - 支持导出为 .md 或 .txt 格式,可选包含大纲 - **Web 书架** - 本地 Web 服务器,浏览器预览已发布章节 - **操作日志** - 实时日志查看,自动轮转,按日期分组 ## 技术栈 - **运行时**: Node.js - **CLI 框架**: Inquirer.js 8.x - **终端样式**: Chalk 4.x - **HTTP 请求**: Axios - **文件操作**: fs-extra - **压缩/解压**: archiver / adm-zip - **加载动画**: Ora 5.x - **ASCII 艺术**: Figlet - **Web 服务**: Express ## 项目结构 ``` src/ ├── cli/ # CLI 交互层 │ ├── mainMenu.js # 主菜单 │ ├── chatCreate.js # 对话创作 + 继续完善设定 │ ├── projectDetail.js # 项目详情(含审稿恢复) │ ├── chapterGenerate.js # 章节生成 │ ├── manualReview.js # 人工审核(含一键通过) │ ├── autoMode.js # 自动模式 │ ├── characterManager.js # 角色管理 │ ├── plotManager.js # 剧情线管理 │ ├── sideStoryGenerate.js# 番外生成 │ ├── backupManager.js # 备份管理 │ ├── logViewer.js # 日志查看 │ ├── configManager.js # 配置管理 │ └── preflightCheck.js # 生成前预检 ├── services/ # 服务层 │ ├── aiService.js # AI 接口调用 │ ├── chapterService.js # 章节服务 │ ├── characterService.js # 角色服务(含去重) │ ├── chatService.js # 对话服务 │ ├── configService.js # 配置服务 │ ├── exportService.js # 导出服务 │ ├── fileService.js # 文件服务 │ ├── logService.js # 日志服务 │ ├── plotService.js # 剧情线服务 │ ├── preflightService.js # 预检服务 │ ├── projectService.js # 项目服务 │ ├── promptBuilder.js # Prompt 构建 │ ├── reviewService.js # 审稿服务 │ ├── autoModeService.js # 自动模式引擎 │ └── sideStoryService.js # 番外服务 ├── utils/ │ └── helpers.js # 工具函数(含角色名模糊匹配) ├── web/ # Web 书架 │ ├── server.js │ ├── routes/ │ └── public/ └── index.js # 入口文件 ``` ## 数据存储 ``` data/ ├── configs.json # AI 模型配置 ├── settings.json # 全局设置 ├── projects/ │ └── 书名_YYYYMMDD_HHmmss/ │ ├── meta.json # 项目元信息 │ ├── outline.json # 大纲(含分章大纲) │ ├── truth.json # 核心真相 │ ├── relations.json # 角色关系 │ ├── chat_history.json # 对话历史(支持继续完善) │ ├── characters.json # 角色档案(12 字段) │ ├── state.json # 项目状态(章节/审核状态机) │ ├── logs.json # 操作日志 │ ├── token_usage.json # Token 用量 │ ├── plot_progress.json # 剧情进度 │ └── chapters/ # 章节目录(.md 格式) ├── backups/ # 备份文件 exports/ # 导出文件 ``` > 存储约定:仅章节正文使用 `.md` 格式(面向用户可读),其余数据均使用 `.json` 格式(便于程序读写)。 ## 快速开始 ### 安装依赖 ```bash npm install ``` ### 启动 ```bash npm start # CLI + Web 书架 npm run dev:cli # 仅 CLI npm run dev:web # 仅 Web 书架 ``` ## 使用流程 1. **配置 AI 模型** - 首次使用需添加 AI 模型配置(API 地址、Key、模型名称等) 2. **创建小说项目** - 通过 AI 对话,逐步完善分章大纲、世界观、角色(12 字段完整档案)等设定 3. **生成章节** - 配置章节参数后由 AI 生成内容,自动从分章大纲提取当前章剧情节点 4. **AI 审稿** - 自动多维度评分,低于阈值自动优化(最多 3 次,可配置) 5. **人工审核** - 确认章节质量,通过后发布;支持一键批量通过卡审核章节 6. **继续完善** - 随时从项目详情恢复 AI 对话,继续打磨设定 7. **导出** - 将完成的小说导出为 .md 或 .txt 文件 ## 许可证 MIT