project
Dify-Plus - An enterprise-level enhanced version project based on Dify.
Dify-Plus is an enterprise-level enhanced version of Dify, integrating a management center based on gin-vue-admin. Dify-Plus adds features such as user quotas, key quotas, and web public page login to Dify...
What is Dify-Plus?
Dify-Plus is an enterprise-level enhanced version of Dify, integrating a management center based on gin-vue-admin. Dify-Plus adds features such as user quotas, key quotas, web public page login authentication, and an application center, while optimizing permission management, making it suitable for enterprise scenarios. The Dify-Plus project is open source, addressing industry pain points and is suitable for users who need granular resource management in enterprise environments.
Main functions of Dify-Plus
- User quota management:
- Conversation balance limitLimit the number of times a user can use a conversation.
- Asynchronous calculation of user credit limitThe background asynchronous processing logic for calculating user credit limits.
- Credit limit displayThe user's spending limit is displayed in the upper left corner of the interface.
- Personal monitoring pageUsers can view their credit limit usage.
- Key Management:
- Key limit settingsLimit the balance of application API calls.
- Key usage analysisProvides analysis and reports on key usage.
- Monthly key quota cost: Monthly usage fee for the statistical key.
- Safety Management:
- Web public page login authenticationEnsure that only authorized users can access it.
- Authentication CookieSupports secure Cookie authentication mechanisms.
- Application Management:
- Application Center PageCentralized management of all applications.
- Application usage count recordRecord the number of times each application is used, and sort them by the number of times it is used.
- Synchronize application to template centerAdministrators can synchronize applications to the template center.
- Management Center:
- User synchronizationSynchronize user information to the management center.
- Model Synchronization WorkspaceSynchronize the model to the workspace.
- User credit limit modificationAdministrator modifies user credit limits.
- Expense ReportGenerate expense reports to facilitate financial management and analysis.
- Access Management:
- Permission adjustmentRegular members cannot close the model, and non-administrators cannot view the key.
- Optimize CSV encoding monitoringFixed the issue of batch requests, now supports downloading, saving, and then uploading on Windows.
- Markdown Image Enlargement OptimizationImprove user experience.
The technical principles of Dify-Plus
- Administration center based on gin-vue-admin:
- front endBuilt on Vue.js, it provides a modern user interface and a great user experience.
- rear endThe Gin framework in Go is used to build high-performance backend services.
- JWT CertificationUser authentication and authorization are implemented based on JSON Web Tokens (JWT), ensuring system security.
- Integration with DifyIt interacts with Dify via a RESTful API to extend functionality. It synchronizes user, model, and application data to ensure data consistency between the management center and Dify.
- Asynchronous processingUse asynchronous tasks to handle time-consuming operations such as user credit limit calculation, thereby improving system performance.
Dify-Plus project address
- GitHub repository:https://github.com/YFGaia/dify-plus
Application scenarios of Dify-Plus
- Enterprise Resource ManagementBased on user quota and key quota management, resources are allocated reasonably to avoid abuse.
- Application Development and ManagementCentralized application management, supporting application synchronization to the template center for easy reuse.
- Safety ManagementProvides web login authentication and a secure cookie authentication mechanism to ensure secure access.
- Data Analysis and ReportingGenerate expense reports and key usage analysis to help businesses optimize costs and operations.
- Team collaboration and access controlAssign permissions based on roles, synchronize user information, and facilitate team collaboration.