用 MuMuAINovel 把 AI 变成你的私人小说工作室:从 0 到 1 的完整落地笔记
“
核心问题:如何在不写一行 Prompt 的情况下,让 AI 帮你完成世界观、角色、大纲、章节甚至润色的全流程?
一句话答案:把 MuMuAINovel 跑在 Docker 里,填好 API Key,跟着向导点下一步即可——10 分钟后你就能在浏览器里“拖拽式”写小说。
本文欲回答的核心问题
-
MuMuAINovel 到底是什么?能替我干什么? -
最低成本的跑起来的路径是哪几步? -
生产环境怎样才稳、快、不丢数据? -
真实场景下,向导、角色库、章节编辑三件套的连贯用法长什么样? -
我踩过的坑和复盘——哪些按钮别乱点、哪些环境变量别漏配?
1 产品速描:把“AI 写小说”做成 IDE
1.1 一句话定位
MuMuAINovel = 小说版 Figma + 可本地部署的 Notion + 多模型 AI 后端。
它把“灵感 → 世界观 → 角色 → 大纲 → 章节 → 润色”做成一条可回滚的流水线,所有中间产物都是结构化数据,而非散落在聊天记录里的 Prompt。
1.2 能力矩阵速览
| 模块 | 关键动作 | 默认模型 | 输出格式 | 备注 |
|---|---|---|---|---|
| 智能向导 | 5 步表单 → 自动生成大纲/角色/世界观 | gpt-4o-mini | JSON + Markdown | 可回退重新生成 |
| 角色管理 | 增删改、关系图、组织树 | 同上 | 结构化字段 | 支持冲突检测 TODO |
| 章节编辑 | 创建、重写、润色、继续写 | 多模型切换 | Markdown 实时预览 | 字数限制后续放开 |
| 登录 | LinuxDO OAuth + 本地账户 | — | JWT | 可多用户隔离 |
| 数据 | SQLite 单文件 | — | 本地持久化 | 一键备份即拷贝 db |
2 10 分钟跑起来:Docker 路径最短闭环
“
核心问题:我没装 Python/Node,能不能一把梭?
答案:能,只要 Docker 和一把 API Key。
2.1 前置清单
-
Docker ≥ 20.10 -
任一 AI Key:OpenAI / Gemini / Anthropic(Gemini 免费送 60 QPM,适合白嫖) -
2 核 4 G 即可,生成长章节时 CPU 会短暂飙高,内存峰值约 800 MB。
2.2 三步命令
# 1 拉取官方镜像
docker pull mumujie/mumuainovel:latest
# 2 准备环境变量
cat > .env <<EOF
OPENAI_API_KEY=sk-YourKey
DEFAULT_AI_PROVIDER=openai
DEFAULT_MODEL=gpt-4o-mini
LOCAL_AUTH_USERNAME=admin
LOCAL_AUTH_PASSWORD=MakeItStrong
EOF
# 3 启动
docker run -d --name mumu \
-p 8800:8000 \
-v $(pwd)/data:/app/data \
-v $(pwd)/.env:/app/.env:ro \
--restart unless-stopped \
mumujie/mumuainovel:latest
浏览器打开 http://localhost:8800,用刚设置的账号登录即完成。
2.3 作者反思:为什么我建议先用 Docker 而不是源码?
-
源码开发模式需要 Python 3.11 + Node 18,win/mac 各自踩坑(尤其 Windows 的路径长度限制)。 -
官方镜像已经打包了前端 dist,后端静态挂载,一条龙省掉npm run build的 3 分钟。 -
一旦数据目录 data/被挂载,后续升级镜像只要docker pull && docker restart,SQLite 文件纹丝不动——真正做到“升级不搬家”。
3 生产环境加固:把玩具变成工具
“
核心问题:我要放到云服务器给团队用,怎样才稳?
答案:HTTPS + 资源限制 + 定期备份,三步即可。
3.1 Nginx 反向代理样板
server {
listen 443 ssl http2;
server_name novel.example.com;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/key.pem;
location / {
proxy_pass http://127.0.0.1:8800;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# SSE 长连接必须关缓冲
proxy_buffering off;
}
}
记得把 .env 里的 FRONTEND_URL 改成 https://novel.example.com,否则 OAuth 回调会掉链子。
3.2 Docker Compose 资源 ceiling
deploy:
resources:
limits:
cpus: '2'
memory: 2G
reservations:
cpus: '0.5'
memory: 512M
实测 2 核能把 4k 字章节生成时间从 90 s 压到 35 s;再高的核数收益递减,因为 SQLite 写入单线程。
3.3 备份策略
-
数据库:每天 04:00 cp data/app.db backups/app-$(date +%F).db -
镜像:升级前 docker tag mumuainovel:latest mumuainovel:backup-$(date +%F) -
恢复:把 db 文件扔回挂载目录,重启容器即可。
4 一条龙实战:从闪念到 10 章正文
“
核心问题:向导生成的内容会不会太“模板”?
答案:把向导当成“粗筛”,再用章节编辑的“重写/继续写”按钮做精调,就能保留 AI 效率同时注入个人风格。
4.1 场景设定
-
类型:赛博朋克 + 东方侠义 -
背景:2047 年粤港澳湾区,脑机接口黑市横行 -
需求:10 章中篇,主角是退役“记忆杀手”,人物关系复杂。
4.2 向导 5 步表单拆解
-
基础信息:标题《剑与防火墙》,字数目标 8 万。 -
世界规则:AI 先给出“高压云城”“记忆税”两个关键词;我手动补充“粤语粗口”作为语言风格标记。 -
角色种子:AI 抛出 3 主 4 配;我把反派组织“句芒”改成“巨网”,更贴合赛博感。 -
大纲节点:自动拆 12 章,我删掉 2 章度假副本,保留 10 章。 -
生成确认:点击“创建项目”,后端流式返回,3 分钟完毕。
4.3 角色库二次加工
-
把“人物关系图”导出 PNG,贴到 Scrivener 做参考。 -
在“组织树”里给“巨网”再加一层“灰市拍卖”子部门,为后续章节埋伏笔。 -
利用“备注”字段写入角色口音标签,例如“阿鬼:句尾啦/嘛/咧”,章节生成时模型自动捕捉。
4.4 章节编辑循环
-
先让 AI 一次性生成第 1 章草稿(约 3k 字)。 -
用“继续写”补到 5k 字,发现节奏拖沓,点击“重写”并在弹出框输入“削减 30% 旁白,增加动作线”。 -
润色阶段切换模型到 claude-3-sonnet,温度 0.6,产出更收敛;对比两个版本后挑段落合并。 -
把定稿导出 Markdown,扔回本地 Git 仓库,diff 清晰可见每次修改——这是纯 Prompt 聊天无法做到的版本管理。
4.5 作者反思:别把“重写”当万能
-
连续重写 5 次后,文本会出现“ AI 腔”叠加,表现为重复比喻;我的止损法是:重写 2 次仍不满意就手动改,而不是无限点按钮。 -
粤语对白经多次重写会被“普通话化”,解决方式是在角色备注里用“对白语言=粤语”锁定,并在润色指令里显式写“保持粤语俚语”。
5 常见踩坑与快速排雷
| 现象 | 根因 | 检查项 |
|---|---|---|
| 页面空白 /api/docs 也 404 | 容器没把静态文件挂进去 | 确认镜像 tag 是 latest,且端口映射正确 |
| 生成章节报 500 | AI Key 超额或 Base URL 被墙 | 看 logs 是否 openai.RateLimitError;换 Gemini 测一下 |
| 登录跳转失败 | FRONTEND_URL 与浏览器地址不一致 | 把 .env 里协议、端口、域名全写全 |
| 数据没了 | 忘记挂 volume | docker inspect mumu 看 Mounts 是否指向本地 data |
6 路线图里的彩蛋:未来你会得到什么
输入文件列出的 TODO 最打动我的是“设定追溯与矛盾检测”。
一旦实现,相当于给小说加了一个 Git-blame:
-
鼠标悬停在“记忆税”一词,自动弹出哪一章首次定义; -
若第 7 章把税率写成 15 % 而第 3 章是 20 %,系统标红并给出解决建议。
这对长篇连载简直是救命功能——我维护过 30 万字手稿,吃书改到怀疑人生。期待作者早日合并 PR。
7 实用摘要 / 操作清单
-
先跑 Docker:拉镜像 → 写 .env→docker run→ 登录成功。 -
生产再加 Nginx HTTPS、资源限制、定时备份。 -
创作流程:向导粗生成 → 角色库微调 → 章节“生成→继续写→重写→润色”循环 → Git 存档。 -
重写别超过 2 次,防止 AI 腔叠加。 -
升级前务必 docker tag备份镜像,数据文件单独复制一份。
8 One-page Summary
MuMuAINovel 把多模型 AI 封装成一条“小说生产线”:SQLite 存数据、FastAPI 给接口、React 提供向导化交互;Docker 一把拉起,5 分钟出大纲,10 分钟出章节。
核心套路是“先粗后精”——用向导批量生成骨架,再用章节编辑的“重写/继续写”按钮精调。
生产环境只要 HTTPS + 资源限制 + 每日备份,就能把玩具变工具。
未来矛盾检测与设定追溯上线后,长篇吃书问题有望被自动化消灭。
9 可检索 FAQ
-
MuMuAINovel 支持哪些 AI 模型?
OpenAI、Gemini、Anthropic,且可用任意 OpenAI 格式中转。 -
可以把数据迁到 MySQL 吗?
目前仅支持 SQLite,多用户隔离靠表级字段,官方暂无 MySQL 迁移脚本。 -
章节字数上限多少?
默认 max_tokens 32 k,约 2 万中文字;后续版本会开放自定义。 -
Gemini 免费额度够写多长?
Gemini 60 QPM × 32 k ≈ 每天 115 万字,普通人日更 1 万完全够用。 -
升级镜像会丢数据吗?
只要挂载了./data,SQLite 文件在宿主机,升级无损。 -
能否离线运行?
不行,AI 请求必须联网;本地模型需改ai_service.py自行接入。 -
同一章节多人协作会冲突吗?
当前无实时协同锁,后保存者覆盖前者;建议分章节认领。 -
Windows 老报路径过长怎么办?
用 WSL2 + Docker Desktop,或者直接把项目放在C:\novel\缩短路径。

