Skip to content

Latest commit

 

History

98 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI 网文写作助手

一个面向网文作者、拆书博主和内容策划者的 Web 工作台,用 AI 帮用户拆解爆款小说结构、沉淀可复用模板、迁移到新题材大纲,并在长篇创作过程中维护人物、伏笔、世界观和章节台账,避免越写越跑偏。

本项目不是“输入一句话,一键生成小说”的工具。它的核心是:

拆爆款结构 → 提炼爽点公式 → 生成模板库 → 迁移新题材 → 管理长篇创作状态

这是一个多用户 Web 产品,所有项目、模板、AI 任务和写作状态都按账号隔离,使用前需要注册或登录。

详细项目规范见 AGENTS.md,产品需求执行稿见 PRD.md,技术架构见 ARCHITECTURE.md,产品设计规范见 DESIGN.md

产品目标

用户应该能用这个工具完成三件事:

  1. 看懂一部成功网文为什么能留住读者。
  2. 把成功作品的故事流程、爽点节奏和章节结构沉淀成可复用模板。
  3. 基于模板创作新书,并通过结构化状态管理保证长篇不跑偏。

最终效果不是让 AI 替用户“乱写一章”,而是帮助用户更稳定地设计一本能连载、能留人、能持续制造期待的网文。

核心用户

优先服务以下用户:

  1. 网文作者:学习爆款结构,生成新书大纲,稳定推进连载。
  2. 新手作者:快速理解开局、金手指、爽点、断章和节奏。
  3. 拆书博主:快速产出小说拆解、卖点分析和写法总结。
  4. 内容工作室:批量拆解题材,沉淀模板库,辅助选题和策划。

第一版优先面向个人作者和拆书用户,不优先做复杂团队协作。

账号体系

  1. 进入系统先登录。
  2. 支持邮箱 + 密码注册和登录。
  3. 登录后通过会话 Cookie 保持状态。
  4. 每个用户只能看到和操作自己的项目、模板、AI 设置和任务。
  5. 客户端由用户自行配置 AI 服务商、请求地址、API Key 和模型名。
  6. 支持账号用量查看和数据导出,账号删除不作为普通用户日常功能入口。
  7. 支持管理员后台生成授权码、查看客户激活状态和 AI 用量。

上线前能力

当前已补齐第一版推广前的基础能力:

  1. 新手引导:按“创建项目 → 导入文本 → 分析 → 模板 → 创作”完成首轮流程。
  2. 套餐与额度:展示项目、模板、本月 AI 任务和导入字符用量。
  3. 数据导出:可导出当前账号名下的项目、模板、分析结果、任务和写作状态。
  4. 空数据启动:不预置样例项目,用户注册后只看到自己创建和导入的数据。
  5. 任务进度:任务队列显示百分比进度与可重试状态。
  6. 流式生成:正文草稿和二稿改写支持实时出字,完成后自动保存到项目。
  7. 一次性授权:客户端首次启动输入授权码,后续使用用户自己的 AI Key,不走平台积分计费。
  8. 管理后台:管理员可生成授权码、查看客户激活状态、处理换机和禁用授权。
  9. 合规说明:明确隐私、版权边界和结构学习原则。

运行模式

项目现在按运行端拆分,通过环境变量 APP_RUNTIME 控制:

  1. desktop:Tauri 客户端。首次启动输入授权码,数据默认保存在本机,用户在 AI 设置页填写自己的请求地址、API Key 和模型名。
  2. cloud:云端授权中心和管理员后台。部署到 Vercel/服务器,用来生成授权码、校验客户端激活、管理客户和版本发布。

桌面客户端建议设置:

APP_RUNTIME="desktop"
LICENSE_SERVER_URL="https://你的授权中心域名"
LICENSE_SERVER_TIMEOUT_MS="30000"

云端授权中心建议设置:

APP_RUNTIME="cloud"
APP_AUTH_PROVIDER="local"
DATABASE_URL="file:/www/wwwroot/book/data/license-center.db"
APP_STORE_PATH="/www/wwwroot/book/data/app-db.json"
ADMIN_EMAILS="你的管理员邮箱"

