你是否曾梦想过成为一名小说家,但又担心自己没有天赋?是否想过利用业余时间开启第二职业,但又不知道从何入手?2026年,AI写作技术的成熟让这一切成为可能。说实话,现在AI写小说的能力已经超出了很多人的想象。
根据行业数据,2025年上半年新签约作者中67%来自非专业背景(来源:《2025年网络文学行业报告》),而AI辅助创作的小说在各大平台的占比已经超过30%(来源:番茄小说官方数据)。今天,我将为你介绍一款开源神器——MuMuAiNovel,它能让你在5分钟内搭建自己的AI小说创作平台,开启你的第二职业之旅。真的,用它写小说,效率能提升10倍以上。
什么是MuMuAiNovel?让你日更万字的秘密武器
MuMuAiNovel是一款基于AI大模型的智能小说创作助手,它可以帮助你快速生成小说大纲、创建角色、管理章节,甚至直接生成小说内容。说实话,这款工具真的很强大,它的最大特点是:
「多AI模型支持」:兼容OpenAI、Gemini、Claude等主流AI模型,你可以根据需要随时切换
「完全本地部署」:数据存储在本地,保护你的创作隐私,不用担心稿件泄露
「Docker一键部署」:无需复杂配置,5分钟即可启动服务,新手也能轻松上手
「功能全面」:从世界观设定到章节编辑,一站式解决小说创作痛点,让你专注于创作
Docker一键部署教程:5分钟搭建你的专属写作平台
前置条件
安装Docker和Docker Compose
「推荐使用DeepSeek」(来源:DeepSeek官方网站,注册即送2000万Tokens)
硬件条件
最低配置(个人使用/开发环境)
推荐配置(小型团队/生产环境)
高并发配置(80-150 用户)
部署步骤
1. 安装Docker
# 一键安装Docker
curl -fsSL https://get.docker.com | sh
# 启动并设置开机自启
systemctl start docker
systemctl enable docker
# 验证安装
docker compose version
2. 创建部署目录
mkdir -p /opt/mumuainovel
cd /opt/mumuainovel
3. Docker Compose 部署(推荐)
# 1. 克隆项目
git clone https://github.com/xiamuceer-j/MuMuAINovel.git
cd MuMuAINovel
# 2. 配置环境变量(必需)
cp backend/.env.example .env
# 编辑 .env 文件,填入必要配置(API Key、数据库密码等)
# 3. 确保文件准备完整
# ⚠️ 重要:确保以下文件存在
# - .env(配置文件,必需挂载到容器)
# - backend/scripts/init_postgres.sql(数据库初始化脚本)
# 4. 启动服务
docker-compose up -d
# 5. 访问应用
# 打开浏览器访问 http://localhost:8000
4. 使用 Docker Hub 镜像(推荐新手)
若执行步骤3可跳过步骤4
4.1 拉取最新镜像
docker pull mumujie/mumuainovel:latest
4.2. 创建 docker-compose.yml(点击下方展开查看完整配置)
services:
postgres:
image: postgres:18-alpine
container_name: mumuainovel-postgres
environment:
POSTGRES_DB: ${POSTGRES_DB:-mumuai_novel}
POSTGRES_USER: ${POSTGRES_USER:-mumuai}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-123456}
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C"
TZ: ${TZ:-Asia/Shanghai}
volumes:
- postgres_data:/var/lib/postgresql/data
- ./backend/scripts/init_postgres.sql:/docker-entrypoint-initdb.d/init.sql:ro
ports:
- "${POSTGRES_PORT:-5432}:5432"
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-mumuai} -d ${POSTGRES_DB:-mumuai_novel}"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
networks:
- ai-story-network
command:
- postgres
- -c
- max_connections=${POSTGRES_MAX_CONNECTIONS:-200}
- -c
- shared_buffers=${POSTGRES_SHARED_BUFFERS:-256MB}
- -c
- effective_cache_size=${POSTGRES_EFFECTIVE_CACHE_SIZE:-1GB}
- -c
- maintenance_work_mem=${POSTGRES_MAINTENANCE_WORK_MEM:-64MB}
- -c
- checkpoint_completion_target=${POSTGRES_CHECKPOINT_COMPLETION_TARGET:-0.9}
- -c
- wal_buffers=${POSTGRES_WAL_BUFFERS:-16MB}
- -c
- default_statistics_target=${POSTGRES_DEFAULT_STATISTICS_TARGET:-100}
- -c
- random_page_cost=${POSTGRES_RANDOM_PAGE_COST:-1.1}
- -c
- effective_io_concurrency=${POSTGRES_EFFECTIVE_IO_CONCURRENCY:-200}
- -c
- work_mem=${POSTGRES_WORK_MEM:-4MB}
- -c
- min_wal_size=${POSTGRES_MIN_WAL_SIZE:-1GB}
- -c
- max_wal_size=${POSTGRES_MAX_WAL_SIZE:-4GB}
mumuainovel:
image: mumujie/mumuainovel:latest
container_name: mumuainovel
depends_on:
postgres:
condition: service_healthy
ports:
- "${APP_PORT:-8000}:8000"
volumes:
- ./logs:/app/logs
- ./.env:/app/.env:ro
environment:
# 应用配置
- APP_NAME=${APP_NAME:-MuMuAINovel}
- APP_VERSION=${APP_VERSION:-1.0.0}
- APP_HOST=${APP_HOST:-0.0.0.0}
- APP_PORT=8000
- DEBUG=${DEBUG:-false}
# 数据库配置
- DATABASE_URL=postgresql+asyncpg://${POSTGRES_USER:-mumuai}:${POSTGRES_PASSWORD:-123456}@postgres:5432/${POSTGRES_DB:-mumuai_novel}
- DB_HOST=postgres
- DB_PORT=5432
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-123456}
# PostgreSQL 连接池配置
- DATABASE_POOL_SIZE=${DATABASE_POOL_SIZE:-30}
- DATABASE_MAX_OVERFLOW=${DATABASE_MAX_OVERFLOW:-20}
- DATABASE_POOL_TIMEOUT=${DATABASE_POOL_TIMEOUT:-60}
- DATABASE_POOL_RECYCLE=${DATABASE_POOL_RECYCLE:-1800}
- DATABASE_POOL_PRE_PING=${DATABASE_POOL_PRE_PING:-True}
- DATABASE_POOL_USE_LIFO=${DATABASE_POOL_USE_LIFO:-True}
# 代理配置(可选)
- HTTP_PROXY=${HTTP_PROXY:-}
- HTTPS_PROXY=${HTTPS_PROXY:-}
- NO_PROXY=${NO_PROXY:-localhost,127.0.0.1}
# AI 服务配置
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1}
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
- GEMINI_BASE_URL=${GEMINI_BASE_URL:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- ANTHROPIC_BASE_URL=${ANTHROPIC_BASE_URL:-}
- DEFAULT_AI_PROVIDER=${DEFAULT_AI_PROVIDER:-openai}
- DEFAULT_MODEL=${DEFAULT_MODEL:-gpt-4o-mini}
- DEFAULT_TEMPERATURE=${DEFAULT_TEMPERATURE:-0.7}
- DEFAULT_MAX_TOKENS=${DEFAULT_MAX_TOKENS:-32000}
# LinuxDO OAuth 配置
- LINUXDO_CLIENT_ID=${LINUXDO_CLIENT_ID:-11111}
- LINUXDO_CLIENT_SECRET=${LINUXDO_CLIENT_SECRET:-11111}
- LINUXDO_REDIRECT_URI=${LINUXDO_REDIRECT_URI:-http://localhost:8000/api/auth/linuxdo/callback}
- FRONTEND_URL=${FRONTEND_URL:-http://localhost:8000}
# 本地账户登录配置
- LOCAL_AUTH_ENABLED=${LOCAL_AUTH_ENABLED:-true}
- LOCAL_AUTH_USERNAME=${LOCAL_AUTH_USERNAME:-admin}
- LOCAL_AUTH_PASSWORD=${LOCAL_AUTH_PASSWORD:-admin123}
- LOCAL_AUTH_DISPLAY_NAME=${LOCAL_AUTH_DISPLAY_NAME:-本地管理员}
# 会话配置
- SESSION_EXPIRE_MINUTES=${SESSION_EXPIRE_MINUTES:-120}
- SESSION_REFRESH_THRESHOLD_MINUTES=${SESSION_REFRESH_THRESHOLD_MINUTES:-30}
restart: unless-stopped
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
networks:
- ai-story-network
volumes:
postgres_data:
driver: local
networks:
ai-story-network:
driver: bridge
4.3 启动服务
docker-compose up -d
4.4 查看日志
docker-compose logs -f
4.5 更新到最新版本
docker-compose pull
5. 一键启动
docker compose up -d
6. 访问应用
浏览器输入:http://你的服务器IP:8000 本地部署直接访问:http://127.0.0.1:8000
常见问题解决
「Q1:端口冲突怎么办?」A:修改docker-compose.yml中的端口映射,例如:
ports:
- "8080:8020"
「Q2:如何配置AI模型?」A:登录后进入系统设置,在API设置中填写你的API Key和模型地址。推荐使用DeepSeek(来源:DeepSeek官方网站,注册即送2000万Tokens)。
「Q3:数据安全吗?」A:所有数据存储在本地./data目录,容器删除不影响数据。定期备份该目录即可。
从零开始配置使用
浏览器中输入 http://NAS的IP:8000 就能看到界面
输入前面配置的管理员账号和密码(admin/admin123)
成功进入面板,有一个通知提示(检测 API 设置)
前面如果配置没问题,这里测试就可以正常通过(可以在页面,刷新切换新模型)
有两种模式,分别是灵感模式和向导创建。
灵感模式,适合创意初期,用户只有模糊想法时使用
通过 AI 对话式引导,就能一步步完成小说
一步步选择和生成(idea → 书名 → 简介 → 主题 → 类型 → 视角 → 确认)
等待小说生成(可以调用 MCP,不过我没配置)
这里用的时间挺长的(可能选小一点的模型会快一点),点击进入项目
看起来还是很专业的,有世界设定,角色管理,关系管理,组织管理等等
应该是我选模型问题(之前用其他模型没这个问题),写出来的很多都是英文 生成上面这些大概用了 0.5 元(我选的模型 token 比较贵)
大纲展开就能生成章节了(换成了 DeepSeek-R1 模型)
每个章节概要就生成出来了,点击创建即可
来到章节管理就能看到前面创建的草稿了
先不要急着生成章节内容,选择一种适合的写作风格
回到章节管理就可以批量生成了
我就默认配置不修改了,直接点击生成
三个章节都生成完成了,右上角有已写字数
可以看看效果,有英文奇怪都是没选好模型导致的
为了更好掌握故事节奏,可以进行剧情分析
TIP:先刷新一下网页,可能完成了但没显示,还是不行就等一下再重新一个个分析(调用太频繁会导致失败)
剧情分析会提炼章节内容,帮助更好掌握节奏
上面全部操作下来,大概用了 1 元多
返回首页,看看向导创建
向导创建是采用表单式填写,通过结构化收集信息
简单填写就可以点创建项目了
创建完成,点击进入项目
换了一个模型以后,生成这些内容就正常多了
后面这些就不展开了,和前面使用灵感模式一样,下面说说还有那些功能
通过添加 MCP 插件,AI 可以访问搜索引擎、数据库、API 等外部服务,增强创作能力
支持用户管理,每个用户都是独立可以使用
说真的,MuMuAINovel 这款 AI 小说创作助手确实有点门道。除了部署环节稍有些繁琐外,整体没什么大问题,基本是零门槛就能上手操作。另外要注意的是,模型尽量选择国内的,这类模型对中文的支持度会高很多,否则可能会生成英文内容。
虽说我没写过小说,但用下来感觉还挺不错的。借助 AI 辅助,只要有一个初步的想法,就能创作出一部还不错的小说。而且创作的每个流程步骤都可控,操作逻辑也很贴合用户的使用习惯,有兴趣的朋友不妨试试。
综合推荐:⭐⭐⭐⭐(AI 辅助创作,生产力直接拉满)
使用体验:⭐⭐⭐(上手简单,贴合使用习惯)
部署难易:⭐⭐⭐(难度一般)
(部分内容来自网络)
往期精彩:
道理鱼镜像:带来更优质的私人音乐库体验 【文末附无损音乐地址】
别再瞎选 RAID 了!NAS / 服务器必看,速度和安全的最优解
Docker一键部署Jellyfin+Findroid关联教程:打造私人影音自由王国

评论区