完整的 AI 小说创作工作台,以番茄作家课堂强调的题材承诺、黄金三章、单章长度、爽点结算、追读钩子与百万字稳定性方法论,强化长篇连载创作。
长篇工坊既是完整的 AI 小说创作工作台,也针对持续连载的番茄长篇做了更深的结构化设计。从选题、深度开书、滚动章纲、候选正文、质量检查到导出,它帮助作者把一部长篇小说写下去、管得住、改得动。没有番茄题材档案的普通小说项目同样可以创建为“自定义题材”,使用全部通用创作、版本管理、质量检查、导出和模型配置能力。
| 常见 AI 写作方式 | 长篇工坊 |
|---|---|
| 输入提示词,直接得到一段正文 | 从灵感、设定、章纲、正文到导出均可完成;长篇项目还可先锁定读者、承诺与故事引擎 |
| 所有题材使用同一套模板 | 自定义题材可自由创作;23 个番茄题材档案额外提供读者预期、创作侧重与篇幅建议 |
| 只检查辞藻和语句 | 同时检查推进、爽点、人物动机、信息钩子和章末阅读动力 |
| 上下文越积越长,后期容易失控 | 人物、事实、伏笔、时间线与相邻章节摘要按任务自动筛选 |
| AI 结果直接覆盖手稿 | AI 只生成候选稿;比较、预检和人工采用后才会成为正式正文 |
| 一次性做完数百章大纲 | 用分卷、情节弧和滚动章纲持续修正长篇方向 |
它不会承诺流量或保证爆款。作为通用创作工作台,它保留了自由写作和自定义模型的空间;作为番茄长篇工作台,它进一步把番茄作家课堂方法论中容易被忽略、但直接影响连载质量的约束,变成可见、可操作、可复查的流程。
- 内置 23 个题材档案:都市脑洞、都市日常、都市种田、传统玄幻、东方仙侠、历史古代、抗战谍战、悬疑灵异、科幻末世、游戏体育、现言甜宠、豪门总裁、青春甜宠、古言脑洞、宫斗宅斗、种田经商、年代情感、玄幻言情、悬疑恋爱、男频衍生、女频衍生、四合院同人和规则怪谈。
- 每个题材都附带目标读者、核心阅读承诺、写作侧重、建议总字数,以及单章字数的下限、目标和上限。
- 新建作品时可直接使用题材建议,也可按自己的项目修改目标总字数与单章字数。章节还可设置独立的长度目标,并选择“提示”或“严格”约束。
- AI 深度开书会将访谈整理成书名候选、卖点、简介、主角长期欲望、核心矛盾、驱动力边界、分卷结构、黄金三章与首批章纲;生成结果先进入审核区,确认后才写入作品。
- 章纲管理目标、冲突、揭示、情绪点、伏笔动作、见证者、即时奖励、状态变化与结尾钩子,而不仅是一句剧情简介。
- AI 可以生成、扩写、压缩、润色、选区改写和定点二稿。每次结果都保存为候选版本,不会静默覆盖正式正文。
- 手写正文可以直接保存为正稿;候选稿可对比、预览、接受或保留,便于在不同方案之间做判断。
- 长任务通过流式进度展示并持久化。深度开书或正文生成即使切换页面,也可以回到对应任务继续查看、审核或重新发起。
- 作品设定、人物、事实、伏笔、时间线和相邻章节摘要会在合适的任务中自动作为上下文使用,减少重复说明与前后矛盾。
- 运行预检在生成或采用前检查章纲是否为空、字数是否超界、设定是否硬冲突等明确规则。
- AI 语义质检针对正文给出节奏、推进、爽点、钩子与一致性等维度的评分,并标出正文证据;未接入模型时会回退到本地规则评分。
- 定点二稿只修复质检发现且带有正文证据的问题,不会擅自重写整章或覆盖未被指出的内容。
- 伏笔、人物和世界规则不是一堆待办项:系统会在当前章节上下文中自动带入相关信息;作者仍保有最终确认权,避免错误记忆自动写入正式设定。
- 导出 TXT、Markdown、JSON 和完整 ZIP 整书包,导出正文不含内部提示词和候选稿。
- 在作品中记录番茄章节编号、发布状态、发布时间和备注,方便核对连载进度。
- 数据保存在本机 SQLite 数据库,支持快照与恢复。
- 支持 OpenAI 兼容 API;可以使用一个模型处理全部任务,也可以在需要时为策划、正文、质检与事实抽取分别指定模型。
需要 Node.js 20+ 和 pnpm 11+。
Windows 下进入项目目录后,一条命令即可安装依赖、构建、启动服务并打开浏览器:
powershell -ExecutionPolicy Bypass -File .\launch.ps1首次运行会自动执行 pnpm install;后续再次运行会直接复用已安装的依赖。启动后打开 http://127.0.0.1:3210。
开发模式可使用:
pnpm install
pnpm dev打开 http://127.0.0.1:5173。首次启动会创建本地数据目录和示例作品,可以先不配置任何内容浏览完整流程。
只有在使用 AI 生成、深度开书或语义质检时才需要模型。最简单的配置方式只有四步:
- 打开任一作品右上角的“设置”。
- 在“自定义大模型”中点击“接入模型”。
- 选择预设,或填写 OpenAI 兼容的 API 地址、模型名称和 API Key。
- 保存并测试连接;不配置任务路由时,系统自动使用第一个已启用的模型。
先接入一个模型就够用。策划、正文、质检和事实抽取的分别路由,是控制成本或区分模型能力时才需要的高级用法。
- 在书库点击“新建作品”,选题材并填写一句核心想法。
- 选择“AI 深度开书”时,填写创作访谈,等待候选方案完成后审核入库;也可以跳过,自己从空白作品开始。
- 进入“工作台”,先完善章纲,再生成或手写正文。AI 生成后在候选稿中比较和采用,正稿始终由作者确认。
- 在章节质量面板运行预检与语义质检。问题若有明确正文证据,可从候选稿发起定点二稿。
- 到“发布与导出”核对章节状态、记录番茄编号并导出正稿。
项目随代码公开 12 个番茄长篇知识包,位于 .codex/skills/。它们不是要作者逐项填写的表单,而是由服务端根据当前任务、题材、章节位置和作者指令自动路由到提示词中。
| 知识包 | 解决的问题 |
|---|---|
| 题材承诺 | 点子能否写长,包装与正文是否一致 |
| 故事引擎 | 主角、困境、目标、对抗与得失能否持续生长 |
| 滚动大纲 | 分卷、情节弧、章纲与时间线如何持续调整 |
| 人物冲突网络 | 人物欲望、资源、不可退让点与行动逻辑 |
| 信息钩子台账 | 悬念如何提出、加码、回答与接棒 |
| 黄金三章 | 前三章如何完成危机、承诺证明和有限兑现 |
| 爽点兑现 | 期待、阻力、爆发、见证与永久状态变化 |
| 章节状态差 | 一章写完后,目标、关系、资源和风险发生了什么变化 |
| 节奏三要素 | 有效推进、信息负荷和情绪过程是否失衡 |
| 修订证据闭环 | 结合文本与数据决定改章、改卷或保留版本 |
| 题材与篇幅校准 | 不同番茄赛道的情绪权重、兑现周期和信息密度 |
| 能力边界与世界规则 | 金手指、超凡能力或职业优势如何避免失控 |
这套方法吸收番茄作家课堂所强调的长篇连载问题与解决思路,但不代表番茄官方,也不保证任何作品的市场表现。它不替代作者的题材判断;它的价值在于让模型在对应问题上采用正确的写作约束,而不是用一份通用提示词处理所有任务。
选题与题材档案
↓
深度开书或手动策划 → 审核后写入作品
↓
滚动章纲 → 正文候选稿 / 手写正稿
↓
预检与语义质检 → 定点二稿(可选)
↓
确认正稿 → 记录发布状态 → 导出
- 浏览器不会直接调用模型供应商。AI 请求经由本机 Fastify 服务发出,再转交给用户配置的供应商。
- 小说正文、数据库、日志、快照和供应商配置默认存放在
.data/,已被 Git 忽略。 - API Key 经过 AES-256-GCM 加密后保存于本地数据库;使用 AI 功能时,相关提示词、正文和必要上下文会发送给你配置的供应商,请自行确认其数据政策。
- 本项目只做本地创作与发布记录管理,不会操作番茄作者后台。
更多安全说明见 SECURITY.md。
默认情况下不需要 .env,直接构建和启动即可:
pnpm build
pnpm start然后打开 http://127.0.0.1:3210。
仅在需要改变本地部署方式时,复制 .env.example 为 .env 并配置以下变量:
| 变量 | 默认值 | 何时需要 |
|---|---|---|
PORT |
3210 |
本机端口已被占用时 |
NOVEL_WORKBENCH_DATA_DIR |
.data |
希望将作品数据放到指定磁盘或目录时 |
CORS_ORIGINS |
空 | 开发时需从额外的浏览器来源访问本地 API 时 |
服务默认只监听本机地址。不要在未完成访问控制和风险评估前把本地端口暴露到公网。
src/ React 前端与创作界面
server/ Fastify API、AI 调用、数据库、导入导出
shared/ 前后端共享类型和番茄题材档案
e2e/ Playwright 端到端测试
.codex/skills/ 12 个公开的番茄长篇写作知识包
scripts/ 本地开发、烟雾测试与 E2E 启动工具
docs/ 产品需求与已公开的设计文档
.github/ CI、Issue、PR 与发布配置
| 层 | 技术 |
|---|---|
| 前端 | React 19、React Router 7、TanStack Query 5、Tailwind CSS 4、Vite 7、TypeScript 5.8 |
| 服务端 | Fastify 5、better-sqlite3 12、drizzle-orm 0.45、Zod 4 |
| AI | OpenAI 兼容 API、SSE 流式输出、AES-256-GCM 本地密钥加密 |
| 数据 | SQLite + WAL、乐观并发控制、快照与恢复 |
| 测试 | Vitest、Playwright |
pnpm typecheck
pnpm test
pnpm build
pnpm test:e2e
pnpm audit --prod --registry=https://registry.npmjs.org端到端测试使用隔离的临时数据目录,不会复用本机 .data/。提交前的约定、Issue 模板和贡献方式见 CONTRIBUTING.md。
MIT License © Novel Workbench contributors