Breeze 插件开发入门 JavaScript 编写漫画源插件 快速上手思路
重要声明
Breeze 官方明确标注插件功能目前处于 Beta 阶段,插件接口和运行机制可能随版本迭代发生破坏性变更。当前不建议基于此做正式的商业化插件,但适合:
- 学习 Flutter 应用的插件化架构设计
- 为自己常用但还没有插件的漫画源写一个
- 贡献到社区索引仓库
开发资源
- 插件开发文档:deretame.github.io/plugin-dev-docs(官方维护,详细 API 参考)
- 示例仓库:deretame/Breeze-plugin-* 系列插件源码都可以参考
- JS 引擎:rustqjs(QuickJS 绑定 Rust)
- manifest.json:每个插件必须包含,声明版本、入口、权限等元数据
插件基本结构
一个最小可用的 Breeze 插件通常包含:
manifest.json— 插件元数据(名称、版本、作者、入口文件路径)index.js— 插件逻辑入口(实现 Breeze 定义的一组接口)
manifest.json 关键字段
name: 插件显示名称
version: 语义化版本号
author: 作者 GitHub 用户名
description: 简短描述
updateUrl: 更新地址(GitHub releases API)
entry: 入口 JS 文件路径
核心接口
插件需要实现的主要接口:
- getHome() — 返回首页榜单/分类数据
- search(query) — 按关键词搜索漫画列表
- getComicInfo(id) — 返回漫画详情(封面、作者、分类、简介)
- getChapters(id) — 返回章节目录
- getImages(id, chapterId) — 返回章节图片 URL 数组
- 可选:login / logout / register — 账号相关
- 可选:getComments / sendComment — 评论功能
- 可选:getNotifications — 通知中心
插件仓库命名规范
要让插件被官方索引仓库自动扫描收录,需要满足:
- 仓库名以
Breeze-plugin-开头(如Breeze-plugin-mySource) - 仓库根目录包含有效的
manifest.json - 插件文件通过 Release 发布,且
updateUrl指向 releases API
满足这三个条件后,GitHub Actions 会自动识别并合并到索引列表中。
开发环境搭建
本地调试插件最简单的方式:
- 在电脑上安装 Breeze 桌面端(Windows / macOS / Linux 均可)
- 写好插件文件后,通过插件商店的「本地安装」选项卡导入测试
- 修改代码后重新导入即可覆盖
也可以直接用 VS Code + JavaScript 语法检查插件逻辑,Breeze 内置的 JS 引擎会在运行时做语法校验。
贡献建议
如果你写了一个插件想让更多人用:
- 确保 manifest.json 配置正确
- 提交到自己的 GitHub 仓库(按命名规范)
- 等索引仓库的 GitHub Actions 自动扫描(每小时一次)
- 如果 1 小时后没被收录,可以在 Breeze 项目提 Issue 反馈
注意:插件开发涉及到第三方网站的数据抓取,请确保你的使用行为符合目标网站的服务条款和当地法律法规。
下一章进入书架管理——Breeze 的阅读组织中枢。