# Dify Docs > Dify is an open-source platform for building AI applications. It provides a comprehensive set of tools and features to help you build, deploy, and manage your AI applications. ## Docs - [Step 4: Upload Files](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/knowledge-pipeline/upload-files.md) - [Knowledge Request Rate Limit](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/knowledge-request-rate-limit.md) - [Manage Knowledge](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/manage-knowledge/introduction.md) - [Maintain Knowledge via API](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/manage-knowledge/maintain-dataset-via-api.md) - [Maintain Documents](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/manage-knowledge/maintain-knowledge-documents.md) - [Metadata](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/metadata.md) - [Knowledge](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/readme.md) - [Retrieval Test / Citation and Attributions](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/knowledge/retrieval-test-and-citation.md) - [Dashboard](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/analysis.md): Monitor performance, costs, and user engagement through Dify's built-in analytics dashboard - [Annotation System](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/annotation-reply.md): Build a curated library of high-quality responses to improve consistency and bypass AI generation - [Arize](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/integrations/integrate-arize.md) - [Langfuse](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/integrations/integrate-langfuse.md) - [LangSmith](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/integrations/integrate-langsmith.md) - [Opik](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/integrations/integrate-opik.md) - [Phoenix](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/integrations/integrate-phoenix.md) - [W&B Weave](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/integrations/integrate-weave.md): Dify Cloud | Community version ≥ v1.3.1 - [Logs](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/monitor/logs.md): Monitor real-time conversations, debug issues, and collect user feedback - [Agent](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/agent.md): Give LLMs autonomous control over tools for complex task execution - [Answer](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/answer.md): Define response content in chatflow applications - [Code](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/code.md): Execute custom Python or JavaScript for data processing - [Document Extractor](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/doc-extractor.md): Extract text content from uploaded documents for AI processing - [HTTP Request](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/http-request.md): Connect to external APIs and web services - [If-Else](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/ifelse.md): Add conditional logic and branching to workflows - [Iteration](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/iteration.md): Process arrays by applying workflows to each element - [Knowledge Retrieval](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/knowledge-retrieval.md): Search knowledge bases for relevant information - [List Operator](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/list-operator.md): Filter, sort, and select elements from arrays - [LLM](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/llm.md): Invoke language models for text generation and analysis - [Loop](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/loop.md): Execute repetitive workflows with progressive refinement - [Output](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/output.md): Define workflow outputs and termination points - [Parameter Extractor](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/parameter-extractor.md): Convert natural language to structured data using LLM intelligence - [Question Classifier](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/question-classifier.md): Intelligently categorize user input to route workflow paths - [Template](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/template.md): Transform and format data using Jinja2 templating - [Tools](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/tools.md): Connect to external services and APIs with pre-built integrations - [Trigger](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/trigger/overview.md) - [Plugin Trigger](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/trigger/plugin-trigger.md) - [Schedule Trigger](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/trigger/schedule-trigger.md) - [Webhook Trigger](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/trigger/webhook-trigger.md) - [User Input](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/user-input.md): Entry point for workflow and chatflow applications - [Variable Aggregator](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/variable-aggregator.md): Combine variables from different workflow branches into unified outputs - [Variable Assigner](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/nodes/variable-assigner.md): Manage persistent conversation variables in chatflow applications - [Overview](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/README.md): Get your Dify applications into users' hands with web apps, APIs, embeds, and integrations - [API](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/developing-with-apis.md): Integrate your Dify workflows anywhere - [MCP Server](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/publish-mcp.md): Expose your Dify applications as MCP servers for integration with Claude Desktop, Cursor, and other AI development tools - [Chat Web Apps](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/webapp/chatflow-webapp.md): Turn your chatflow into a fully-featured conversation interface with persistent history and interactive features - [Embedding Your Web App](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/webapp/embedding-in-websites.md): Deploy your published web app on any website through iframes, chat widgets, or custom integrations - [Access Control](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/webapp/web-app-access.md) - [Settings](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/webapp/web-app-settings.md): Configure branding, basic access controls, and user experience settings for your published web applications - [Workflow Web Apps](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/publish/webapp/workflow-webapp.md): Turn your workflows into powerful web applications with batch processing, result management, and streamlined user experiences - [Article Reader Using File Upload](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/tutorials/article-reader.md) - [AI Image Generation App](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/tutorials/build-ai-image-generation-app.md) - [Customer Service Bot With Knowledge Base](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/tutorials/customer-service-bot.md) - [Simple Chatbot](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/tutorials/simple-chatbot.md): Hello World - [Twitter Account Analyzer](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/tutorials/twitter-chatflow.md) - [Manage Apps](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/workspace/app-management.md): Organize, maintain, and share your AI applications with powerful management tools and best practices - [Model Providers](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/workspace/model-providers.md): Configure AI model access for your workspace—the foundation that powers all your applications - [Personal Settings](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/workspace/personal-account-management.md): Manage your profile and preferences across all workspaces - [Plugins](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/workspace/plugins.md): Extend Dify with custom models, tools, and integrations through modular components - [Overview](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/workspace/readme.md): Workspaces are the foundational organizational unit in Dify—everything your team builds, configures, and manages exists within a workspace - [Billing](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/workspace/subscription-management.md): Manage workspace subscriptions and billing to control team size and feature access - [Manage Members](https://dify-6c0370d8-fix-language-redirection.mintlify.app/en/use-dify/workspace/team-members-management.md): Manage workspace members, roles, and permissions to build effective AI teams - [CLI](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0111-cli.md): Command Line Interface for Dify Plugin Development - [Dify Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0111-getting-started-dify-plugin.md) - [Dify Plugin Development Cheatsheet](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0131-cheatsheet.md): A comprehensive reference guide for Dify plugin development, including environment requirements, installation methods, development process, plugin categories and types, common code snippets, and solutions to common issues. Suitable for developers to quickly consult and reference. - [Model Provider Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0222-creating-new-model-provider.md): This comprehensive guide provides detailed instructions on creating model provider plugins, covering project initialization, directory structure organization, model configuration methods, writing provider code, and implementing model integration with detailed examples of core API implementations. - [Data Source Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0222-datasource-plugin.md) - [Add OAuth Support to Your Tool Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0222-tool-oauth.md) - [Tool Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0222-tool-plugin.md): This document provides detailed instructions on how to develop tool plugins for Dify, using Google Search as an example to demonstrate a complete tool plugin development process. The content includes plugin initialization, template selection, tool provider configuration file definition, adding third… - [Trigger Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0222-trigger-plugin.md) - [Plugin Development Guidelines](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0312-contributor-covenant-code-of-conduct.md): To ensure the quality of all plugins in the Dify Marketplace and provide a consistent, high-quality experience for Dify Marketplace users, you must adhere to all requirements outlined in these Plugin Development Guidelines when submitting a plugin for review. By submitting a plugin, **you acknowledg… - [Plugin Privacy Policy Guidelines](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0312-privacy-protection-guidelines.md): This document describes guidelines for developers on how to write a privacy policy when submitting plugins to the Dify Marketplace. It includes how to identify and list the types of personal data collected (direct identification information, indirect identification information, combined information)… - [Signing Plugins for Third-Party Signature Verification](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0312-third-party-signature-verification.md): This document describes how to enable and use the third-party signature verification feature in the Dify Community Edition, including key pair generation, plugin signing and verification, and environment configuration steps, enabling administrators to securely install plugins not available on the Di… - [Automatically Publish Plugins via PR](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0321-plugin-auto-publish-pr.md): This document describes how to automate the release process of Dify plugins using GitHub Actions, including configuration steps, parameter descriptions, and usage methods, helping plugin developers streamline the release process without manual intervention. - [Publishing Plugins](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0321-release-overview.md): This document introduces three ways to publish Dify plugins - official Marketplace, open-source GitHub repository, and local plugin file package. It details the characteristics, publishing process, and applicable scenarios for each method, and provides specific publishing recommendations to meet the… - [Package as Local File and Share](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0322-release-by-file.md): This document provides detailed steps on how to package a Dify plugin project as a local file and share it with others. It covers the preparation work before packaging a plugin, using the Dify plugin development tool to execute packaging commands, how to install the generated .difypkg file, and how… - [Publish to Dify Marketplace](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0322-release-to-dify-marketplace.md): This guide provides detailed instructions on the complete process of publishing plugins to the Dify Marketplace, including submitting PRs, the review process, post-release maintenance, and other key steps and considerations. - [Publish to Individual GitHub Repository](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0322-release-to-individual-github-repo.md): This document provides detailed instructions on how to publish Dify plugins to a personal GitHub repository, including preparation work, initializing a local plugin repository, connecting to a remote repository, uploading plugin files, packaging plugin code, and the complete process of installing pl… - [Frequently Asked Questions](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0331-faq.md): This document answers common questions about Dify plugin development and installation, including how to resolve plugin upload failures (by modifying the author field) and how to handle verification exceptions during plugin installation (by setting the FORCE_VERIFYING_SIGNATURE environment variable). - [General Specs](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0411-general-specifications.md): This article will briefly introduce common structures in plugin development. During development, it is strongly recommended to read this alongside [Basic Concepts of Plugin Development](/plugin-dev-en/0111-getting-started-dify-plugin) and the [Developer Cheatsheet](/plugin-dev-en/0111-cli) for a bet… - [Model Specs](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0411-model-designing-rules.md): This document defines in detail the core concepts and structures for Dify model plugin development, including model providers (Provider), AI model entities (AIModelEntity), model types (ModelType), configuration methods (ConfigurateMethod), model features (ModelFeature), parameter rules (ParameterRu… - [Multilingual README](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0411-multilingual-readme.md): This article introduces the file specifications for Dify plugins' multilingual READMEs and their display rule in Dify Marketplace. - [Persistent Storage](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0411-persistent-storage-kv.md): Learn how to implement persistent storage in your Dify plugins using the built-in key-value database to maintain state across interactions. - [Manifest](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0411-plugin-info-by-manifest.md) - [Tool Return](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0411-tool.md): This document provides a detailed introduction to the data structure and usage of Tools in Dify plugins. It covers how to return different types of messages (image URLs, links, text, files, JSON), how to create variable and streaming variable messages, and how to define tool output variable schemas… - [Model API Interface](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0412-model-schema.md): Comprehensive guide to the Dify model plugin API including implementation requirements for LLM, TextEmbedding, Rerank, Speech2text, and Text2speech models, with detailed specifications for all related data structures. - [Develop A Slack Bot Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0432-develop-a-slack-bot-plugin.md): This guide provides a complete walkthrough for developing a Slack Bot plugin, covering project initialization, configuration form editing, feature implementation, debugging, endpoint setup, verification, and packaging. You'll need the Dify plugin scaffolding tool and a pre-created Slack App to build… - [10-Minute Guide to Building Dify Plugins](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0432-develop-flomo-plugin.md): Learn how to build a functional Dify plugin that connects with Flomo note-taking service in just 10 minutes - [Building a Markdown Exporter Plugin](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0432-develop-md-exporter.md): Learn how to create a plugin that exports conversations to different document formats - [Neko Cat Endpoint](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/0432-endpoint.md): Authors Yeuoly, Allen. This document details the structure and implementation of Endpoints in Dify plugins, using the Neko Cat project as an example. It covers defining Endpoint groups, configuring interfaces, implementing the _invoke method, and handling requests and responses. The document explain… - [Bundle Plugin Package](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/9241-bundle.md): This document introduces the concept and development method of Bundle plugin packages. Bundle plugin packages can aggregate multiple plugins together, supporting three types (Marketplace, GitHub, and Package). The document details the entire process of creating a Bundle project, adding different typ… - [Reverse Invocation of Dify Services](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/9241-reverse-invocation.md): This document briefly introduces the reverse invocation capability of Dify plugins, meaning plugins can call specified services within the main Dify platform. It lists four types of modules that can be invoked, App (access App data), Model (call model capabilities within the platform), Tool (call ot… - [App](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/9242-reverse-invocation-app.md): This document details how plugins can reverse invoke App services within the Dify platform. It covers three types of interfaces Chat interface (for Chatbot/Agent/Chatflow applications), Workflow interface, and Completion interface, providing entry points, invocation specifications, and practical cod… - [Reverse Invocation Model](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/9242-reverse-invocation-model.md): This document details how plugins can reverse invoke model services within the Dify platform. It covers specific methods for reverse invoking LLM, Summary, TextEmbedding, Rerank, TTS, Speech2Text, and Moderation models. Each model invocation includes its entry point, interface parameter descriptions… - [Tool](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/9242-reverse-invocation-tool.md): This document details how plugins can reverse invoke Tool services within the Dify platform. It covers three types of tool invocation methods calling installed tools (Built-in Tool), calling Workflow as Tool, and calling custom tools (Custom Tool). Each method includes corresponding entry points and… - [Integrating Custom Models](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/9243-customizable-model.md): This document details how to integrate custom models into Dify, using the Xinference model as an example. It covers the complete process, including creating model provider files, writing code based on model type, implementing model invocation logic, handling exceptions, debugging, and publishing. It… - [Node](https://dify-6c0370d8-fix-language-redirection.mintlify.app/plugin-dev-en/9243-reverse-invocation-node.md): This document describes how plugins can reverse invoke the functionality of Chatflow/Workflow application nodes within the Dify platform. It primarily covers the invocation methods for two specific nodes, ParameterExtractor and QuestionClassifier. The document details the entry points, interface par…