novelai

星奈奈奈 SenananaAbout 10 minAbout 2966 words

目前处于功能完善阶段,可能会随着版本更新,对旧功能进行重写,导致设置格式变化、代码结构变化等多种问题,如发现之前的设置无法正常读取,请查看说明书跟进设置格式

0.7.0

TODO

0.6.0

TODO

0.5.X

0.5.5-0.5.7

修复

  • 修复了因为某种原因出错后,队列堵死的问题
  • 修复了屏蔽词不会正常生效的问题
  • 修复了点数模式下,最小消耗的 anlas 没有限制为 2 的问题
  • 修复了 sd 的长宽被限制在 1024 的问题,现在被限制为 2048
  • 修复了以图生图在部分环境下报错的问题

0.5.4_20221123

重要更新

  • 兼容了 Stable Diffusion,在设置中更改 novelai_mode 为"sd",并设置 novelai_site 为"127.0.0.1:7860"(修改为你的服务器 ip 和端口)
    • 必须在 SD 的 webui-user.bat 文件中,设置set COMMANDLINE_ARGS=--api,并使用 webui-user.bat 启动。否则 bot 无法连接到 SD

更新

  • 现在 site 为可选项,仅当你的服务器在非默认端口(naifu 为 6969,sd 为 7860)时需要设置

更改

  • 现在合并消息中,默认会显示发送者为输入指令的人,可以通过设置 novelai_antireport 为 False 关闭

修复

  • 修复了 3.10 非必要语法导致 3.9 报错的问题

0.5.3_20221122

新功能

  • 现在将 FIFO 更名为 Draw,并且开放给其他插件,该类中包含了所有生成图片核心的部分(不包含预处理,翻译等),可以用于制作扩展
    • 使用from nonebot_plugin_novelai import Draw导入
  • 把说明书的使用方法部分写完了

更改

  • 合并了 shape,width 和 height 参数为-r,--resolution
    • 自定义长宽格式为-r 1024x1024
  • 将约稿指令加了回来,以便 koishi 插件用户无缝适应
  • 将 nopre 参数改为 override,以便 koishi 插件用户无缝适应

修复

  • 修复了文本检查、翻译没能正常生效的问题
  • 修复了以图生图无法正常使用的问题
  • 修复了以图生图 tags 中会包含 CQ 码的问题
  • 修复了非付费模式通过手动输入长宽可以突破 640 限制的问题
  • 修复了打包文件不全的问题

0.5.2_20221122

修复

  • 紧急修复了上个版本无法正常启动的 bug

新功能

  • 加入了 novelai_size 设置,用于限制图片分辨率,默认为 1024(即生成的图片分辨率不会大于 1024*1024)
    • naifu 和 novelai 无法支持大于 1024 的长宽

更改

  • 现在如果用户把后台服务器搞崩了会有提示
  • 现在合并消息中会显示使用的后端类型(实际是解决 bug 顺便加的 x)

0.5.1_20221121

重要更新

  • 兼容了 Naifu,在设置中更改 novelai_mode 为"naifu",并设置 novelai_site 为"127.0.0.1:6969"(修改为你的服务器 ip 和端口)

破坏性更改

  • 合并了设置中部分设置
    • api_domain,site_domain 合并为 site
    • save_pic 和 save_detail 合并为 save,默认为 1(保存图片),0 为不保存,2 为保存图片和追踪信息

新功能

  • 加入了严格点数模式(novelai_paid=2,注意该值的取值方式可能会在未来进行更改)
    • 在严格点数模式下,无论什么时候都会计算点数,除了 superuser
  • 加入了每日上限模式(novelai_daylimit,值为 int,即上限的值,默认为 0 关闭)
  • 现在支持手动输入宽高了,并解除了 512 的限制(最大 1024)

修复

  • 修复了管理指令输入不全也会触发的问题

更改

  • 现在命令可以不带“.”,以支持 bot 本身的命令起始符号
  • 现在无法连接到服务器时,bot 会在前端进行提示
  • 现在转发消息中,tags 和 ntags 会分别单独作为一条消息,以避免消息段过长的问题。并且将图片放到了最前方

💥 0.5.0_20221120

💥 重大变更

  • 指令格式修改,不再以-分割参数,而是以 shell 形式解析参数
    • 例:.aidraw loli,cute --ntags big breast --seed 114514
    • 指令格式修改后,支持排除词条及其他所有需要的参数
  • 代码结构进行了大幅度重构
  • 移除了 Python3.10 的限制,并实验性地将版本要求下降至 3.8(如果不能运行再往上加 x)

新功能

  • 加入了自动撤回功能 novelai_revoke 设置,该值默认为 0,当不为 0 时为撤回 cd(单位 s)
  • fifo 中加入了具有可读性的时间属性,用于追踪。同时 userid,groupid 现在也会输出在 detail 文件和后台中

修复

  • 修复 superuser 权限没能正常生效的问题
  • 修复了生成失败时,会导致多处报错的问题
  • 修复了 set 功能没能正常获取设置的问题

优化

  • 将 FIFO 队列的实现由数组改为双向数组,降低了时间复杂度

更改

  • 现在 bot 未设置 nickname 时,会将名字设置为插件名以避免 api 报错
  • 现在图片会存放在以群号命名的文件夹中
  • 现在 FIFO 中,反面 tag 名称更改为 ntags,以适应理解习惯,相对应的所有正面 tag 命名统一为 tags
  • 现在 seed 不再默认为时间戳,而是 0-4294967295 之间随机

