Skip to content

Mochocyang/QMAI

Repository files navigation

青幕AI写作 Logo

青幕AI写作(QMAI)

面向长篇小说的记忆型 AI 写作桌面系统

Release Platform License


image

软件概述

青幕AI写作不是普通的 AI 聊天写作工具。它是一套长篇小说记忆型写作系统,专为 200 万~300 万字量级的连载小说创作设计。

核心理念:

写前自动提取上下文 → 写后自动沉淀章节记忆 → 图谱追踪关系变化 → 审查系统防止崩坏 → 人工确认最终定稿

普通 AI 写作工具的问题在于:写到后期 AI 会遗忘前文、人物性格不一致、时间线混乱、伏笔丢失。青幕AI写作通过结构化记忆系统和混合检索引擎,让 AI 在每次生成时都能"记住"之前的一切。

适用场景:

  • 网文日更作者:保持长篇连载质量、防止人设崩坏
  • 小说策划者:管理世界观、势力关系、多线剧情
  • AI 辅助写作者:让大模型在长篇创作中持续可用

image image

核心功能

📚 记忆系统

记忆系统是青幕AI写作的核心引擎。每章正式保存后,系统会自动执行章节摄取,将正文内容结构化为可检索、可追踪、可复用的记忆单元。

章节摄取提取的内容:

  • 章节摘要与结尾钩子
  • 出场人物、地点、组织、物品
  • 关键事件与状态变化
  • 人物关系变化与角色认知变化
  • 伏笔新增 / 推进 / 回收
  • 时间线事件
  • 图谱节点与关系边

上下文引擎(写作前自动触发):

每次调用 LLM 写作前,系统自动生成上下文包,按优先级组装:

用户明确指定 > 当前章节细纲 > 上一章结尾 > Canon 正史规则
> 当前人物状态 > 伏笔状态 > 最近章节摘要 > 图谱关系
> 向量搜索结果 > 关键词搜索结果

上下文包有 token 预算控制,自动在保证关键信息不遗漏的前提下裁剪内容。

混合检索策略:

  • 最近章节窗口:直接获取最近 N 章的摘要
  • 关键词搜索:BM25 风格的精确匹配
  • 向量搜索:语义级别的相似内容检索
  • 图谱搜索:沿关系边扩展相关节点
  • Canon 规则:强制注入的不可违背设定

数据存储方式:

所有记忆数据以项目目录形式本地存储,章节正文保存为 Markdown,快照与状态保存为 JSON。支持导出、备份和索引重建。


image

🎭 角色灵魂系统

角色灵魂系统由两个层面组成:项目灵魂角色视角(NvwaSKILL)

项目灵魂(Soul Doc):

每个小说项目可配置独立的写作灵魂文档,定义整部小说的气质基调:

  • 叙事气质(沉浸、克制、轻松等)
  • 语言风格(口语感、文学感等)
  • 节奏控制规则
  • 对话规则与心理描写规则
  • 冲突写法与感情线规则
  • 禁区列表(禁止空泛抒情、禁止所有人物同一说话方式等)

灵魂文档在每次章节生成时自动注入 LLM 提示词,确保全书风格统一。 image

角色视角(NvwaSKILL):

基于 SKILL 框架的角色个性化系统。每个角色视角包含:

  • 角色档案与核心设定
  • 表达 DNA(说话习惯、用词偏好、句式特征)
  • 思维模式与决策风格
  • 对话历史与观点参考
  • 时间线与关键事件

系统内置数十个预设角色视角范例(从费曼到鲁迅、从孙悟空到王阳明),用户可参照创建自己小说中的角色模版。

角色认知系统:

追踪每个角色在每个时间节点"知道什么"和"不知道什么":

  • knows:角色已知信息
  • does_not_know:角色未知信息
  • reader_knows_but_character_does_not:读者知道但角色不知道的信息(信息差)

这防止了 AI 写作中最常见的错误——让角色知道了不该知道的信息。


🔍 审查系统

审查系统提供多维度的章节质量把控,分为 AI 审稿连贯性检查 两个层面。

审查中心六维审查:

维度 说明
爽感密度 爽点分布是否合理、密度是否足够
设定自洽 战力/地点/时间线等设定是否自相矛盾
节奏张力 叙事节奏是否合理、张弛是否有度
人设一致 角色行为是否偏离人设、对话是否符合性格
叙事衔接 场景转换是否自然、前后文是否衔接
追读引力 章末钩子是否有力、读者期待管理是否到位

