Shirobot.Plugin.ImageGen 基于 Shirobot 的图片生成插件项目。
- 使用
#gen <提示词>生成图片 - 支持同一条消息带图进行图生图
- 支持回复含图片的消息后发送
#gen <提示词>进行图生图 - 支持群消息 reaction 显示任务进度
- 生成完成后回复原消息并发送完整图片
- 原
#gen消息被撤回时取消本地等待和后续发送
推荐目录结构:
./RiderProjects/Shirobot.Plugin.ImageGen./RiderProjects/Shirobot
如果你的本地仓库布局不同,还需要修改 csproj 里的这些属性:
HostProjectRootHostExeHostPluginDirProjectReference Include="C:\Users\JustMe\RiderProjects\ShiroBot\ShiroBot.SDK\ShiroBot.SDK.csproj"
其中:
HostExe需要指向你本机实际使用的ShiroBot.exeHostPluginDir需要指向你本机实际使用的插件输出目录,通常是ShiroBot.exe所在目录下的plugins\Shirobot.Plugin.ImageGen\
开发流程:
- 打开项目
Shirobot.Plugin.ImageGen/Shirobot.Plugin.ImageGen.csproj - 修改插件代码或
Assets/config.toml - 执行
dotnet build - Debug 构建后插件会自动复制到
ShiroBot的插件目录 - 启动
ShiroBot.exe进行调试
如果 ShiroBot.exe 正在运行,构建后的复制步骤可能会因为 DLL 被占用而失败。这种情况下先停止宿主,再重新构建。
默认配置文件:
Shirobot.Plugin.ImageGen/Assets/config.toml
主要配置:
enabled = true
api_base_url = "http://127.0.0.1:3000"
api_key = "chatgpt2api"
model = "gpt-image-2"
size = ""
request_timeout_seconds = 180
task_poll_interval_seconds = 2
max_prompt_length = 2000
enable_image_edits = true说明:
api_base_url指向chatgpt2api-main后端地址api_key会以Authorization: Bearer <api_key>发送model默认使用gpt-image-2size可选,例如1:1、16:9、9:16、4:3、3:4enable_image_edits控制是否启用图生图
文生图:
#gen 一只坐在窗边看雨的白猫,电影感光影
同一条消息带图进行图生图:
#gen 把这张图改成赛博朋克夜景风格
回复含图片消息进行图生图:
#gen 保持人物姿势,改成日系动画风格
插件对接 chatgpt2api-main 的图片任务接口:
- 文生图:
POST /api/image-tasks/generations - 图生图:
POST /api/image-tasks/edits - 轮询任务:
GET /api/image-tasks?ids=<client_task_id>
后端返回图片 URL 时,插件会先下载图片并转换为 base64://...,再发送给 ShiroBot,避免平台无法访问本地 URL。
运行本项目需要使用 Shirobot。
下载 Shirobot 后,将本项目构建产物放到其 plugins/Shirobot.Plugin.ImageGen/ 目录下即可加载。
This project is licensed under the MIT License. See LICENSE for details.