7.9 KiB
7.9 KiB
MuMuAINovel 📚✨
✨ 特性
- 🤖 多 AI 模型 - 支持 OpenAI、Gemini、Claude 等主流模型
- 📝 智能向导 - AI 自动生成大纲、角色和世界观
- 👥 角色管理 - 人物关系、组织架构可视化管理
- 📖 章节编辑 - 支持创建、编辑、重新生成和润色
- 🌐 世界观设定 - 构建完整的故事背景
- 🔐 多种登录 - LinuxDO OAuth 或本地账户登录
- 💾 PostgreSQL - 生产级数据库,多用户数据隔离
- 🐳 Docker 部署 - 一键启动,开箱即用
📋 TODO List
- 灵感模式 - 创作灵感和点子生成
- 自定义写作风格 - 支持自定义 AI 写作风格
- 数据导入导出 - 项目数据的导入导出
- Prompt 调整界面 - 可视化编辑 Prompt 模板
- 章节字数限制 - 用户可设置生成字数
- 设定追溯与矛盾检测 - 自动检测设定冲突
- 思维链与章节关系图谱 - 可视化章节逻辑关系
- 根据分析一键重写 - 根据分析建议重新生成
- Linux DO 自动创建账号 - OAuth 登录自动生成账号
💡 欢迎提交 Issue 或 Pull Request!
🚀 快速开始
前置要求
- Docker 和 Docker Compose
- 至少一个 AI 服务的 API Key(OpenAI/Gemini/Claude)
Docker Compose 部署(推荐)
# 1. 克隆项目
git clone https://github.com/xiamuceer-j/MuMuAINovel.git
cd MuMuAINovel
# 2. 配置环境变量
cp backend/.env.example .env
# 编辑 .env 文件,填入必要配置
# 3. 启动服务
docker-compose up -d
# 4. 访问应用
# 打开浏览器访问 http://localhost:8000
使用 Docker Hub 镜像
# 拉取最新镜像
docker pull mumujie/mumuainovel:latest
# 使用 docker-compose.yml 启动
docker-compose up -d
# 查看日志
docker-compose logs -f
# 更新到最新版本
docker-compose pull
docker-compose up -d
本地开发
后端
cd backend
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
# 配置 .env 文件
cp .env.example .env
# 启动后端
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
前端
cd frontend
npm install
npm run dev # 开发模式
npm run build # 生产构建
⚙️ 配置说明
必需配置
创建 .env 文件:
# PostgreSQL 数据库(必需)
DATABASE_URL=postgresql+asyncpg://mumuai:your_password@postgres:5432/mumuai_novel
POSTGRES_PASSWORD=your_secure_password
# AI 服务(至少配置一个)
OPENAI_API_KEY=your_openai_key
OPENAI_BASE_URL=https://api.openai.com/v1
DEFAULT_AI_PROVIDER=openai
DEFAULT_MODEL=gpt-4o-mini
# 本地账户登录
LOCAL_AUTH_ENABLED=true
LOCAL_AUTH_USERNAME=admin
LOCAL_AUTH_PASSWORD=your_password
可选配置
# Gemini
GEMINI_API_KEY=your_gemini_key
# Claude
ANTHROPIC_API_KEY=your_claude_key
# LinuxDO OAuth
LINUXDO_CLIENT_ID=your_client_id
LINUXDO_CLIENT_SECRET=your_client_secret
LINUXDO_REDIRECT_URI=http://localhost:8000/api/auth/callback
# PostgreSQL 连接池(高并发优化)
DATABASE_POOL_SIZE=30
DATABASE_MAX_OVERFLOW=20
中转 API 配置
支持所有 OpenAI 兼容格式的中转服务:
# New API 示例
OPENAI_API_KEY=sk-xxxxxxxx
OPENAI_BASE_URL=https://api.new-api.com/v1
# 其他中转服务
OPENAI_BASE_URL=https://your-proxy-service.com/v1
🐳 Docker 部署详情
服务架构
-
postgres: PostgreSQL 18 数据库
- 端口: 5432
- 数据持久化:
./postgres_data - 优化配置: 支持 80-150 并发用户
-
mumuainovel: 主应用服务
- 端口: 8000
- 日志目录:
./logs - 自动等待数据库就绪
常用命令
# 启动服务
docker-compose up -d
# 查看状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看资源使用
docker stats
数据持久化
./postgres_data- PostgreSQL 数据库文件./logs- 应用日志文件
端口配置
修改 docker-compose.yml 中的端口映射:
ports:
- "8800:8000" # 宿主机:容器
📁 项目结构
MuMuAINovel/
├── backend/ # 后端服务
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── models/ # 数据模型
│ │ ├── services/ # 业务逻辑
│ │ ├── middleware/ # 中间件
│ │ ├── database.py # 数据库连接
│ │ └── main.py # 应用入口
│ ├── scripts/ # 工具脚本
│ └── requirements.txt # Python 依赖
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── pages/ # 页面组件
│ │ ├── components/ # 通用组件
│ │ ├── services/ # API 服务
│ │ └── store/ # 状态管理
│ └── package.json
├── docker-compose.yml # Docker Compose 配置
├── Dockerfile # Docker 镜像构建
└── README.md
🛠️ 技术栈
后端: FastAPI • PostgreSQL • SQLAlchemy • OpenAI/Claude/Gemini SDK
前端: React 18 • TypeScript • Ant Design • Zustand • Vite
📖 使用指南
- 登录系统 - 使用本地账户或 LinuxDO 账户
- 创建项目 - 选择"使用向导创建"
- AI 生成 - 输入基本信息,AI 自动生成大纲和角色
- 编辑完善 - 管理角色关系,生成和编辑章节
API 文档
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
🤝 贡献
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
📝 许可证
本项目采用 GNU General Public License v3.0
GPL v3 意味着:
- ✅ 可自由使用、修改和分发
- ✅ 可用于商业目的
- 📝 必须开源修改版本
- 📝 必须保留原作者版权
- 📝 衍生作品必须使用 GPL v3 协议
🙏 致谢
- FastAPI - Python Web 框架
- React - 前端框架
- Ant Design - UI 组件库
- PostgreSQL - 数据库
📧 联系方式
如果这个项目对你有帮助,请给个 ⭐️ Star!
Made with ❤️