如果云端只用于管理员下发授权码和客户端激活校验,使用本地账号体系 + SQLite 即可。完整部署步骤见 DEPLOYMENT.md。 如果你已经配好 SSH,可以直接用 npm run deploy:server 一键把改动发到服务器。

授权中心也提供客户端下载中心:

/download

GitHub Actions 打好 Windows x64、macOS arm64、macOS x64 三个安装包后,可以执行:

npm run release:download
DOWNLOAD_BASE_URL="https://你的下载域名" npm run downloads:manifest

脚本会整理安装包并生成 manifest.json,下载中心页面和客户端“检查更新”都会读取这份发布清单。

作者端客户端

作者端采用 Tauri 承载现有 Next 工作台,管理端继续部署在云端授权中心。

npm run tauri:dev             # 本地客户端开发
npm run tauri:build:mac:arm64 # 本机打 Apple 芯片 Mac 包
npm run release:tauri         # GitHub Actions 打三端发布包

详细说明见 DESKTOP.md

核心流程

第一版产品围绕一条主链路设计:

上传文本
↓
自动分章
↓
逐章拆解
↓
提取爽点与节奏
↓
总结爆款公式
↓
保存为模板
↓
迁移到新题材大纲
↓
进入创作工作台
↓
生成章节任务卡、正文、台账和审稿报告

灵感中心作为补充入口,承接作者随时冒出的桥段、设定、人物、伏笔和台词,再把它们整理成可进入大纲、任务卡、人物档案、伏笔表和创作圣经的素材。

任何新功能都应该先判断是否服务这条链路。

运行说明

  1. 先注册账号或登录现有账号。
  2. 创建拆书项目或写作项目。
  3. 导入文本后开始分章、拆解和分析。
  4. 第一次使用建议先进入新手引导页跑完整条主链路。

后台任务与验收

后台 AI 任务可以通过登录态在页面触发,也可以用 Worker Token 批量执行:

JOB_WORKER_TOKEN=your-secret npm run dev
curl -X POST http://localhost:3000/api/jobs/worker \
  -H "content-type: application/json" \
  -H "x-worker-token: your-secret" \
  -d '{"limit":10}'

如果想长期跑后台任务,可以直接用:

JOB_WORKER_TOKEN=your-secret JOB_WORKER_INTERVAL_MS=5000 npm run worker

每轮开发后建议执行:

npm run acceptance
npm run typecheck
npm run build

acceptance 会检查拆书、模板、大纲、创作、状态、二稿、后台 Worker 和数据库镜像这些第一版关键契约是否还在。

MVP 功能范围

1. 文本导入与自动分章

支持上传 TXT 或粘贴长文本。

系统需要自动识别常见章节格式:

第1章 标题
第一章 标题
Chapter 1
001 标题
卷一 / 第一卷

用户可以预览章节列表,并手动调整切分结果。

2. 章节拆解

每章不只是做摘要,而是拆成可计算、可复用的结构化信息:

{
  "chapter_number": 1,
  "title": "章节标题",
  "summary": "本章概述",
  "main_event": "本章核心事件",
  "conflict": "本章主要冲突",
  "pressure_point": "主角或关键人物被压制的地方",
  "payoff": "本章释放的爽点或收益",
  "cliffhanger": "章末钩子",
  "new_information": ["新增信息"],
  "new_characters": ["新增人物"],
  "state_changes": ["人物、关系、资源、地图或主线状态变化"],
  "reader_hook": "读者继续读下一章的理由"
}

3. 爽点识别

第一版至少识别这些爽点类型:

  1. 被轻视后反击。
  2. 打脸反派。
  3. 身份曝光。
  4. 战力碾压。
  5. 金手指奖励。
  6. 资源获取。
  7. 危机反转。
  8. 众人震惊。
  9. 情绪补偿。
  10. 地位提升。
  11. 复仇推进。
  12. 信息差误会。

爽点分析必须回答:

  1. 爽点前的压制是什么。
  2. 爽点在哪里释放。
  3. 爽点为什么有效。
  4. 爽点是否推动主线。

4. 整书节奏分析

系统需要分析:

  1. 开局钩子。
  2. 主角初始处境。
  3. 金手指出现时机。
  4. 主线目标建立时间。
  5. 小爽点频率。
  6. 大爽点频率。
  7. 地图推进节奏。
  8. 反派升级节奏。
  9. 伏笔埋设与回收节奏。
  10. 章节断点习惯。