AI 审稿流程:

  1. 读取目标章节正文
  2. 加载大纲、人物状态、伏笔状态、时间线、角色认知
  3. LLM 逐维度检查,输出结构化审稿意见
  4. 按严重程度分级:阻塞 / 高 / 中 / 低
  5. 提供具体修改建议与原文证据

连贯性检查(Lint):

自动检测结构性问题:

  • 时间线冲突
  • 人设崩坏
  • 伏笔错乱
  • 角色认知越界
  • 缺失的关系引用

每个问题输出包含严重程度、类型、原文证据、相关记忆和修改建议。

事实检查(Fact Check):

基于章节快照的事实验证系统,检测新章节中是否存在与既有 Canon 正史矛盾的内容。

伏笔债务追踪:

自动统计长期未回收的伏笔,计算债务评分,提醒作者哪些伏笔需要推进或收束。


image

✍️ 小说写作问题解决方案

针对长篇 AI 写作的常见崩坏问题,青幕AI写作提供系统性解决方案:

问题 解决方案
AI 写到后期遗忘前文 章节快照 + 混合检索 + 上下文包自动组装
人物性格前后不一致 角色状态追踪 + 灵魂绑定 + 人设一致性审查
时间线混乱 结构化时间线 + 连贯性检查 + 时间线冲突报警
伏笔丢失或错乱 伏笔追踪器 + 债务评分 + 自动检测未回收伏笔
角色知道不该知道的信息 角色认知系统(knows / does_not_know)
AI 生成错误内容污染后续 草稿/正式章节分离 + 人工确认后才入库
大纲执行偏移 大纲一致性审查 + 上下文强制注入大纲规则
生成内容 AI 味重 去AI化改写(De-AI)+ 项目灵魂风格控制
设定散落难以追踪 图谱可视化 + 结构化记忆 + 全文搜索

草稿机制:

AI 生成的章节默认为草稿状态。草稿支持预览、编辑、重新生成、审稿。只有用户确认后才会保存为正式章节并触发记忆摄取。草稿不会污染正式记忆库。

去AI化改写(De-AI):

内置文风转化能力,将 AI 生成的"标准化"文本改写为更贴近人类写作的自然风格,减少模板化表达。


🕸️ 图谱功能

小说图谱将作品中的所有实体和关系以网络形式可视化呈现。

节点类型:

  • 人物、地点、组织、物品
  • 事件、章节、大纲
  • 伏笔、秘密、冲突、时间点

关系类型:

  • 出场于、发生于、持有
  • 敌对、合作、怀疑、隐瞒
  • 知道、不知道
  • 推进伏笔、回收伏笔、新增伏笔
  • 导致、揭示、影响

图谱构建逻辑:

图谱数据来源于章节摄取过程。每当正式章节保存后,系统自动从快照中提取图谱节点和关系边,增量更新全局图谱。

应用场景:

  • 查看某角色的完整关系网络
  • 追踪某个伏笔涉及的所有章节和角色
  • 发现孤立节点(缺乏关联的设定)
  • 分析剧情线的关键路径

图谱视图基于 Sigma.js + ForceAtlas2 布局,支持社区发现、节点过滤和交互式探索。


其他功能

  • 大纲管理:总大纲 → 分卷大纲 → 章节细纲,三级大纲体系
  • 章节生成:续写、扩写、改写、润色,多种生成模式
  • 剧情搜索:关键词 + 语义 + 图谱混合搜索
  • 多模型支持:自定义聊天、写作、审稿、摘要、嵌入模型
  • 自动更新:内置 Tauri Updater,启动时自动检测 GitHub Releases 新版本
  • 国际化:中文 / 英文双语界面

技术架构

┌─────────────────────────────────────────────────┐
│                   前端 UI 层                      │
│   React 19 + TypeScript + Tailwind CSS + Vite    │
├─────────────────────────────────────────────────┤
│                  状态管理层                        │
│          Zustand (wiki-store, review-store...)    │
├─────────────────────────────────────────────────┤
│                 业务逻辑层                        │
│  novel/ (记忆引擎, 上下文包, 摄取, 审查, 图谱)    │
│  lib/ (LLM客户端, 嵌入, 搜索, 去重, 持久化)      │
├─────────────────────────────────────────────────┤
│              Tauri IPC 通信层                     │
├─────────────────────────────────────────────────┤
│                Rust 后端命令层                     │
│  文件系统 / 向量存储 / PDF提取 / 进程管理 / 代理   │
├─────────────────────────────────────────────────┤
│                  本地文件系统                      │
│        项目目录 (Markdown + JSON + 向量索引)      │
└─────────────────────────────────────────────────┘

