🔥 从全盘失控到精准拿捏,真正属于人类作家的长篇小说 AI 引擎 🔥
让代码死磕世界观设定,让 AI 释放创作欲,让你——永远掌握最终决定权。
一个专为长篇小说创作 / 续写打造的超级协作平台。 它绝不止于"续写下一段",而是用底层严密运转的世界模型(实体、关系、体系)与隐形的认知逻辑工作流,让你的世界观固若金汤。
市面上的写作工具总在吹嘘“一键生成百万字”。但作为一个真正的网文作者或长篇创作者,你一定经历过这些令人崩溃的时刻:
- ❌ 设定崩塌:写到第二十章,主角突然忘了自己的底牌,甚至搞错了反派的名字。
- ❌ 千人一面:AI 写出来的配角说话全是一个味儿,缺乏灵魂。
- ❌ 越写越懵:为了让 AI 懂前面的剧情,你不得不每天都在“给大模型写小传”。
- ❌ 丧失主权:成了 AI 的“打字员”,看着它无脑狂奔,却不知道怎么把它拽回你构思的轨道。
长篇小说的核心壁垒,从来不是“码字速度”,而是“世界观的一致性与故事逻辑”。
NovelWriter (NovWr) 为此而生。我们直接摒弃了“把几十万字硬塞给模型赌运气”的粗暴做法。它不是来“替你写小说”的,而是为你打造一个全知全能的随身副手(Copilot):帮你精准记住每一重人物羁绊、体系法则,让你能将全部心力倾注在最核心的剧情激荡中!
丢掉那些无意义的超大上下文拼接!NovWr 在底层构建了一套动态生长的实体关系网。 每次提笔,系统会自动精准提取此时此刻最需要的设定片段(出场人物、当地势力、当前境界)注入给 AI。告别设定漂移,角色智力永远在线。
长篇创作是感性与理性的交舞,我们为你准备了两个极尽优雅的操作台:
- Studio(创作现场):最沉浸的写作前线。秒出多版本草稿,同屏极速穿插比对,捕捉最绝妙的灵感火花。
- Atlas(世界图谱):上帝视角的设定指挥中心。结构化管理万千实体与羁绊,随时审查设定冲突,一键降维打击“伏笔漏洞”。
Novel Copilot 拒绝越俎代庖。它遵循极其克制的「Find -> Open -> Read」认知流: 它像最资深的网文责编,只在你需要时去浩如烟海的库中翻阅、归纳、呈递建议卡片。是否采纳、往哪修改,最终的拍板权,百分百握在你的手里。
小说是作者的命脉,数据安全绝不允许妥协:
- 全容器化自部署(Self-Host 优先):一键 Docker 起飞,数据永远留在你的硬盘里或私有服务器上。
- 自由引擎插拔:OpenAI、Gemini、DeepSeek,或是你自己的本地微调模型……只要接口兼容,皆可为你所用!
| ⚡ 硬核模块 | 🎯 带来的颠覆性体验 |
|---|---|
| World Model (世界模型) | 抛弃乱糟糟的备忘录,实体/关系/体系统一建模,将厚重的设定化为精细的知识网。 |
| 多重时空平行生成 | 输入一条指令,吐出 N 种走向。快速对比试错,挑选最戳中读者的那一种可能。 |
| 设定萃取逆向工程 | 丢入已有设定集或正文,AI 会自动反向提取并建立你的世界模型,冷启动如丝般顺滑! |
| 关系热推演 | 聪明地感知上下文,根据当前章节智能加载该出场的人与物,减少记忆负担。 |
| Atlas 治理面板 | 可视化管理成百上千的设定项,修复逻辑漏洞比改 Bug 更有成就感。 |
| Copilot 渐进式启发 | 摆脱呆板的对话流,基于场景主动给出“草稿检查”与“灵感补全”卡片。 |
| 全局设定预检 | API 健康度、流式输出、JSON模式兼容预检,将报错拦截在灵感迸发之前。 |
- 创世:在 Library 建个新世界,或是拿内置的《西游记》示例先练练手。
- 基建:用 “从设定集生成” 或 “从章节提取” 快速搭起主角的小团伙和初期世界观。
- 推演:切到 Studio,敲下下集预告,让 AI 飞速跑出几个版本的续写草稿。
- 决策:选一个底子最好的,稍作笔削,拍板定稿。
- 布道:回到 Atlas,把新出场的神器和反派大头目沉淀到关系网里。
- 循环:灵感断层?召唤 Copilot 获取破局建议。
- 👉 正在连载长篇网文 / 轻小说 / 史诗奇幻 / 同人,手握宏大世界观的执剑人。
- 👉 觉得“大模型写得是挺好,就是老忘事,得天天当保姆”的创作者。
- 👉 坚信 AI 只是工具,灵魂必须由自己主导 的纯粹作家。
- 👉 极其看重隐私,拒绝把千万字心血上传给不知名 SaaS 平台的极客。
如果你想要的是个“敲个书名就能自动水几百万字”的垃圾制造机,请关掉页面。 但如果你渴望的是一个为你扫清设定障碍、维持惊人一致性、拉满创作效能的终极武器,欢迎入伙。
需要本机已安装 Docker;不需要 Git。
curl -fsSL https://raw.githubusercontent.com/Hurricane0698/novelwriter/master/install.sh | bash安装脚本会自动:
- 安装
uv(若本机尚未安装) - 安装
novwrCLI - 初始化默认目录
~/.novwr - 拉取并启动官方 Docker 镜像
常用命令:
novwr init
novwr run
novwr doctor
novwr upgrade
novwr uninstall默认安装目录为 ~/.novwr。如果只是想用,看到这里就够了。
git clone https://github.com/Hurricane0698/novelwriter.git
cd novelwriter
cp .env.example .env
# 编辑 .env,填入您的 LLM API 配置
docker compose up -d部署完成后,通过浏览器访问:
http://localhost:8000
- 绝大多数用户:选上面的“一键安装”
- 你已经熟悉 Docker / 想手动控制目录与 compose:选“手动 Docker”
- 你要二次开发:看下面的“本地开发”
- 运行模式:默认以
selfhost模式启动,前后端已集成。为了安全起见,默认仅监听127.0.0.1:8000。 - 初始化:首次启动时,系统会自动创建默认管理员账号,并内置《西游记》示例项目以供试用。
- 必要条件:需准备可用的大模型 API Key(兼容 OpenAI 接口标准)。
- 兼容性检查:可在设置页面使用“测试连接”功能,验证 API 连通性、流式响应及 JSON Mode 支持。
- 官方镜像:
ghcr.io/hurricane0698/novelwriter:latest
如需进行二次开发,推荐使用 uv 管理 Python 环境。
scripts/setup_python_env.sh
cp .env.example .env
# 编辑 .env
scripts/uv_run.sh uvicorn app.main:app --reload --port 8000项目使用 pyproject.toml + uv.lock + repo-local .venv 作为唯一 Python 依赖真相源,默认 Python 版本见 .python-version。
运行后端单元测试:
scripts/uv_run.sh pytest tests/cd web
npm install
npm run dev前端开发服务器运行在:http://localhost:5173。
| 变量名 | 是否必填 | 说明 |
|---|---|---|
OPENAI_API_KEY |
是 | LLM API 密钥 |
OPENAI_BASE_URL |
否 | API 请求地址(如使用代理或中转服务) |
OPENAI_MODEL |
否 | 默认使用的模型 ID |
JWT_SECRET_KEY |
生产必填 | 用于身份验证的 JWT 签名密钥 |
DATABASE_URL |
否 | 数据库连接地址,默认使用 SQLite |
更多详细配置请参考 .env.example。
| 维度 | 技术选型 |
|---|---|
| 后端 | FastAPI · SQLAlchemy · SQLite / PostgreSQL |
| 前端 | React 19 · TypeScript · Tailwind CSS · React Query |
| AI 集成 | OpenAI SDK / Compatible API |
| 基础设施 | Docker · Docker Compose |
app/ # FastAPI 后端核心代码
api/ # 路由与接口定义
core/ # 核心业务逻辑(生成引擎、上下文构建)
models.py # 数据库模型 (SQLAlchemy)
config.py # 配置管理
web/ # React 前端代码
src/pages/ # 页面组件
src/components/ # 通用 UI 组件
data/ # 预置数据与资源文件
tests/ # 后端测试用例
scripts/ # 开发维护工具脚本
本项目为私有仓库的稳定版发布分支,主要用于功能发布与社区反馈。
- 若发现 Bug,请在提 Issue 时注明版本号或 Commit ID。
- 详细的同步机制请参考
docs/public-release-repo.md。
- 情报提交:请携带版本号、部署模式、使用的模型供应商、清晰的复现路径及错误日志/截图。
- 功能建议:欢迎描述您的实际创作场景与当前的具体痛点,以便我们评估新功能的价值。
- PR 提交:常规修复欢迎直接提交 PR。重大架构改动建议先通过 Issue 进行对齐。
如果您觉得本项目对您的创作有帮助,欢迎点个 Star ⭐。每一份支持都是我们持续迭代的动力!
本项目采用 AGPLv3 开源协议。
