Skip to content

Repository files navigation

NovelAI Flutter

基于 Flutter 的 Material 3 风格 NovelAI API 客户端。

Caution

警告:由于官方计费算法怪异,应用内显示的 Anlas 预估扣除数值仅供参考。实际扣除额度以 NovelAI 实际扣费为准(如有可信算法补充请提交issue)


主要功能

  • 文本生成图像 (Text-to-image)
  • 以图生图 (Image-to-image)
  • 多人物位置引导 (Multi-character positioning)
  • Vibe Transfer(兼容网页版bundle)
  • Character Reference
  • 自定义API
  • Anlas余额显示
  • 预设管理、导出、备份
  • 从本地图片读取生成参数
  • 图片历史记录
  • 自动保存生成结果
  • 手动 JSON 请求编辑器1
  • 调试日志查看

目前的问题

  • 缺少外语翻译,预计支持语言:
    • 法语
    • 日语
    • 英语
  • Vibe Transfer可能出错
  • Character Reference未调试
  • 调出按键时,整个界面会向上弹一下
  • 图片预览的四个角虚化了(不过我真懒得改)
  • 缺少终止图片生成的功能(//TODO)
  • 保存路径有问题,手机自定义时必须写./目录而不是直接/目录,并且默认保存在/Pictures文件夹中。
  • 缺少联想词功能
  • 有时点击互动时,整个界面会向上弹,跳转到大概尺寸导出那个位置
  • 加载文件管理器时可能会闪烁
  • Windows上可能存在问题,因为改完文件接口后没有调试

界面特性

  • 响应式布局:根据屏幕大小自动调整
  • 主题支持:深色/浅色模式,多种颜色
  • 流式输出:支持生成过程中的实时预览
  • 触控优化:支持移动端手势操作
  • 哦对了,对全面屏手势可能不友好,不过我懒得做优化了 (反正我是虚拟按键ww)

快速入门

环境准备

  • Flutter SDK 3.11.3 或更高版本
  • 获取 NovelAI API Token (需在 novelai.net 官网获取)

安装与调试

# 进入工程目录
cd material_novel

# 安装依赖
flutter pub get

# 调试应用
flutter run

使用指南

  1. 启动应用后,在“API 设置”中输入您的 Token。
  2. 在提示词框输入正向及反向提示词。
  3. 点击“开始生成”按钮,等待图像预览加载。

项目结构

lib/
├── main.dart                    # 入口文件
├── core/                        # 核心业务逻辑
│   └── app_state.dart          # 状态管理 (Provider)
├── services/                    # 外部服务接口
│   ├── api_service.dart        # NovelAI API 通信
│   └── image_service.dart      # 图片处理与 IO
├── controllers/                 # 业务控制层
│   └── generation_controller.dart
├── utils/                       # 工具类
│   └── parameter_loader.dart
└── ui/                          # 用户界面
    ├── app.dart                # 应用全局配置
    ├── screens/                # 页面布局
    ├── widgets/                # 通用组件
    └── dialogs/                # 功能弹窗

相关文档

注:LLM给我写的,我没检查,要是错了帮我来个issue。

编译指南

编译前请确保已执行 flutter pub get 安装所有依赖。

Android

arm64-v8a(推荐,现代 64 位设备)

flutter build apk --release --target-platform=android-arm64

产物路径:build/app/outputs/flutter-apk/app-release.apk

armeabi-v7a(32 位设备)

flutter build apk --release --target-platform=android-arm

产物路径:build/app/outputs/flutter-apk/app-release.apk(难绷)

胖包(Fat APK,包含所有架构)

flutter build apk --release

产物路径:build/app/outputs/flutter-apk/app-release.apk(哦对了)

注意:胖包体积较大,包含 arm64-v8a、armeabi-v7a 和 x86_64 三种架构,适合分发但不推荐上架应用商店。


Linux

flutter build linux --release

产物路径:build/linux/x64/release/bundle/

需要在 Linux 环境下编译,并确保已安装以下依赖:

Fedora

sudo dnf install clang cmake ninja-build pkg-config gtk3-devel xz-devel libstdc++-devel

Debian / Ubuntu

sudo apt install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev

Windows

flutter build windows --release

产物路径:build/windows/x64/runner/Release/

可能需要安装 Visual Studio 并勾选"使用 C++ 的桌面开发"工作负载。

截图

主界面 设置(解析前) 设置(解析) 读取元数据

开发者

  • 原作者: EllAri @ Bilibili
  • 版本: Material Edition 0.0.5
  • 分支:NovelAI Fluent(我的另一个项目,使用fluent_ui)

累死我了,我修了一整天bug,连着修了14个小时,令人感叹--2026/4/4


使用 Flutter ❤️ 构建。

Footnotes

  1. LLM 给我删了,不过平时也用不上。

About

Unofficial Flutter NovelaAI Image API Client

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages