feat: 插件系统完整实现 v0.22.0

- 实现插件安装器 (URL/本地/GitHub 安装)
- 实现插件 UI 渲染系统
- 支持 builtin 类型插件 (内置 React 组件)
- 支持 binary 类型插件 (外部二进制)
- MachineIdTool 迁移为插件
- 工具箱页面动态加载插件工具
- 推荐插件一键安装功能
- 插件卸载功能
- Release workflow 自动打包插件
This commit is contained in:
coso
2025-12-30 00:47:26 +08:00
parent a7b2a38d7a
commit 303db47193
68 changed files with 11579 additions and 93 deletions
+37
View File
@@ -15,6 +15,24 @@ permissions:
contents: write
jobs:
# 打包插件
package-plugins:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Package machine-id-tool plugin
run: |
cd plugins
zip -j machine-id-tool.zip machine-id-tool/plugin.json machine-id-tool/config.json
- name: Upload plugin artifact
uses: actions/upload-artifact@v4
with:
name: plugins
path: plugins/*.zip
build:
strategy:
fail-fast: false
@@ -102,3 +120,22 @@ jobs:
releaseDraft: false
prerelease: false
args: --target ${{ matrix.target }}
# 上传插件到 Release
upload-plugins:
needs: [build, package-plugins]
runs-on: ubuntu-latest
steps:
- name: Download plugin artifacts
uses: actions/download-artifact@v4
with:
name: plugins
path: plugins
- name: Upload plugins to release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.inputs.version || github.ref_name }}
files: plugins/*.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}