💥 废弃

  • 由于 AI 鉴黄 API 较为鸡肋且容易寄,注释掉了该部分代码入口,不再维护相关方法,若有需求可自行取消注释并测试

0.4.X

0.4.12_20221029

新功能

  • 现在以图生图支持通过回复图片来获取图片

更改

  • 在图片数据输出中添加了 img2img 布尔值用于区分是否包含图片

废弃

  • 废弃了约稿指令,以避免产生版权方面的暗示。所有生成的图片版权与插件作者无关

其他

  • 插件已经基本稳定,进入短暂的休息期。下次更新会重构指令,并进入 0.5.0 版本

0.4.11_20221029

新功能

  • 添加了 novelai_pure 设置,当关闭时,图片会和数据打包为合并消息发送,开启时仅会发送图片,默认关闭
    • 该设置可以通过 set 功能修改
  • 添加了 novelai_save_detail 设置,当开启时,数据会单独保存为同名的 txt 文件,关闭时不保存,默认关闭

修复

  • 修复重置群 tag 时,会将值设为 None 的问题
  • 修复 set 功能 value 值中包含空格时无法完整解析的问题

更改

  • 文件名不再包含 tag 和 seed,而是统一为图片的 md5 值
  • 屏蔽词添加 bloody

0.4.10_20221027

修复

  • 修复翻译无法使用的问题

更改

  • 群设置的权限开放给 superuser,同时未满足权限会中断处理流程

0.4.9_20221026

新功能

  • 现在 set 功能可以输入参数全称
  • 现在可以通过 config 设置 novelai_uc(排除词条)
  • 现在 set 功能可以设置 uc(排除词条)

修复

  • 修复了调取 AI 检定 API 失败时,无法正常获取异常信息的问题
  • 修复了 AI 检定报错 413 的问题
  • 修复了文本生图时步数被固定到 50 的问题,现在会正常为 28
  • 修复了点数计算函数,现在会将步数计入计算
  • 更换了 DeepdanbooruAPI,且现在的 API 似乎准确率更高
  • 修复了输入单独词条时,空格会消失的问题
  • 修复版本更新还是会重复推送的问题

更改

  • 现在会保存为占用空间更小的 jpg 格式
  • 回复中使用的词条现在会包含内置词条
  • 现在 BOT 主不需要管理员权限也能够更改群设置
  • 图片现在的命名不会带有 hash,而是以顺序数字结尾
  • 现在 ai 检定 API 会自动重试最多三次
  • 现在 FIFO 类中包含了所有 novelai 参数,并将获取请求体的函数置于 FIFO 类中
  • 对代码进行了精简和简单注释,并尝试将与 novelai 服务器交互部分独立

废弃

  • 💥 不再支持同时对多张图片以图生图

0.4.8_20221024

新功能

  • 现在回复中会添加使用的词条
  • 分群启用支持黑白名单了
    • 原有的 NOVELAI_BAN 改为 NOVELAI_ON(bool),即全局开启/关闭
    • aidraw on 逻辑与 aidraw set 逻辑合并,可以使用.aidraw set on True 配置,同样保留了 aidraw on 的语法

修复

  • 修复了在 0.4.7 中屏蔽词误杀的问题
  • 修复了 DeepL 翻译引擎无法工作的问题,感谢@pk4ever1open in new window帮助测试

更改

  • 删除了检查词条内容的逻辑,允许用户使用空词条(即仅使用内置词条)

0.4.7_20221023

新功能

  • 加入了 DeepL 翻译 API(需要进一步测试和反馈)
  • 打开 H 模式后,现在会自动切换到 novelai 完整模型
  • 现在可以通过.aidraw set 查看和设置本群的默认词条
  • 点数模式现在生成大图和多图也会扣除点数了,保持和官网一致
  • 加入了效果更好的谷歌代理免费翻译 API,默认优先级高于有道翻译

修复

  • 修复了在某些环境下导致 aiohttp 报错的问题
  • 修复了.aidraw set 会接受错误数据格式的问题
  • 修复了点数模式下文本生图也会扣除点数的问题
  • 修复了中英混合输入会导致翻译不符合预期的问题

更改

  • 整合了以图生图和文本生图的请求逻辑
  • 现在后台获取词条时将会直接显示翻译之后的词条
  • 将 H 屏蔽词检测移至翻译之后,去除了“裸”,添加了一大堆屏蔽词,并不再将屏蔽词加入反面词条
  • 将优化 TAG 精简至与官网一致

0.4.6_20221022

新功能

  • 现在会通过 AI 判断生成后的图片是否 nsfw,并将不同判断结果的图片存储在单独文件夹中
  • 现在可以修改单群的 cd
    • 在需要修改的群内使用.aidraw set cd 120 将 cd 修改为 120
    • 在群内使用.aidraw set 查看本群的设置

修复

  • 删除了启动时版本自检以解决与部分插件冲突和在 Unix 系统上报错的问题
  • 在 H 屏蔽词中添加”裸“以解决中文绕过 nude 关键词的问题

更改

  • 整合了以图生图和文本生图的处理逻辑

已知问题

  • DeepdanbooruAPI 寄了,查书功能暂不可用

0.4.5_20221020

新功能

  • 添加了在线说明书

修复

  • 修复了启用关闭功能无法正常使用的问题
  • 修复了 H 控制功能无法正常生效的问题
  • 修复了保存文件时没有正常创建 output 文件夹的问题

更改

  • CD 提醒中添加了 CD 剩余的秒数
  • 更新推送现在推送一次后就不会再推送了