Files
dify-docs/en/plugins/quick-start/develop-plugins/bundle.mdx
2025-07-16 16:42:34 +08:00

111 lines
3.9 KiB
Plaintext

---
title: Bundle
---
{/*
CONTRIBUTOR NOTE:
----------------
This is a legacy document that is being deprecated.
Please DO NOT make changes to this version.
All updates should be directed to the new version at:
/plugin-dev-en/9241-bundle
*/}
<Card title="This Documentation is Being Deprecated" icon="circle-exclamation" href="/plugin-dev-en/9241-bundle">
<p>This page is being phased out as part of our documentation reorganization.</p>
<p><strong>Click this card</strong> to be redirected to the updated version with the most current information.</p>
<p>If you notice any discrepancies or areas needing improvement in the new documentation, please use the "Report an issue" button at the bottom of the page.</p>
</Card>
A Bundle plugin package is a collection of multiple plugins. It can package multiple plugins into one plugin to achieve batch installation effects while providing more powerful services.
You can package multiple plugins into a Bundle using the Dify CLI tool. Bundle plugin packages offer three types:
* `Marketplace` type: Stores plugin IDs and version information. During import, specific plugin packages are downloaded through the Dify Marketplace.
* `GitHub` type: Stores GitHub repository address, release version number, and asset filename. During import, Dify accesses the corresponding GitHub repository to download plugin packages.
* `Package` type: Plugin packages are stored directly in the Bundle. It doesn't store reference sources but may cause large Bundle package sizes.
### **Prerequisites**
* Dify plugin scaffolding tool
* Python environment, version ≥ 3.11;
For detailed instructions on preparing the plugin development scaffolding tool, please refer to [Initializing Development Tools](initialize-development-tools).
### **Create Bundle Project**
In the current path, run the scaffolding command-line tool to create a new plugin package project:
```bash
./dify-plugin-darwin-arm64 bundle init
```
#### **1. Enter Plugin Information**
Follow the prompts to configure plugin name, author information, and plugin description. If you're working in a team, you can also enter an organization name as the author.
> The name must be 1-128 characters long and can only contain letters, numbers, hyphens, and underscores.
![Bundle basic informatio](https://assets-docs.dify.ai/2024/12/03a1c4cdc72213f09523eb1b40832279.png)
Fill in the information and hit enter, the Bundle plugin project directory will be created automatically.
![](https://assets-docs.dify.ai/2024/12/356d1a8201fac3759bf01ee64e79a52b.png)
#### **2. Add Dependencies**
* **Marketplace**
Execute the following command:
```bash
dify-plugin bundle append marketplace . --marketplace_pattern=langgenius/openai:0.0.1
```
Where marketplace\_pattern is the plugin reference in the marketplace, format: organization-name/plugin-name:version
* **Github**
Execute the following command:
```bash
dify-plugin bundle append github . --repo_pattern=langgenius/openai:0.0.1/openai.difypkg
```
Where repo\_pattern is the plugin reference in github, format: `organization-name/repository-name:release/attachment-name`
* **Package**
Execute the following command:
```bash
dify-plugin bundle append package . --package_path=./openai.difypkg
```
Where package\_path is the plugin package directory.
### **Package Bundle Project**
Run the following command to package the Bundle plugin:
```bash
dify-plugin bundle package ./bundle
```
After executing the command, a bundle.difybndl file will be automatically created in the current directory, which is the final packaging result.
{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}
---
[Edit this page](https://github.com/langgenius/dify-docs/edit/main/en/plugins/quick-start/develop-plugins/bundle.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)