技术栈:

层级 技术选型
桌面框架 Tauri 2
前端 React 19, TypeScript, Vite 8
样式 Tailwind CSS 4
状态管理 Zustand 5
图谱渲染 Sigma.js 3 + Graphology
后端 Rust
向量存储 LanceDB
PDF 解析 PDFium
自动更新 tauri-plugin-updater
CI/CD GitHub Actions

关键技术亮点:

  • 混合检索引擎:关键词 + 向量 + 图谱三路融合,RRF 排序
  • Token 预算控制:上下文包自动裁剪,确保不超模型限制
  • 增量式图谱构建:每次摄取只更新变化部分
  • 本地优先架构:所有数据存储在本地,无需联网(LLM 调用除外)
  • 草稿隔离机制:未确认内容不会污染正式记忆库

安装与使用

环境要求

  • 操作系统:Windows 10+(主要支持平台)、macOS、Linux
  • LLM 服务:需配置至少一个大语言模型 API(支持 OpenAI 兼容接口、Ollama 等)

安装方式

方式一:下载安装包(推荐)

前往 GitHub Releases 下载最新版本安装包。

基本使用流程

  1. 新建小说项目:指定项目名称、题材、目标字数
  2. 导入或生成大纲:导入已有大纲,或通过 AI 生成
  3. 配置模型:在设置中配置 LLM API 地址和密钥
  4. 开始写作:在 AI 对话区输入写作指令(如"继续写第 30 章")
  5. 审阅草稿:查看生成结果,可编辑、重写或审稿
  6. 确认保存:满意后保存为正式章节,系统自动摄取记忆
  7. 查看图谱:在图谱视图查看人物关系和剧情走向

项目结构

QMAI/
├── src/                          # 前端源码
│   ├── components/               # React 组件
│   │   ├── chat/                 # AI 对话面板
│   │   ├── editor/               # 编辑器与阅读器
│   │   ├── graph/                # 图谱视图
│   │   ├── layout/               # 布局组件
│   │   ├── novel/                # 小说功能组件(灵魂、认知、伏笔、记忆等)
│   │   ├── review/               # 审查中心
│   │   ├── search/               # 搜索视图
│   │   ├── settings/             # 设置面板
│   │   ├── sources/              # 原始资料管理
│   │   └── ui/                   # 通用 UI 组件
│   ├── lib/                      # 业务逻辑库
│   │   ├── novel/                # 小说核心模块(记忆、上下文、摄取、审查、图谱)
│   │   ├── llm-client.ts         # LLM 客户端
│   │   ├── embedding.ts          # 嵌入向量
│   │   ├── search.ts             # 搜索引擎
│   │   ├── sweep-reviews.ts      # 批量审查
│   │   └── ...                   # 其他工具库
│   ├── stores/                   # Zustand 状态仓库
│   ├── i18n/                     # 国际化(中/英)
│   └── commands/                 # Tauri 命令调用层
├── src-tauri/                    # Rust 后端
│   ├── src/
│   │   ├── commands/             # Tauri 命令实现
│   │   ├── lib.rs                # 插件注册与应用初始化
│   │   └── ...
│   ├── Cargo.toml                # Rust 依赖配置
│   └── tauri.conf.json           # Tauri 应用配置
├── NvwaSKILL/                    # 角色视角数据(应用运行时资源)
├── extension/                    # 浏览器剪藏扩展
├── scripts/                      # 构建与发布脚本
├── .github/workflows/            # CI/CD 工作流
├── package.json                  # 前端依赖与脚本
└── vite.config.ts                # Vite 构建配置

本地开发

前置依赖

开发命令

# 安装前端依赖
npm install

# 启动开发环境(前端 + Tauri 桌面窗口)
npm run tauri dev

# 仅启动前端开发服务器
npm run dev

# 类型检查
npm run typecheck

# 构建便携版
npm run build:portable

代码规范

  • 前端代码使用 TypeScript 严格模式
  • Commit Message 遵循 Conventional Commits 规范
  • 新功能请在 src/lib/novel/ 中集中实现,避免散落到无关模块
  • Rust 代码遵循 cargo fmtcargo clippy 标准

许可证

本项目采用 MIT License 开源许可证。


致谢

相关链接

About

青幕AI写作软件,解决长篇小说写作问题,解决小说角色性格不统一,防止人设崩坏。

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors