插件分享
约 1121 字大约 4 分钟
想要将插件与他人分享,您必须为此创建一个公开的 GitHub 仓库
后端
插件仓库命名规则
插件名 == 仓库名 -> ai == ai
插件总是独一无二的,不允许安装同名插件,所以在对插件进行命名时,应尽量保持其独特性
创建插件 GitHub 仓库
推荐通过 fba_plugin_template 创建。模板仓库内当前没有实质性内容,只是为了能够更好的将插件与 fba 关联起来

上传代码
将在 fba 中开发好的所有插件代码提交到刚刚创建的插件 GitHub 仓库中
重要
应拷贝插件目录中的所有文件,而不是拷贝插件目录
前端
插件仓库命名规则
插件名 == 仓库名_ui->ai == ai_ui插件名 == 仓库名-ui->ai-chat == ai-chat-ui
为了更好的与后端插件进行区分,必须为前端插件仓库名添加 _ui 或 -ui 后缀
插件总是独一无二的,不允许安装同名插件,所以在对插件进行命名时,应尽量保持其独特性
创建个人插件仓库
推荐通过 fba_ui_plugin_template 创建,原因与后端相同
上传代码
将在 前端工程 中开发好的所有插件代码提交到刚刚创建的插件 GitHub 仓库中
重要
应拷贝插件目录中的所有文件,而不是拷贝插件目录
发布前检查
在发布插件之前,请确认插件满足以下要求:
- 插件仓库为公开仓库
- 插件仓库命名符合当前文档中的命名规则
- 后端插件根目录包含
plugin.toml、README.md、__init__.py - 前端插件根目录包含
plugin.toml plugin.toml中的插件信息完整,版本号符合x.y.ztags、database、depends_on等字段符合 插件开发 文档要求- 如果插件包含模型,应提供对应数据库的初始化和销毁 SQL
README.md应说明配置、使用方式、卸载方式和反馈方式- 插件不应静默修改主项目核心文件
发布插件
要想发布插件,你需要为 fba 插件仓库创建一个 PR
fba 团队会根据发布前检查项和插件实际用途进行审核,通过后插件才会进入 插件市场
提示
插件总是独一无二的,如果插件名已存在,那你只能选择为即将发布的插件换个新名字
Fork 仓库
进入 fba 插件 GitHub 仓库,将仓库 fork 到个人账户
克隆仓库
# 将地址替换为上面 fork 的仓库地址 git clone https://github.com/your-username/plugins.git创建分支
# 注意替换 add-your-plugin-branch git checkout -b add-your-plugin-branch扩展子模块
# 注意替换 your-username、your-plugin-name # 后端插件:plugins/your-plugin-name # 前端插件:plugins/your-plugin-name-ui 或 plugins/your_plugin_name_ui git submodule add https://github.com/your-username/your-plugin-name.git plugins/your-plugin-name git add plugins/your-plugin-name注意
所有扩展子模块必须使用 HTTPS URL,而不是 SSH URL(git@github.com)
提交和推送
# 注意替换 your-plugin-name git commit -m "Add your-plugin-name plugin"# 注意替换 add-your-plugin-branch git push --set-upstream origin add-your-plugin-branchPR
通过 GitHub 创建 PR
合并
fba 团队将尽快完成检查,一旦您的 PR 合并,插件将被发布到 插件市场
更新插件
要想更新插件,你需要为 fba 插件 GitHub 仓库创建一个 PR
执行与发布相同的步骤,并更新以下行为:
更新步骤 4 中的命令
git submodule update --remote plugins/your-plugin-name git add plugins/your-plugin-name更新步骤 5 中的提交信息,现在已不再是新增,而是更新
相关信息
如果你想自动执行此过程,可以使用 GitHub Action
维护责任
插件市场用于帮助用户发现和安装插件,但插件的维护责任由插件作者或插件所属组织承担
- 官方维护的插件由 fba 团队或 fastapi-practices 组织维护
- 社区插件由插件作者维护
- 插件长期无人维护、存在明显风险或不再兼容当前版本时,可能被标记、移除或建议替代方案
- 插件问题应优先反馈到对应插件仓库
- 与主项目插件机制相关的问题,可以反馈到 fba 主项目

