π Introducing Dify Plugins π
We are glad to share that we're launching Dify v1.0.0.
Plugins are modular components that extend AI applications with plug-and-play simplicity. Now you can assemble external services and custom functionalities with your Dify apps effortlessly.
What's new
- We've developed a plugin system, a standard for Dify that lets users create plugins with the suffix .difypkg. By installing different plugin packages, you can add various capabilities to Dify.
- Through this system, we've decoupled tools and models that can be expanded from Dify, enabling you to install them in a truly plug-and-play manner.
- We've introduced a new Agent node in Workflow, where the agent's behavior can now be defined by plugins. This means Dify is no longer limited to built-in strategies like CoT; you can define your own agent strategies.
- We've also introduced a new type of plugin called Extension, which is a custom service hosted within Dify. You can customize this service's code through plugins to handle external Webhook events.
- We've launched the Dify Marketplace, a centralized platform where plugins can be freely shared, allowing users to publish and download different plugins.
Docker Deployment
v1.0.0 supports Docker compose deployment. You can start Dify using the following commands:
git checkout 1.0.0
cd ./docker
docker compose -f docker-compose.yaml up -d
Plugin Migration
- !! Note, if you are upgrading from an older version to v1.0.0, you need to execute some basic migration steps.
The first step in upgrading to v1.0.0 is to install the tools and models used in your current environment into the new plugin environment, ensuring plugin installation is completed before database migration, run the following command:
poetry run flask extract-plugins --workers=20
This command extracts all models and tools used in the current environment. The workers parameter determines the number of parallel processes during extraction; adjust it according to your needs.
The final result will be saved in the plugins.jsonl file, which contains the plugin information for all workspaces in the current Dify instance.
Ensure your network is functioning properly and can access https://marketplace.dify.ai, then run the following command:
poetry run flask install-plugins --workers=2
This command will download and install all necessary plugins into the latest environment.
Database Migration
After completing the basic plugin installation process, follow the standard Dify upgrade procedure to update the database schema to the latest version.
poetry run flask db upgrade
Dify v1.0 includes compatibility for old data. You should be able to operate normally, but for better future compatibility, run the following data migration command once you're sure you won't revert to an older version:
poetry run flask migrate-data-for-plugin
This command will prefix existing model and tool vendors in the database with langgenius, such as converting openai to langgenius/openai/openai. This operation may affect the functioning of the older Dify version, so back up your database before running this command to prevent unwanted issues.
Chore Changes From v0.15.3
π New Features & Enhancements
- Pan & Zoom: The MiniMap now comes equipped with pan and zoom support thanks to @KatyTao.
- Unified Reasoning Model: Standardized the think tag with
<think></think>
by @junjiem for enhanced compatibility. - Docker SSRF Settings: Fine-tuned SSRF-related timeout settings in Docker by @gubinjie.
- HNSW Vector Index: Now available for TiDB vector store with TiFlash, optimizing how you handle large datasets by @bowenliang123.
- Efficient Retrieval Service: Weβve doubled down on efficiency, making data retrieval lightning fast by @charli117.
π οΈ Performance Optimizations & Bug Fixes
- Logical Optimization: Integration of short-circuit evaluation to optimize logical conditions by @llinvokerl.
- SQL Queries Reduction: Improved message loading speeds while slicing SQL queries by @hundredwz.
- Streamlined Workflow: Simplified the workflow by @jiangbo721.
π New Contributors
A warm welcome to our new contributors! Theyβve made their first contributions to our project:
- @KatyTao made their first contribution in #13382
- @h4ckdepy made their first contribution in #13376
- @HuChundong made their first contribution in #13175
- @junjiem made their first contribution in #13392
- @takatea made their first contribution in #13399
- @Wu-Jiayang made their first contribution in #7955
- @AugNSo made their first contribution in #12902
- @vasu-negi made their first contribution in #13571
- @hundredwz made their first contribution in #13720
- @stonexer made their first contribution in #13988
- @mobiusy made their first contribution in #13854
- @ramen2020 made their first contribution in #14026
- @daonatural made their first contribution in #13617
- @w4-jinhyeonkim made their first contribution in #14075
- @radiumce made their first contribution in #14100
- @VinceOPS made their first contribution in #14180
- @StrayDragon made their first contribution in #14243
- @MLeft made their first contribution in #14216
- @WustLCQ made their first contribution in #14309
- @xlight made their first contribution in #14316
- @auxpd made their first contribution in #14361
- @yuhaowin made their first contribution in #14219
- @QuantumGhost made their first contribution in #14476
- @n2em made their first contribution in #13980
- @Jiakaic made their first contribution in #14524
Full Changelog: For a comprehensive overview of all changes, check out the full changelog here.
Thanks for being a part of our journey, your contributions and support make this project better with every release! π
π Welcome to Dify v1.0.0! π
Hey Dify community! Itβs been a wild ride, but here we are at v1.0.0! First and foremost, a massive shoutout to every contributor, both new and veteran. Your hard work has brought us to this major milestone. π Now, letβs dive into the highlights of this landmark release.
π A Warm Welcome to New Contributors
Weβre ecstatic to welcome so many new names contributing to our project! Your initiatives have enriched this ecosystem. Whether it was translating i18n files, squashing bugs, refining algorithms, or anything in between β you made a difference.
π Full Changelog
Missed the nitty-gritty? You can find the complete list of changes from 0.15.3 to 1.0.0 here.
With Dify hitting v1.0.0, our commitment to providing open-source LLMOps solutions continues stronger than ever. Hereβs to many more releases filled with innovation and community spirit! Cheers! π₯