示例输出:

开局:主角被退婚,同时家族认定他已经废掉。
金手指:第2章出现,第3章第一次兑现奖励。
小爽点:平均每2-3章一次。
大爽点:约每8-10章一次。
主循环:被误判 → 被挑衅 → 主角出手 → 众人震惊 → 获得新资源 → 引出更高层敌人。

5. 爆款公式提取

系统需要把小说提炼为可迁移的故事公式:

  1. 题材类型。
  2. 主角模型。
  3. 开局模型。
  4. 金手指机制。
  5. 核心冲突循环。
  6. 爽点释放规律。
  7. 反派功能。
  8. 配角功能。
  9. 地图/势力升级路线。
  10. 可迁移结构。
  11. 不建议照搬的内容。

产品只复用商业结构和情绪曲线,不鼓励复制原文、角色名、标志性设定和具体桥段。

6. 模板库

用户可以把拆解出来的公式保存为模板。

模板示例:

{
  "template_name": "都市退婚打脸流模板",
  "genre": "都市逆袭",
  "protagonist_model": "被轻视的隐藏强者",
  "opening_hook": "退婚/羞辱/能力觉醒",
  "golden_finger": "系统或传承",
  "main_loop": "被误判 → 被挑衅 → 反击 → 震惊 → 获得资源",
  "chapter_pacing": "2-3章小爽点,8-10章大爽点",
  "usable_patterns": ["可迁移结构"],
  "avoid_copying": ["不可照搬内容"]
}

模板库需要支持新建、查看、编辑、分类和从模板生成新书大纲。

7. 新题材大纲生成

用户选择模板后,可以输入新题材变量:

  1. 题材。
  2. 主角身份。
  3. 金手指类型。
  4. 世界观背景。
  5. 爽点密度。
  6. 感情线强度。
  7. 黑暗程度。
  8. 目标读者。
  9. 预计篇幅。

系统输出:

  1. 书名方向。
  2. 简介。
  3. 核心卖点。
  4. 世界观简表。
  5. 主角设定。
  6. 主要人物功能表。
  7. 前 10 章大纲。
  8. 前 100 章节奏表。
  9. 伏笔安排。
  10. 爽点分布。

8. 灵感中心

灵感中心用于保存作者随时想到的情节设定、故事构思、人物、伏笔、台词和其他创作想法。它不是普通备忘录,而是素材池、AI 整理台和创作投喂入口。

第一版需要支持六类能力:

  1. 新增灵感:记录标题、正文、类型、标签、关联项目和状态。
  2. 灵感分类:支持情节、人物、世界观、爽点、伏笔、设定、台词、选题、书名和其他类型,并支持自定义标签。
  3. 增删改查:支持创建、查看、编辑、删除、关键词搜索、类型筛选、标签筛选、项目筛选、状态筛选和更新时间排序。
  4. AI 润色:支持润色表达、扩写设定、改成更网文化、提炼一句卖点、分析爽点潜力、生成变体、生成章节任务、转人物卡草稿和转伏笔草稿。
  5. 关联项目:灵感可以不关联项目,也可以关联到某本小说项目;后续可继续关联人物、伏笔、章节、卷纲和创作圣经。
  6. 一键转化:从灵感生成结构化草稿,例如人物档案、伏笔、章节任务卡、创作圣经补充、世界观设定、短大纲和桥段变体。

基础字段建议:

{
  "id": "inspiration_id",
  "user_id": "user_id",
  "project_id": "project_id_or_null",
  "title": "灵感标题",
  "content": "用户原始灵感",
  "type": "plot | character | worldbuilding | pleasure_point | foreshadowing | setting | line | topic | title | other",
  "tags": ["信息差", "高压开局"],
  "status": "raw | polished | used | archived",
  "ai_outputs": [],
  "linked_entity_type": "project | character | foreshadowing | chapter | outline | bible | null",
  "linked_entity_id": "entity_id_or_null"
}

转化规则:

  1. AI 整理结果不能覆盖原始灵感。
  2. 写入人物、伏笔、任务卡或创作圣经前,必须由用户确认。
  3. 已转化的灵感标记为 used,并保留来源引用。
  4. 关联项目后,AI 润色需要参考项目创作圣经、人物、伏笔和主线状态。

