Skip to content

SmilingNight/bug-ai-novel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI 超长篇小说生成系统

基于大语言模型的百万字级智能小说创作平台。从大纲生成到逐章写作,AI 自动追踪角色状态、管理世界观、校验一致性,支持完整的长篇创作工作流。

核心功能

功能 说明
AI 大纲生成 输入标题、类型、关键词,自动生成完整大纲(角色、世界观、卷结构、章纲)
逐章正文生成 基于全局记忆 + 角色状态 + 前情回顾,每章 2000-3000 字
角色状态追踪 自动记录每章角色的位置、情绪、力量、知识、物品变化
世界观管理 地理、势力、规则、历史、文化五维分类
一致性校验 6 项 AI 校验(角色名/性格/时间线/战力/剧情/伏笔)
三层记忆系统 MongoDB 全局记忆 + ChromaDB 语义检索 + Redis 缓存
40+ 小说类型 男频/女频全覆盖,每种类型独立写作风格
项目导入导出 JSON 格式完整备份,跨设备迁移
多用户隔离 手机号注册,JWT 认证,Per-user LLM 配置

快速开始

环境要求

  • Python >= 3.9
  • Node.js >= 18
  • (可选)MongoDB、Redis — 不安装时自动降级为内存存储

一键启动(Windows)

# 双击 一键启动.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 生成大纲 → 生成章纲(批量) → 逐章生成正文 → 校验/入库 → 导出
  1. Dashboard — 配置 LLM(API Key / 模型 / 温度),创建项目
  2. 总纲 — 查看卷结构,批量生成章纲,AI 优化大纲
  3. 角色 — 查看角色档案和时间线,手动编辑或新增
  4. 世界观 — 管理五维设定
  5. 章节 — 逐章生成,编辑大纲/额外元素,查看一致性校验结果,确认入库
  6. 统计 — 查看章节状态,一键导出 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 novelnpm run build -- --mode novel,自动设置 base: /novel/

License

MIT

About

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors