2022-10-05 23:12:51 +08:00
|
|
|
|
# koishi-plugin-novelai
|
|
|
|
|
|
|
|
|
|
[![npm](https://img.shields.io/npm/v/koishi-plugin-novelai?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-novelai)
|
|
|
|
|
|
2022-10-07 20:56:50 +08:00
|
|
|
|
**别光看这里了,快去给 [Koishi](https://github.com/koishijs/koishi) 点个 star 吧!**
|
|
|
|
|
|
2022-10-07 17:36:21 +08:00
|
|
|
|
基于 [NovelAI](https://novelai.net/) 的画图插件。已实现功能:
|
2022-10-07 17:11:44 +08:00
|
|
|
|
|
|
|
|
|
- [x] 绘制图片
|
|
|
|
|
- [x] 更改模型、采样器、图片尺寸
|
|
|
|
|
- [x] 高级请求语法
|
|
|
|
|
- [x] 自定义违禁词表
|
|
|
|
|
- [x] 发送一段时间后自动撤回
|
|
|
|
|
- [x] 连接到自建私服
|
|
|
|
|
- [ ] 图片增强功能
|
|
|
|
|
- [ ] img2img
|
|
|
|
|
|
2022-10-07 20:56:50 +08:00
|
|
|
|
## 快速搭建
|
2022-10-07 17:36:21 +08:00
|
|
|
|
|
|
|
|
|
给没有使用过 Koishi 的新人提供一份简单的快速搭建指南:
|
|
|
|
|
|
|
|
|
|
1. 准备一个 [NovelAI](https://novelai.net/) 账号
|
2022-10-07 23:17:24 +08:00
|
|
|
|
- 在官网的「Pricing」并选择购买计划
|
|
|
|
|
- $10, $15, $25 在功能上没有差别,但获得点数不同
|
|
|
|
|
- 部分高级功能在使用时会消耗点数,点数耗尽后将无法使用高级功能
|
|
|
|
|
- 购买任何一个计划后,基础功能都始终保持可用并且不限次数
|
2022-10-07 17:36:21 +08:00
|
|
|
|
2. 前往[这里](https://github.com/koishijs/koishi-desktop/releases)下载 Koishi 桌面版
|
|
|
|
|
3. 启动桌面版,你将会看到一个控制台界面
|
|
|
|
|
4. 点击左侧的「插件市场」,搜索「novelai」并点击「安装」
|
|
|
|
|
5. 点击左侧的「插件配置」,选择「novelai」插件,填写你的[授权令牌](#token),并点击右上角的「启用」按钮
|
|
|
|
|
6. 现在你已经可以在「沙盒」中使用画图功能了!
|
|
|
|
|
|
|
|
|
|
如果想进一步在 QQ 中使用,可继续进行下列操作:
|
|
|
|
|
|
|
|
|
|
1. 准备一个 QQ 号 (等级不要过低,否则可能被风控)
|
2022-10-07 23:10:37 +08:00
|
|
|
|
2. 点击左侧的「插件配置」,选择「onebot」插件,完成以下配置:
|
|
|
|
|
- 在「selfId」填写你的 QQ 号
|
|
|
|
|
- 在「password」填写你的密码
|
|
|
|
|
- 在「protocol」选择 `ws-reverse`
|
|
|
|
|
- 开启「gocqhttp.enable」选项
|
|
|
|
|
3. 点击右上角的「启用」按钮
|
|
|
|
|
4. 现在你可以在 QQ 上中使用画图功能了!
|
2022-10-07 17:36:21 +08:00
|
|
|
|
|
|
|
|
|
使用示例:
|
|
|
|
|
|
|
|
|
|
| ![example-0](./public/example-0.jpg) | ![example-1](./public/example-1.jpg) |
|
|
|
|
|
|:-:|:-:|
|
2022-10-07 00:48:30 +08:00
|
|
|
|
|
|
|
|
|
## 使用方法
|
|
|
|
|
|
|
|
|
|
### 绘制图片
|
|
|
|
|
|
|
|
|
|
输入「约稿」+ 关键词进行图片绘制。关键词需要为英文,多个关键词之间用逗号分隔。例如:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
约稿 koishi
|
|
|
|
|
```
|
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
### 切换生成模型
|
2022-10-07 00:48:30 +08:00
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
可以用 `-m` 或 `--model` 切换生成模型,可选值包括:
|
2022-10-07 00:48:30 +08:00
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
- `safe`:较安全的图片
|
|
|
|
|
- `nai`:自由度较高的图片 (默认)
|
|
|
|
|
- `furry`:福瑞控特攻
|
2022-10-07 00:48:30 +08:00
|
|
|
|
|
|
|
|
|
```
|
2022-10-07 00:54:05 +08:00
|
|
|
|
约稿 -m furry koishi
|
2022-10-07 00:48:30 +08:00
|
|
|
|
```
|
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
### 更改图片方向
|
2022-10-07 00:48:30 +08:00
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
可以用 `-o` 或 `--orient` 更改图片方向,可选值包括:
|
2022-10-07 00:48:30 +08:00
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
- `portrait`:768×512 (默认)
|
|
|
|
|
- `square`:640×640
|
|
|
|
|
- `landscape`:512×768
|
2022-10-07 00:48:30 +08:00
|
|
|
|
|
|
|
|
|
```
|
2022-10-07 00:54:05 +08:00
|
|
|
|
约稿 -o landscape koishi
|
2022-10-07 00:48:30 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 设置采样器
|
|
|
|
|
|
|
|
|
|
可以用 `-s` 或 `--sampler` 设置采样器,可选值包括:
|
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
- `k_euler_ancestral` (默认)
|
2022-10-07 00:48:30 +08:00
|
|
|
|
- `k_euler`
|
|
|
|
|
- `k_lms`
|
|
|
|
|
- `plms`
|
|
|
|
|
- `ddim`
|
|
|
|
|
|
|
|
|
|
一般推荐使用 `k_euler_ancestral`,具体有啥区别我也不知道 (欢迎在 issue 中讨论)。
|
|
|
|
|
|
|
|
|
|
### 调整影响因子
|
|
|
|
|
|
|
|
|
|
使用半角方括号 `[]` 包裹关键词以弱化该关键词的影响,使用半角花括号 `{}` 包裹关键词以强化该关键词的影响。例如:
|
|
|
|
|
|
|
|
|
|
```
|
2022-10-07 17:11:44 +08:00
|
|
|
|
约稿 [tears], {spread legs}
|
2022-10-07 00:48:30 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 要素混合
|
|
|
|
|
|
|
|
|
|
使用 `|` 分隔多个关键词以混合多个要素。例如:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
约稿 cat | frog
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
你将得到一只缝合怪 (字面意义上)。
|
2022-10-07 00:54:05 +08:00
|
|
|
|
|
|
|
|
|
## 配置项
|
|
|
|
|
|
|
|
|
|
### token
|
|
|
|
|
|
|
|
|
|
- 类型:`string`
|
|
|
|
|
|
|
|
|
|
授权令牌 (必填)。获取方式如下:
|
|
|
|
|
|
|
|
|
|
1. 在网页中登录你的 NovelAI 账号
|
|
|
|
|
2. 打开控制台 (F12),并切换到控制台 (Console) 标签页
|
|
|
|
|
3. 输入下面的代码并按下回车运行
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
console.log(JSON.parse(localStorage.session).auth_token)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
4. 输出的字符串就是你的授权令牌
|
|
|
|
|
|
|
|
|
|
### model
|
|
|
|
|
|
|
|
|
|
- 类型:`'safe' | 'nai' | 'furry'`
|
|
|
|
|
- 默认值:`'nai'`
|
|
|
|
|
|
|
|
|
|
默认的生成模型。
|
|
|
|
|
|
|
|
|
|
### orient
|
|
|
|
|
|
|
|
|
|
- 类型:`'portrait' | 'square' | 'landscape'`
|
|
|
|
|
- 默认值:`'portrait'`
|
|
|
|
|
|
|
|
|
|
默认的图片方向。
|
|
|
|
|
|
|
|
|
|
### sampler
|
|
|
|
|
|
|
|
|
|
- 类型:`'k_euler_ancestral' | 'k_euler' | 'k_lms' | 'plms' | 'ddim'`
|
|
|
|
|
- 默认值:`'k_euler_ancestral'`
|
|
|
|
|
|
2022-10-07 14:56:20 +08:00
|
|
|
|
默认的采样器。
|
|
|
|
|
|
|
|
|
|
### anatomy
|
|
|
|
|
|
|
|
|
|
- 类型:`boolean`
|
|
|
|
|
- 默认值:`true`
|
|
|
|
|
|
|
|
|
|
默认情况下是否过滤不良构图。
|
|
|
|
|
|
|
|
|
|
### forbidden
|
|
|
|
|
|
|
|
|
|
- 类型:`string`
|
|
|
|
|
- 默认值:`''`
|
|
|
|
|
|
|
|
|
|
违禁词列表。含有违禁词的请求将被拒绝。
|
|
|
|
|
|
2022-10-07 17:09:15 +08:00
|
|
|
|
### endpoint
|
|
|
|
|
|
|
|
|
|
- 类型:`string`
|
2022-10-07 20:56:50 +08:00
|
|
|
|
- 默认值:`'https://api.novelai.net'`
|
2022-10-07 17:09:15 +08:00
|
|
|
|
|
|
|
|
|
API 服务器地址。如果你通过泄露的模型搭建了私服,可以将此项设置为你的服务器地址。
|
|
|
|
|
|
2022-10-07 00:54:05 +08:00
|
|
|
|
### requestTimeout
|
|
|
|
|
|
|
|
|
|
- 类型:`number`
|
|
|
|
|
- 默认值:`30000`
|
|
|
|
|
|
|
|
|
|
当请求超过这个时间时会中止并提示超时。
|
|
|
|
|
|
|
|
|
|
### recallTimeout
|
|
|
|
|
|
|
|
|
|
- 类型:`number`
|
|
|
|
|
- 默认值:`0`
|
|
|
|
|
|
|
|
|
|
图片发送后自动撤回的时间 (设置为 `0` 禁用此功能)。
|