9. 长篇创作管理

这是产品和普通 AI 写作工具的主要区别。

每个创作项目都必须维护一份结构化项目状态:

  1. 创作圣经。
  2. 世界观设定。
  3. 人物档案。
  4. 战力/能力体系。
  5. 地图与势力表。
  6. 主线进度表。
  7. 章节台账。
  8. 伏笔表。
  9. 未解决悬念。
  10. 已回收伏笔。
  11. 禁止违反的设定。

生成新章节时,不把所有正文塞给 AI,而是读取“短、准、结构化”的上下文:

  1. 创作圣经。
  2. 当前卷纲。
  3. 最近 3-5 章台账。
  4. 本章相关人物卡。
  5. 本章相关伏笔。
  6. 当前主线目标。
  7. 上一章结尾钩子。
  8. 本章必须完成的剧情任务。

创作工作台流程

长篇创作应该按下面的流程运行:

选择项目
↓
读取创作圣经、人物、伏笔、主线状态
↓
生成本章任务卡
↓
用户确认或修改任务卡
↓
生成章节正文
↓
生成章节台账
↓
更新人物状态、伏笔状态、主线状态
↓
进行一致性审稿
↓
进入下一章

章节任务卡

生成正文前,系统必须先给出任务卡:

本章目标:
承接上一章:
必须推进的主线:
必须使用的人物:
要释放的爽点:
要埋设或回收的伏笔:
不能违反的设定:
章末钩子:

章节审稿

每章生成后需要检查:

  1. 是否违反世界观规则。
  2. 是否违反金手指限制。
  3. 人物行为是否崩坏。
  4. 人物是否知道了不该知道的信息。
  5. 是否忘记上一章钩子。
  6. 是否推进主线。
  7. 是否引入未记录的新设定。
  8. 爽点是否有效。
  9. 是否有重复桥段。
  10. 是否造成战力膨胀失控。
  11. 是否有明显 AI 味。

页面规划

第一版建议包含这些页面:

  1. 项目首页:小说项目、拆书项目、模板库和灵感中心入口。
  2. 文本导入页:上传或粘贴文本,自动分章。
  3. 章节拆解页:逐章查看摘要、冲突、爽点、钩子。
  4. 整书分析页:查看节奏、公式、人物功能、爽点曲线。
  5. 模板库页:管理可复用模板。
  6. 灵感中心页:记录、检索、润色和转化灵感。
  7. 大纲生成页:选择模板并迁移到新题材。
  8. 创作工作台:生成任务卡、正文、台账和审稿报告。
  9. 状态管理页:维护人物、伏笔、世界观和主线进度。

建议技术架构

这个产品不能只靠前端。前端负责交互,后端负责 AI 调用、任务调度和持久化记忆。

建议第一版使用:

  1. 前端:Next.js / React。
  2. 后端:Next.js API Routes 或独立 Node.js API。
  3. 数据库:SQLite。
  4. 数据访问:当前使用 better-sqlite3 维护本地结构化表。
  5. 任务队列:MVP 可先用数据库任务表,后续升级为 BullMQ / Redis。
  6. 文件存储:MVP 可先存数据库,后续升级到 S3 / R2。
  7. AI 调用:统一封装在后端,不能把模型 API Key 放到前端。

推荐架构:

Web 前端
  负责上传、编辑、预览、工作台和结果展示

后端 API
  负责用户、项目、文本处理、AI 调用、权限和任务创建

数据库
  保存项目、章节、分析结果、模板、灵感、人物、伏笔、台账和审稿报告

任务队列
  处理长文本拆解、批量章节分析、失败重试和进度更新

数据模型初稿

后续至少需要这些核心实体:

  1. User:用户。
  2. Project:项目。
  3. SourceText:原始文本。
  4. Chapter:章节。
  5. ChapterAnalysis:章节分析。
  6. StoryFormula:故事公式。
  7. Template:模板。
  8. Outline:大纲。
  9. WritingBible:创作圣经。
  10. CharacterProfile:人物档案。
  11. Foreshadowing:伏笔。
  12. PlotState:主线状态。
  13. ChapterLedger:章节台账。
  14. ReviewReport:审稿报告。
  15. Inspiration:灵感。
  16. AiJob:AI 任务。

