nb plugin install nonebot_plugin_colab_novelai
pip install nonebot_plugin_colab_novelai
一台能正常访问外网的服务器 (Colab在中国大陆无法访问)
确保服务器已正确安装了Chrome浏览器
注册一堆Google新帐号(建议六个以上),建议绑定手机号以免登录时出现麻烦,千万不要开启多余的安全设置。
前往百度智能云申请免费语音识别服务,注册APP并获取相关密钥
前往cpolar注册免费账号
headless_webdriver: bool = True # 是否使用无头模式启动浏览器
colab_proxy: Optional[str] = None # 如有需要可填写代理地址
google_accounts: Dict[str, str] = {} # Required, 填写要使用的谷歌账密 {"account": "password", ...}
cpolar_username: str = None # Required, 填写cpolar账号邮箱
cpolar_password: str = None # Required, 填写cpolar账号的密码
bce_apikey: str = None # Required, 填写百度智能云的API Key
bce_secretkey: str = None # Required, 填写百度智能云的Secret Key
naifu_max: int = 1 # 一次作图生成的最大图片数量
naifu_cd: int = 0 # 每个用户每生成一张图片的冷却时间
nai_save2local_path: Optional[str] = None # 将图片保存至本地的存储目录, 不填写则不保存
nai_save2webdav_info: Dict[str, Optional[str]] = {
"url": None,
"username": None, "password": None, # 将图片保存至WebDAV需要的相关配置,不填写则不保存
"path": None
}
nai_nsfw_tags: Optional[List[str] | str] = None # 自定义可能会生成NSFW图片的tag, 填写一个列表或者一个文件路径
# 列表: ["tag1", "tag2", "tag3", ...]
# 若使用文件存储, 需要将tag以逗号分隔,无需引号。
如果你正在使用没有图形界面的Linux服务器,请不要更改headless_webdriver
插件会尝试禁止未授权的用户绘画NSFW图片,通过屏蔽特定tag来实现。预设的一些tag集合位于/utils/distributed.py,如果有其他好的预设想法,欢迎pr。
.env
配置项与预设项的并集,匹配时不区分大小写。如需使用代理,支持填写http://
orhttps://
orsocks5://
+ip:port
触发指令: naifu <command> [<subcommands>] [<args>]
Command: draw
CommandPermission: Anyone
用于告诉AI开始作图
用法: naifu draw <PROMPT>... [-i --undesired-content <UNDESIRED_CONTENT>...] [-a --sampling <SAMPLING>] [-t --steps <STEPS>] [-c --scale <SCALE>] [-n --num <NUM>] [-s --size <SIZE>] [-r --seed <SEED>]
PROMPT
必选参数,指定作画的关键词,以逗号分隔,必须为英语-i
可选参数,指定作画中想避免出现的内容,以逗号分隔,必须为英语-a
可选参数,指定采样器,支持以下几种,默认为k_euler_ancestral
:k_euler_ancestral, k_euler, k_lms
plms, ddim
-t
可选参数,指定优化图像的迭代次数,取值范围1~50
,默认值为28
-c
可选参数,值越大越接近描述意图,值越小细节越少自由度越大,取值范围1.1~100
,默认值为12
-s
可选参数,指定图片生成大小,支持以下几种,默认为512x768
:384x640, 512x768, 512x1024 # Portrait
640x384, 768x512, 1024x512 # Landscape
512x512, 640x640, 1024x1024 # Square
-n
可选参数,指定图片生成数量,最大值参考.env
配置项,默认值为1
-r
可选参数,指定图片生成种子,取值范围0 ~ 2³²-1
,默认值为-1
即随机
Command: imgdraw
CommandPermission: Anyone
提供基准图片作图
用法: naifu imgdraw <PROMPT>... <IMAGE> [-i --undesired-content <UNDESIRED_CONTENT>...] [-a --sampling <SAMPLING>] [-t --steps <STEPS>] [-c --scale <SCALE>] [-n --num <NUM>] [-r --seed <SEED>] [-e strength <STRENGTH>] [-o noise <NOISE>]
PROMPT
必选参数,指定作画的关键词,以逗号分隔,必须为英语IMAGE
必选参数,指定作画基准图片-i
可选参数,指定作画中想避免出现的内容,以逗号分隔,必须为英语-a
可选参数,指定采样器,支持以下几种,默认为k_euler_ancestral
:k_euler_ancestral, k_euler, k_lms
plms, ddim
-t
可选参数,指定优化图像的迭代次数,取值范围1~50
,默认值为50
-c
可选参数,值越大越接近描述意图,值越小细节越少自由度越大,取值范围1.1~100
,默认值为12
-n
可选参数,指定图片生成数量,最大值参考.env
配置项,默认值为1
-r
可选参数,指定图片生成种子,取值范围0 ~ 2³²-1
,默认值为-1
即随机-e
可选参数,值越低越接近原始图像,取值范围0~0.99
,默认值为0.7
-o
可选参数,值增加会增加细节,一般应低于参数<STRENGTH>
,取值范围0~0.99
,默认值为0.2
Command: su
CommandPermission: Superuser
用于管理插件白名单用户 (白名单用户无绘图cd,在.env
中naifu_cd
值为非零时生效)
Subcommand: ls
列出当前所有白名单用户
用法: naifu su ls
Subcommand: add
添加白名单用户
用法: naifu su add <USER ID>...
必须指定用户QQ号,可填写多个并以空格分隔
Subcommand: rm
移除白名单用户
用法: naifu su rm <USER ID>...
必须指定用户QQ号,可填写多个并以空格分隔
Command: nsfw
CommandPermission: Superuser
管理允许绘制NSFW内容的用户与群组
注意: 群聊中只有当用户和群聊均有权限时才能绘制NSFW内容!
Subcommand: ls
列出当前所有允许NSFW内容的用户与群组
用法: naifu nsfw ls
Subcommand: add
添加允许NSFW内容的用户或群组
用法: naifu nsfw add [-u --uid <USER ID>...] [-g --gid <GROUP ID>...]
-u
可选参数,为用户QQ号,可填写多个并以空格分隔
-g
可选参数,为群号,可填写多个并以空格分隔
当两个可选参数均未填写时,默认添加当前所处群聊的群号。
Subcommand: rm
移除允许NSFW内容的用户或群组
用法: naifu nsfw rm [-u --uid <USER ID>...] [-g --gid <GROUP ID>...]
-u
可选参数,为用户QQ号,可填写多个并以空格分隔
-g
可选参数,为群号,可填写多个并以空格分隔
当两个可选参数均未填写时,默认移除当前所处群聊的群号。
在权限配置文件第一次加载时,会自动添加.env
的SUPERUSERS
为插件白名单用户以及分配NSFW权限。