基于大语言模型的百万字级智能小说创作平台。从大纲生成到逐章写作,AI 自动追踪角色状态、管理世界观、校验一致性,支持完整的长篇创作工作流。
| 功能 | 说明 |
|---|---|
| AI 大纲生成 | 输入标题、类型、关键词,自动生成完整大纲(角色、世界观、卷结构、章纲) |
| 逐章正文生成 | 基于全局记忆 + 角色状态 + 前情回顾,每章 2000-3000 字 |
| 角色状态追踪 | 自动记录每章角色的位置、情绪、力量、知识、物品变化 |
| 世界观管理 | 地理、势力、规则、历史、文化五维分类 |
| 一致性校验 | 6 项 AI 校验(角色名/性格/时间线/战力/剧情/伏笔) |
| 三层记忆系统 | MongoDB 全局记忆 + ChromaDB 语义检索 + Redis 缓存 |
| 40+ 小说类型 | 男频/女频全覆盖,每种类型独立写作风格 |
| 项目导入导出 | JSON 格式完整备份,跨设备迁移 |
| 多用户隔离 | 手机号注册,JWT 认证,Per-user LLM 配置 |
- Python >= 3.9
- Node.js >= 18
- (可选)MongoDB、Redis — 不安装时自动降级为内存存储
# 双击 一键启动.bat,自动打开前后端分屏终端
# 需要先安装 Windows Terminal 和 conda 环境 bug-ai-novel后端:
cd backend
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/Mac
pip install -r requirements.txt
cp .env.example .env # 编辑 .env 填入 LLM API Key
python run.py # 启动在 http://localhost:8000前端:
cd frontend
npm install
npm run dev # 开发模式,启动在 http://localhost:5173
npm run dev -- --mode novel # 子目录部署模式(base: /novel/)
npm run build -- --mode novel # 生产构建到 dist/| 账号 | 密码 | 角色 |
|---|---|---|
11451419198 |
114514 |
管理员(首次启动自动创建) |
创建项目 → AI 生成大纲 → 生成章纲(批量) → 逐章生成正文 → 校验/入库 → 导出
- Dashboard — 配置 LLM(API Key / 模型 / 温度),创建项目
- 总纲 — 查看卷结构,批量生成章纲,AI 优化大纲
- 角色 — 查看角色档案和时间线,手动编辑或新增
- 世界观 — 管理五维设定
- 章节 — 逐章生成,编辑大纲/额外元素,查看一致性校验结果,确认入库
- 统计 — 查看章节状态,一键导出 JSON
bug-ai-novel/
├── backend/
│ ├── app/
│ │ ├── api/v1/ # API 路由(认证 + 业务)
│ │ ├── core/ # 配置管理 + 类型风格
│ │ ├── database/ # SQLAlchemy ORM(16 张表)
│ │ ├── generators/ # 章节生成流水线
│ │ ├── middleware/ # JWT 认证
│ │ ├── services/ # LLM / 记忆 / 向量 / 缓存
│ │ └── main.py # FastAPI 入口
│ ├── data/ # 运行时数据(不提交)
│ ├── .env.example # 环境变量模板
│ ├── requirements.txt
│ └── run.py
├── frontend/
│ ├── src/
│ │ ├── api/ # Axios API 封装
│ │ ├── components/ # 通用组件
│ │ ├── composables/ # 组合式函数
│ │ ├── router/ # 路由 + 守卫
│ │ ├── stores/ # Pinia 状态
│ │ └── views/ # 页面(11 个)
│ ├── .env # 默认 base: /
│ ├── .env.novel # 子目录 base: /novel/
│ ├── package.json
│ └── vite.config.js
├── 一键启动.bat # Windows Terminal 分屏启动器
└── README.md
| 层 | 技术 |
|---|---|
| 前端 | Vue 3 + Vue Router + Pinia + Element Plus + Vite |
| 后端 | Python / FastAPI + SQLAlchemy |
| LLM | LangChain + OpenAI 兼容 API(默认 DeepSeek) |
| 数据库 | SQLite(默认)/ MySQL / PostgreSQL |
| 记忆 | MongoDB(全局记忆) |
| 向量 | ChromaDB + all-MiniLM-L6-v2 |
| 缓存 | Redis(可选,自动降级内存) |
| 认证 | JWT (python-jose) + bcrypt |
在 backend/.env 中配置(参见 backend/.env.example):
# LLM(必填,否则使用模拟模式)
OPENAI_API_KEY=sk-xxx
OPENAI_BASE_URL=https://api.deepseek.com
LLM_MODEL=deepseek-v4-pro
# 数据库(默认 SQLite,无需修改)
DB_TYPE=sqlite
# JWT(生产环境请修改)
SECRET_KEY=your-secret-key支持通过 nginx 反向代理部署在 bugjump.top/novel/ 等子路径下:
location ^~ /novel/ {
proxy_pass https://your-frp-address;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}前端使用 npm run dev -- --mode novel 或 npm run build -- --mode novel,自动设置 base: /novel/。
MIT