koishi-plugin-chatluna-jmcomic
v0.0.16
Published
为 ChatLuna 提供 JMComic 搜索、分类浏览和整本下载 PDF/ZIP 工具的 Koishi 插件。
Maintainers
Readme
koishi-plugin-chatluna-jmcomic
为 ChatLuna 提供 JMComic 搜索、分类浏览、详情、整本下载 PDF/ZIP 的 Koishi 插件。
功能
jmcomic_search:按关键词搜索 JMComic 本子。jmcomic_browse:按分类、时间范围和排序方式浏览 JMComic 本子。jmcomic_info:查询指定本子的详情信息。jmcomic_download:下载一个或多个整本内容并生成 PDF 或 ZIP 文件。
说明
- 插件为纯 Koishi 实现,不需要额外部署 Python 后端。
- PDF 和 ZIP 均支持可选密码。
- 下载通过任务队列处理,工具会等待任务完成后返回最终成功或失败结果。
jmcomic_download支持传入单个albumId,也支持传入albumIds一次性提交多个本子下载任务。- 批量下载会等待全部本子下载结束后一次性返回结果列表。
配置建议
- 需要让模型回复文件链接时,将
fileMethod设置为url,并配置publicBaseUrl。 - 大文件发送失败时,可将
fileMethod设置为file。 - Docker 部署且使用
fileMethod=file时,需要把 Koishi 的数据目录也映射给 OneBot/NapCat,并保持容器内路径一致。否则 OneBot/NapCat 读不到/koishi/data/...下的下载文件,可能返回upload_group_file的1200错误。 - 如果不方便共享目录,保持默认的
fileMethod=buffer,它不需要 OneBot/NapCat 访问 Koishi 数据目录。 - 默认会保留缓存,并按
fileExpireHours自动清理过期下载文件。服务器磁盘空间较小时,可缩短fileExpireHours或关闭cache。 - Docker 部署时,磁盘空间检查会读取 Koishi 容器内下载目录所在文件系统的可用空间;如果数据目录挂载到宿主机目录或 Docker volume,检查结果对应这个挂载点。
- 并发参数不要盲目调高,过高可能导致网络请求失败、内存占用升高或触发站点限制。
参考项目
本项目实现 JMComic 接口、图片解码和下载流程时参考了以下项目:
