发布与安装
插件包构建
打包工具
ToolBank 提供内置的"制作插件包"功能,可将 DLL 和资源打包为标准插件包。
操作步骤
- 打开 插件管理器 → 点击 "发布插件"
- 在弹出窗口中填写信息:
| 字段 | 说明 | 示例 |
|---|---|---|
| 插件输出目录 | DLL 所在目录 | D:\Build\Plugin.MyPlugin\Release |
| 入口 DLL | 主 DLL 文件名 | Plugin.MyPlugin.dll |
| 插件 ID | 唯一标识 | Plugin.MyPlugin |
| 显示名 | 用户可见名称 | 我的插件 |
| 版本号 | 语义化版本 | 1.0.0 |
| 厂商 | 开发者/公司 | YourCompany |
| 说明 | 功能描述 | 自定义图像处理算子 |
- 点击 "导出" 生成 ZIP 包
插件包结构
Plugin.MyPlugin_1.0.0.zip
├── Plugin.MyPlugin.dll # 入口 DLL
├── 依赖文件.dll # 依赖库
├── manifest.json # 描述文件
└── Resource/ # 资源文件(可选)
└── icon.png
manifest.json 自动生成
{
"plugin_id": "Plugin.MyPlugin",
"display_name": "我的插件",
"version": "1.0.0",
"vendor": "YourCompany",
"description": "自定义图像处理算子",
"entry_dll": "Plugin.MyPlugin.dll",
"author": "Developer",
"created_at": "2026-07-28T12:00:00"
}
插件安装
本地安装
- 打开 插件管理器 → 点击 "安装插件包"
- 选择
.zip格式的插件包 - 等待安装完成
在线安装
- 在 在线插件市场 中搜索插件
- 选择需要的插件版本
- 点击 "在线安装" 按钮
插件目录结构
ToolBank/
├── Plugins/
│ ├── Plugin.CV/
│ │ ├── 1.0.0/
│ │ │ └── Plugin.CV.dll
│ │ └── 1.0.6/
│ │ └── Plugin.CV.dll
│ ├── Plugin.DL/
│ │ └── 2.0.0/
│ │ └── Plugin.DL.dll
│ └── Plugin.MyPlugin/
│ └── 1.0.0/
│ └── Plugin.MyPlugin.dll
└── plugins.lock.json # 版本锁定文件
版本管理
启用/禁用版本
在插件管理器的 版本详情 区域:
- 勾选 "启用" 列的复选框
- 每个插件只能启用一个版本
删除版本
- 选择插件和版本
- 点击 "删除所选版本"
重载插件
点击 "重载插件" 按钮,重新扫描并加载所有已安装插件。
插件发布
发布到插件市场
- 在 插件管理器 点击 "发布插件"
- 先登录插件市场账号
- 选择要发布的 ZIP 包
- 填写发布说明
- 点击发布
发布 API
POST /api/packages/publish
Content-Type: multipart/form-data
file: <zip文件>
api_key: <用户API密钥>
release_notes: <发布说明>
发布响应
{
"success": true,
"message": "发布成功",
"packageId": "Plugin.MyPlugin",
"version": "1.0.0"
}
版本兼容检查
发布时系统会检查:
min_host_version- 主程序最低版本min_toolbase_version- ToolBase 最低版本
确保插件在兼容的环境中运行。
插件市场 API
搜索插件
GET /api/packages/search?keyword=图像&page=1&page_size=50
响应示例
{
"packages": [
{
"package_id": "Plugin.CV",
"display_name": "计算机视觉插件",
"latest_version": "1.0.6",
"author": "ToolBank",
"downloads": 1234,
"rating": 4.8,
"description": "提供图像处理和分析工具"
}
]
}
获取插件详情
GET /api/packages/{packageId}
下载插件
GET /api/packages/{packageId}/versions/{version}/download
用户认证
注册
POST /api/user/register
Content-Type: application/json
{
"username": "developer",
"email": "dev@example.com",
"password": "secret"
}
登录
POST /api/user/login
Content-Type: application/json
{
"email": "dev@example.com",
"password": "secret"
}
Token 使用
后续请求在 Header 中携带 API Key:
X-API-Key: <api_key>
安装故障排除
| 问题 | 原因 | 解决方案 |
|---|---|---|
| DLL 加载失败 | 缺少依赖 | 使用 Dependencies 工具检查依赖 |
| 版本不兼容 | 主程序版本过低 | 升级主程序或使用兼容版本 |
| 权限不足 | 目录无写入权限 | 以管理员身份运行 |
| manifest 缺失 | 包结构错误 | 重新打包,确保包含 manifest.json |
| 算子注册失败 | DLL 导出函数缺失 | 检查 ExportDll 实现 |
最佳实践
版本号规范
遵循语义化版本规范:
1.0.0- 主版本.次版本.修订号- 重大变更升级主版本号
- 新增功能升级次版本号
- Bug 修复升级修订号
插件命名规范
Plugin.<功能域>
示例:
Plugin.CV- Computer VisionPlugin.DL- Deep LearningPlugin.Finance- FinancePlugin.Robot- Robotics
文档要求
每个插件应包含:
- README - 插件说明和使用方法
- API 文档 - 算子输入输出参数说明
- 示例程序 - 典型应用场景演示
- 版本历史 - 变更日志