https://github.com/etherleaf/nonebot-plugin-colab-novelai
解放你的双手,让Colab持续给你提供算力生产色图!
https://github.com/etherleaf/nonebot-plugin-colab-novelai
chatbot colaboratory nonebot-plugin nonebot2 novelai python3 qq-bot
Last synced: 8 months ago
JSON representation
解放你的双手,让Colab持续给你提供算力生产色图!
- Host: GitHub
- URL: https://github.com/etherleaf/nonebot-plugin-colab-novelai
- Owner: EtherLeaF
- License: mit
- Created: 2022-10-31T09:07:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-21T06:01:59.000Z (over 3 years ago)
- Last Synced: 2025-07-24T21:49:59.452Z (9 months ago)
- Topics: chatbot, colaboratory, nonebot-plugin, nonebot2, novelai, python3, qq-bot
- Language: Python
- Homepage:
- Size: 120 KB
- Stars: 30
- Watchers: 1
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 功能
- 提供prompt让AI进行绘图
- 可选将图片保存至本地或WebDAV
- 权限管理: 绘图冷却时间与是否允许使用NSFW tag
## 安装
- 使用 nb-cli
```
nb plugin install nonebot_plugin_colab_novelai
```
- 使用 pip
```
pip install nonebot_plugin_colab_novelai
```
## 获取插件帮助与拓展功能
- 可选择接入 [nonebot-plugin-PicMenu](https://github.com/hamo-reid/nonebot_plugin_PicMenu) 以便用户获取插件相关信息与用法
- 可选择接入 [nonebot-plugin-manager](https://github.com/nonepkg/nonebot-plugin-manager) 管理插件黑名单
- 可选择接入 [nonebot-plugin-savor](https://github.com/A-kirami/nonebot-plugin-savor) 通过图片反推tag
## Requirements
- 一台能正常访问外网的服务器 (Colab在中国大陆无法访问)
- 确保服务器已正确安装了Chrome浏览器
- 注册一堆Google新帐号(建议六个以上),建议绑定手机号以免登录时出现麻烦,千万不要开启多余的安全设置。
- 前往[百度智能云](https://ai.baidu.com/tech/speech)申请免费语音识别服务,注册APP并获取相关密钥
- 用于绕过Colab ReCaptcha
- 前往[cpolar](https://www.cpolar.com/)注册免费账号
- 用于Colab的内网穿透
## .env | .env.dev | .env.prod 配置项
```ini
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](https://github.com/EtherLeaF/nonebot-plugin-colab-novelai/blob/main/nonebot_plugin_colab_novelai/utils/distributed.py),如果有其他好的预设想法,欢迎pr。
- 屏蔽的tag集合为```.env```配置项与预设项的并集,匹配时不区分大小写。
- 如需使用代理,支持填写```http://```or```https://```or```socks5://```+```ip:port```
## 如何使用?
触发指令: ```naifu [] []```
- Command: ```draw```
- CommandPermission: ```Anyone```
- 用于告诉AI开始作图
- 用法: ```naifu draw ... [-i --undesired-content ...] [-a --sampling ] [-t --steps ] [-c --scale ] [-n --num ] [-s --size ] [-r --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 ... [-i --undesired-content ...] [-a --sampling ] [-t --steps ] [-c --scale ] [-n --num ] [-r --seed ] [-e strength ] [-o 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``` 可选参数,值增加会增加细节,一般应低于参数``````,取值范围```0~0.99```,默认值为```0.2```
- Command: ```su```
- CommandPermission: ```Superuser```
- 用于管理插件白名单用户 (白名单用户无绘图cd,在```.env```中```naifu_cd```值为非零时生效)
- Subcommand: ```ls```
- 列出当前所有白名单用户
- 用法: ```naifu su ls```
- Subcommand: ```add```
- 添加白名单用户
- 用法: ```naifu su add ...```
- 必须指定用户QQ号,可填写多个并以空格分隔
- Subcommand: ```rm```
- 移除白名单用户
- 用法: ```naifu su rm ...```
- 必须指定用户QQ号,可填写多个并以空格分隔
- Command: ```nsfw```
- CommandPermission: ```Superuser```
- 管理允许绘制NSFW内容的用户与群组
- 注意: 群聊中只有当用户和群聊均有权限时才能绘制NSFW内容!
- Subcommand: ```ls```
- 列出当前所有允许NSFW内容的用户与群组
- 用法: ```naifu nsfw ls```
- Subcommand: ```add```
- 添加允许NSFW内容的用户或群组
- 用法: ```naifu nsfw add [-u --uid ...] [-g --gid ...]```
- ```-u``` 可选参数,为用户QQ号,可填写多个并以空格分隔
- ```-g``` 可选参数,为群号,可填写多个并以空格分隔
- 当两个可选参数均未填写时,默认添加当前所处群聊的群号。
- Subcommand: ```rm```
- 移除允许NSFW内容的用户或群组
- 用法: ```naifu nsfw rm [-u --uid ...] [-g --gid ...]```
- ```-u``` 可选参数,为用户QQ号,可填写多个并以空格分隔
- ```-g``` 可选参数,为群号,可填写多个并以空格分隔
- 当两个可选参数均未填写时,默认移除当前所处群聊的群号。
在权限配置文件第一次加载时,会自动添加```.env```的```SUPERUSERS```为插件白名单用户以及分配NSFW权限。