验收标准

拆书链路

用户上传一篇前 30 章小说后,系统能:

  1. 自动切出章节。
  2. 逐章生成结构化拆解。
  3. 标注每章冲突、爽点、收益和钩子。
  4. 总结整书开局、节奏和主循环。
  5. 提取可保存的故事公式。
  6. 生成一个可迁移模板。

模板迁移

用户选择模板和新题材后,系统能:

  1. 生成新书简介。
  2. 生成核心卖点。
  3. 生成前 10 章大纲。
  4. 生成前 100 章节奏表。
  5. 标注哪些结构来自模板,哪些是新题材变量。

灵感中心

用户记录一批灵感后,系统能:

  1. 支持新建、查看、编辑、删除灵感。
  2. 支持按关键词、类型、标签、状态和项目筛选灵感。
  3. 支持至少一种 AI 润色,并保留用户原始内容。
  4. 支持把灵感关联到项目。
  5. 支持从灵感生成结构化草稿,例如人物、伏笔或章节任务卡。
  6. 转入正式项目资产前要求用户确认。

长篇创作

用户基于大纲连续生成至少 10 章后,系统能:

  1. 每章生成前提供任务卡。
  2. 每章生成后更新章节台账。
  3. 自动更新人物状态。
  4. 自动维护伏笔状态。
  5. 审查是否违反前文设定。
  6. 发现至少一类潜在跑偏问题并给出修改建议。

二稿编辑

用户输入一段 AI 生成的拆书分析或小说正文后,系统能:

  1. 标出 AI 味重的句子。
  2. 解释问题原因。
  3. 提供更有人味、更有判断力的改写版本。
  4. 保留原意,不乱加设定。

非目标

第一版不做:

  1. 纯聊天式 AI 写作工具。
  2. 一键洗稿工具。
  3. 复杂多人协作。
  4. 移动端 App。
  5. 复杂排版投稿系统。
  6. 依赖一次性超长上下文解决长篇记忆问题。

版权边界

产品必须区分“结构学习”和“内容复制”。

允许:

  1. 分析用户合法拥有或有权处理的文本。
  2. 提取通用结构、节奏和爽点规律。
  3. 生成迁移到新题材的新大纲。
  4. 总结抽象模板。

不允许:

  1. 复刻原文句子。
  2. 照搬角色名称和标志性人设。
  3. 照搬独特世界观和专有设定。
  4. 按章节顺序重写同一本书。
  5. 输出可被视为规避版权的洗稿内容。

开发里程碑

Milestone 1:项目骨架

  1. 初始化 Web 项目。
  2. 建立数据库和 ORM。
  3. 建立项目、文本、章节、任务的基础数据模型。
  4. 完成文本上传、粘贴和自动分章。

Milestone 2:拆书 MVP

  1. 实现逐章 AI 分析。
  2. 保存章节分析结果。
  3. 展示章节拆解列表。
  4. 实现整书节奏分析。

Milestone 3:模板与迁移

  1. 从分析结果生成故事公式。
  2. 保存到模板库。
  3. 从模板生成新题材大纲。
  4. 展示前 10 章大纲和前 100 章节奏表。

Milestone 4:创作工作台

  1. 创建创作圣经、人物档案、伏笔表、主线状态。
  2. 生成章节任务卡。
  3. 生成章节正文。
  4. 生成章节台账。
  5. 更新项目状态。

Milestone 5:一致性审稿与二稿编辑

  1. 检查设定冲突、人物崩坏、伏笔错乱。
  2. 检查爽点是否有效。
  3. 标注 AI 味明显的表达。
  4. 提供二稿改写建议。

当前优先级

当前最应该先做的是:

  1. 跑完整体验收闭环,把“拆书 → 模板 → 大纲 → 创作 → 审稿”真正串通。
  2. 完成 Tauri 客户端打包、更新发布和本地数据库路径迁移。
  3. 补齐自动化测试和错误提示,让真实用户不容易卡住。

现在已经不是搭骨架的阶段,而是把整套工作流磨顺的阶段。

About

一个作家助手

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages