# 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 - [Configure Annotation Reply](https://docs.dify.ai/api-reference/annotations/configure-annotation-reply.md): Enables or disables the annotation reply feature. Requires embedding model configuration when enabling. Executes asynchronously — use [Get Annotation Reply Job Status](/api-reference/annotations/get-annotation-reply-job-status) to track progress. - [Create Annotation](https://docs.dify.ai/api-reference/annotations/create-annotation.md): Creates a new annotation. Annotations provide predefined question-answer pairs that the app can match and return directly instead of generating a response. - [Delete Annotation](https://docs.dify.ai/api-reference/annotations/delete-annotation.md): Deletes an annotation and its associated hit history. - [Get Annotation Reply Job Status](https://docs.dify.ai/api-reference/annotations/get-annotation-reply-job-status.md): Retrieves the status of an asynchronous annotation reply configuration job started by [Configure Annotation Reply](/api-reference/annotations/configure-annotation-reply). - [List Annotations](https://docs.dify.ai/api-reference/annotations/list-annotations.md): Retrieves a paginated list of annotations for the application. Supports keyword search filtering. - [Update Annotation](https://docs.dify.ai/api-reference/annotations/update-annotation.md): Updates the question and answer of an existing annotation. - [Get App Info](https://docs.dify.ai/api-reference/applications/get-app-info.md): Retrieve basic information about this application, including name, description, tags, and mode. - [Get App Meta](https://docs.dify.ai/api-reference/applications/get-app-meta.md): Retrieve metadata about this application, including tool icons and other configuration details. - [Get App Parameters](https://docs.dify.ai/api-reference/applications/get-app-parameters.md): Retrieve the application's input form configuration, including feature switches, input parameter names, types, and default values. - [Get App WebApp Settings](https://docs.dify.ai/api-reference/applications/get-app-webapp-settings.md): Retrieve the WebApp settings of this application, including site configuration, theme, and customization options. - [Get Next Suggested Questions](https://docs.dify.ai/api-reference/chatflows/get-next-suggested-questions.md): Get next questions suggestions for the current message. - [Get Workflow Run Detail](https://docs.dify.ai/api-reference/chatflows/get-workflow-run-detail.md): Retrieve the current execution results of a workflow task based on the workflow execution ID. - [List Workflow Logs](https://docs.dify.ai/api-reference/chatflows/list-workflow-logs.md): Retrieve paginated workflow execution logs with filtering options. - [Send Chat Message](https://docs.dify.ai/api-reference/chatflows/send-chat-message.md): Send a request to the chat application. - [Stop Chat Message Generation](https://docs.dify.ai/api-reference/chatflows/stop-chat-message-generation.md): Stops a chat message generation task. Only supported in `streaming` mode. - [Stream Workflow Events](https://docs.dify.ai/api-reference/chatflows/stream-workflow-events.md): Resume the Server-Sent Events stream for a workflow run after a pause or a dropped SSE connection. For runs that have already finished, the stream emits a single `workflow_finished` event and closes. - [Get Next Suggested Questions](https://docs.dify.ai/api-reference/chats/get-next-suggested-questions.md): Get next questions suggestions for the current message. - [Send Chat Message](https://docs.dify.ai/api-reference/chats/send-chat-message.md): Send a request to the chat application. - [Stop Chat Message Generation](https://docs.dify.ai/api-reference/chats/stop-chat-message-generation.md): Stops a chat message generation task. Only supported in `streaming` mode. - [Create Child Chunk](https://docs.dify.ai/api-reference/chunks/create-child-chunk.md): Create a child chunk under a parent chunk. Only available for documents using the `hierarchical_model` chunking mode. - [Create Chunks](https://docs.dify.ai/api-reference/chunks/create-chunks.md): Create one or more chunks within a document. Each chunk can include optional keywords and an answer field (for QA-mode documents). - [Delete Child Chunk](https://docs.dify.ai/api-reference/chunks/delete-child-chunk.md): Permanently delete a child chunk from its parent chunk. - [Delete Chunk](https://docs.dify.ai/api-reference/chunks/delete-chunk.md): Permanently delete a chunk from the document. - [Get Chunk](https://docs.dify.ai/api-reference/chunks/get-chunk.md): Retrieve detailed information about a specific chunk, including its content, keywords, and indexing status. - [List Child Chunks](https://docs.dify.ai/api-reference/chunks/list-child-chunks.md): Returns a paginated list of child chunks under a specific parent chunk. - [List Chunks](https://docs.dify.ai/api-reference/chunks/list-chunks.md): Returns a paginated list of chunks within a document. Supports filtering by keyword and status. - [Update Child Chunk](https://docs.dify.ai/api-reference/chunks/update-child-chunk.md): Update the content of an existing child chunk. - [Update Chunk](https://docs.dify.ai/api-reference/chunks/update-chunk.md): Update a chunk's content, keywords, or answer. Re-triggers indexing for the modified chunk. - [Send Completion Message](https://docs.dify.ai/api-reference/completions/send-completion-message.md): Send a request to the text generation application. - [Stop Completion Message Generation](https://docs.dify.ai/api-reference/completions/stop-completion-message-generation.md): Stops a completion message generation task. Only supported in `streaming` mode. - [Delete Conversation](https://docs.dify.ai/api-reference/conversations/delete-conversation.md): Delete a conversation. - [List Conversation Messages](https://docs.dify.ai/api-reference/conversations/list-conversation-messages.md): Returns historical chat records in a scrolling load format, with the first page returning the latest `limit` messages, i.e., in reverse order. - [List Conversation Variables](https://docs.dify.ai/api-reference/conversations/list-conversation-variables.md): Retrieve variables from a specific conversation. - [List Conversations](https://docs.dify.ai/api-reference/conversations/list-conversations.md): Retrieve the conversation list for the current user, ordered by most recently active. - [Rename Conversation](https://docs.dify.ai/api-reference/conversations/rename-conversation.md): Rename a conversation or auto-generate a name. The conversation name is used for display on clients that support multiple conversations. - [Update Conversation Variable](https://docs.dify.ai/api-reference/conversations/update-conversation-variable.md): Update the value of a specific conversation variable. The value must match the expected type. - [Create Document by File](https://docs.dify.ai/api-reference/documents/create-document-by-file.md): Create a document by uploading a file. Supports common document formats (PDF, TXT, DOCX, etc.). Processing is asynchronous — use the returned `batch` ID with [Get Document Indexing Status](/api-reference/documents/get-document-indexing-status) to track progress. - [Create Document by Text](https://docs.dify.ai/api-reference/documents/create-document-by-text.md): Create a document from raw text content. The document is processed asynchronously — use the returned `batch` ID with [Get Document Indexing Status](/api-reference/documents/get-document-indexing-status) to track progress. - [Delete Document](https://docs.dify.ai/api-reference/documents/delete-document.md): Permanently delete a document and all its chunks from the knowledge base. - [Download Document](https://docs.dify.ai/api-reference/documents/download-document.md): Get a signed download URL for a document's original uploaded file. - [Download Documents as ZIP](https://docs.dify.ai/api-reference/documents/download-documents-as-zip.md): Download multiple uploaded-file documents as a single ZIP archive. Accepts up to `100` document IDs. - [Get Document](https://docs.dify.ai/api-reference/documents/get-document.md): Retrieve detailed information about a specific document, including its indexing status, metadata, and processing statistics. - [Get Document Indexing Status](https://docs.dify.ai/api-reference/documents/get-document-indexing-status.md): Check the indexing progress of documents in a batch. Returns the current processing stage and chunk completion counts for each document. Poll this endpoint until `indexing_status` reaches `completed` or `error`. The status progresses through: `waiting` → `parsing` → `cleaning` → `splitting` → `index… - [List Documents](https://docs.dify.ai/api-reference/documents/list-documents.md): Returns a paginated list of documents in the knowledge base. Supports filtering by keyword and indexing status. - [Update Document by File](https://docs.dify.ai/api-reference/documents/update-document-by-file.md): Update an existing document by uploading a new file. Re-triggers indexing — use the returned `batch` ID with [Get Document Indexing Status](/api-reference/documents/get-document-indexing-status) to track progress. - [Update Document by Text](https://docs.dify.ai/api-reference/documents/update-document-by-text.md): Update an existing document's text content, name, or processing configuration. Re-triggers indexing if content changes — use the returned `batch` ID with [Get Document Indexing Status](/api-reference/documents/get-document-indexing-status) to track progress. - [Update Document Status in Batch](https://docs.dify.ai/api-reference/documents/update-document-status-in-batch.md): Enable, disable, archive, or unarchive multiple documents at once. - [Get End User Info](https://docs.dify.ai/api-reference/end-users/get-end-user-info.md): Retrieve an end user by ID. Useful when other APIs return an end-user ID (e.g., `created_by` from [Upload File](/api-reference/files/upload-file)). - [List App Feedbacks](https://docs.dify.ai/api-reference/feedback/list-app-feedbacks.md): Retrieve a paginated list of all feedback submitted for messages in this application, including both end-user and admin feedback. - [Submit Message Feedback](https://docs.dify.ai/api-reference/feedback/submit-message-feedback.md): Submit feedback for a message. End users can rate messages as `like` or `dislike`, and optionally provide text feedback. Pass `null` for `rating` to revoke previously submitted feedback. - [Download File](https://docs.dify.ai/api-reference/files/download-file.md): Preview or download uploaded files previously uploaded via the [Upload File](/api-reference/files/upload-file) API. Files can only be accessed if they belong to messages within the requesting application. - [Upload File](https://docs.dify.ai/api-reference/files/upload-file.md): Upload a file for use when sending messages, enabling multimodal understanding of images, documents, audio, and video. Uploaded files are for use by the current end-user only. - [Get Human Input Form](https://docs.dify.ai/api-reference/human-input/get-human-input-form.md): Retrieve a paused Human Input form's contents using the `form_token` from a `human_input_required` event. Requires **WebApp** delivery. - [Submit Human Input Form](https://docs.dify.ai/api-reference/human-input/submit-human-input-form.md): Submit the recipient's response to a paused Human Input form. The workflow resumes on acceptance; use [Stream Workflow Events](/api-reference/workflows/stream-workflow-events) to follow subsequent events. Requires **WebApp** delivery. - [Create an Empty Knowledge Base](https://docs.dify.ai/api-reference/knowledge-bases/create-an-empty-knowledge-base.md): Create a new empty knowledge base. After creation, use [Create Document by Text](/api-reference/documents/create-document-by-text) or [Create Document by File](/api-reference/documents/create-document-by-file) to add documents. - [Delete Knowledge Base](https://docs.dify.ai/api-reference/knowledge-bases/delete-knowledge-base.md): Permanently delete a knowledge base and all its documents. The knowledge base must not be in use by any application. - [Get Knowledge Base](https://docs.dify.ai/api-reference/knowledge-bases/get-knowledge-base.md): Retrieve detailed information about a specific knowledge base, including its embedding model, retrieval configuration, and document statistics. - [List Knowledge Bases](https://docs.dify.ai/api-reference/knowledge-bases/list-knowledge-bases.md): Returns a paginated list of knowledge bases. Supports filtering by keyword and tags. - [Retrieve Chunks from a Knowledge Base / Test Retrieval](https://docs.dify.ai/api-reference/knowledge-bases/retrieve-chunks-from-a-knowledge-base-test-retrieval.md): Performs a search query against a knowledge base to retrieve the most relevant chunks. This endpoint can be used for both production retrieval and test retrieval. - [Update Knowledge Base](https://docs.dify.ai/api-reference/knowledge-bases/update-knowledge-base.md): Update the name, description, permissions, or retrieval settings of an existing knowledge base. Only the fields provided in the request body are updated. - [List Datasource Plugins](https://docs.dify.ai/api-reference/knowledge-pipeline/list-datasource-plugins.md): List the datasource nodes configured in the knowledge pipeline. Each node includes the plugin it uses plus the metadata needed to run it. - [Run Datasource Node](https://docs.dify.ai/api-reference/knowledge-pipeline/run-datasource-node.md): Execute a single datasource node within the knowledge pipeline. Returns a streaming response with the node execution results. - [Run Pipeline](https://docs.dify.ai/api-reference/knowledge-pipeline/run-pipeline.md): Execute the full knowledge pipeline for a knowledge base. Supports both streaming and blocking response modes. - [Upload Pipeline File](https://docs.dify.ai/api-reference/knowledge-pipeline/upload-pipeline-file.md): Upload a file for use in a knowledge pipeline. Accepts a single file via `multipart/form-data`. - [Create Metadata Field](https://docs.dify.ai/api-reference/metadata/create-metadata-field.md): Create a custom metadata field for the knowledge base. Metadata fields can be used to annotate documents with structured information. - [Delete Metadata Field](https://docs.dify.ai/api-reference/metadata/delete-metadata-field.md): Permanently delete a custom metadata field. Documents using this field will lose their metadata values for it. - [Get Built-in Metadata Fields](https://docs.dify.ai/api-reference/metadata/get-built-in-metadata-fields.md): Returns the list of built-in metadata fields provided by the system (e.g., document type, source URL). - [List Metadata Fields](https://docs.dify.ai/api-reference/metadata/list-metadata-fields.md): Returns the list of all metadata fields (both custom and built-in) for the knowledge base, along with the count of documents using each field. - [Update Built-in Metadata Field](https://docs.dify.ai/api-reference/metadata/update-built-in-metadata-field.md): Enable or disable built-in metadata fields for the knowledge base. - [Update Document Metadata in Batch](https://docs.dify.ai/api-reference/metadata/update-document-metadata-in-batch.md): Update metadata values for multiple documents at once. Each document in the request receives the specified metadata key-value pairs. - [Update Metadata Field](https://docs.dify.ai/api-reference/metadata/update-metadata-field.md): Rename a custom metadata field. - [Get Available Models](https://docs.dify.ai/api-reference/models/get-available-models.md): Retrieve the list of available models by type. Primarily used to query `text-embedding` and `rerank` models for knowledge base configuration. - [Create Knowledge Tag](https://docs.dify.ai/api-reference/tags/create-knowledge-tag.md): Create a new tag for organizing knowledge bases. - [Create Tag Binding](https://docs.dify.ai/api-reference/tags/create-tag-binding.md): Bind one or more tags to a knowledge base. A knowledge base can have multiple tags. - [Delete Knowledge Tag](https://docs.dify.ai/api-reference/tags/delete-knowledge-tag.md): Permanently delete a knowledge base tag. Does not delete the knowledge bases that were tagged. - [Delete Tag Binding](https://docs.dify.ai/api-reference/tags/delete-tag-binding.md): Remove one or more tags from a knowledge base. - [Get Knowledge Base Tags](https://docs.dify.ai/api-reference/tags/get-knowledge-base-tags.md): Returns the list of tags bound to a specific knowledge base. - [List Knowledge Tags](https://docs.dify.ai/api-reference/tags/list-knowledge-tags.md): Returns the list of all knowledge base tags in the workspace. - [Update Knowledge Tag](https://docs.dify.ai/api-reference/tags/update-knowledge-tag.md): Rename an existing knowledge base tag. - [Convert Audio to Text](https://docs.dify.ai/api-reference/tts/convert-audio-to-text.md): Convert audio file to text. Supported formats: `mp3`, `mp4`, `mpeg`, `mpga`, `m4a`, `wav`, `webm`. File size limit is `30 MB`. - [Convert Text to Audio](https://docs.dify.ai/api-reference/tts/convert-text-to-audio.md): Convert text to speech. - [Get Workflow Run Detail](https://docs.dify.ai/api-reference/workflows/get-workflow-run-detail.md): Retrieve the current execution results of a workflow task based on the workflow execution ID. - [List Workflow Logs](https://docs.dify.ai/api-reference/workflows/list-workflow-logs.md): Retrieve paginated workflow execution logs with filtering options. - [Run Workflow](https://docs.dify.ai/api-reference/workflows/run-workflow.md): Execute a workflow. Cannot be executed without a published workflow. - [Run Workflow by ID](https://docs.dify.ai/api-reference/workflows/run-workflow-by-id.md): Execute a specific workflow version identified by its ID. Useful for running a particular published version of the workflow. - [Stop Workflow Task](https://docs.dify.ai/api-reference/workflows/stop-workflow-task.md): Stop a running workflow task. Only supported in `streaming` mode. - [Stream Workflow Events](https://docs.dify.ai/api-reference/workflows/stream-workflow-events.md): Resume the Server-Sent Events stream for a workflow run after a pause or a dropped SSE connection. For runs that have already finished, the stream emits a single `workflow_finished` event and closes. - [Agent Strategy Plugin](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/agent-strategy-plugin.md): Build a Function Calling agent strategy from scratch, with a worked example showing how to give an LLM tools and let it autonomously fetch the current time - [Cheatsheet](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/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://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/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://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/datasource-plugin.md): Build a Dify 1.9.0+ datasource plugin that feeds documents into the knowledge pipeline, with architecture, code samples, and debugging steps - [Slack Bot](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/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… - [Flomo Tool (10-min)](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/develop-flomo-plugin.md): Build a functional Dify tool plugin that connects to the Flomo note-taking service end-to-end in about ten minutes - [Markdown Exporter](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/develop-md-exporter.md): Learn how to create a plugin that exports conversations to different document formats - [Multimodal Tool](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/develop-multimodal-data-processing-tool.md): Configure a tool plugin to emit images, audio, or video so the Knowledge Base node can embed multimodal outputs alongside text - [Endpoint Plugin](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/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… - [Tool OAuth](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/tool-oauth.md): Replace manual API-key entry with an OAuth authorization flow so users grant access to third-party services with one click - [Tool Plugin](https://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/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://docs.dify.ai/en/develop-plugin/dev-guides-and-walkthroughs/trigger-plugin.md): Build a Dify 1.10.0+ trigger plugin that turns third-party webhook events into workflow start signals - [Bundle Plugin Package](https://docs.dify.ai/en/develop-plugin/features-and-specs/advanced-development/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… - [Integrate Custom Models](https://docs.dify.ai/en/develop-plugin/features-and-specs/advanced-development/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… - [Reverse Invocation of Dify Services](https://docs.dify.ai/en/develop-plugin/features-and-specs/advanced-development/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://docs.dify.ai/en/develop-plugin/features-and-specs/advanced-development/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://docs.dify.ai/en/develop-plugin/features-and-specs/advanced-development/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… - [Node](https://docs.dify.ai/en/develop-plugin/features-and-specs/advanced-development/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… - [Tool](https://docs.dify.ai/en/develop-plugin/features-and-specs/advanced-development/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… - [General Specs](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/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](/en/develop-plugin/getting-started/getting-started-dify-plugin) and the [Developer Cheatsheet](/en/develop-plugin/… - [Model Specs](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/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… - [Model API Interface](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/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. - [Multilingual README](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/multilingual-readme.md): Add per-language README files so Dify Marketplace shows your plugin's documentation in each user's preferred language - [Persistent Storage](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/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://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/plugin-info-by-manifest.md): YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships - [Plugin Logging](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/plugin-logging.md): Emit log lines from inside a plugin using the SDK plugin_logger_handler, visible during remote debugging and persisted to daemon container logs - [Plugin Debugging](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/remote-debug-a-plugin.md): Run your in-development plugin locally and attach it to a live Dify workspace for end-to-end testing, no packaging required - [Tool Return](https://docs.dify.ai/en/develop-plugin/features-and-specs/plugin-types/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… - [Choose a Plugin Type](https://docs.dify.ai/en/develop-plugin/getting-started/choose-plugin-type.md): A short decision guide for picking between Tool, Model, Agent Strategy, Extension, Datasource, and Trigger plugins - [CLI](https://docs.dify.ai/en/develop-plugin/getting-started/cli.md): Install the Dify CLI, scaffold a new plugin project, and run it against a Dify instance for local development - [Dify Plugin](https://docs.dify.ai/en/develop-plugin/getting-started/getting-started-dify-plugin.md): Modular components that extend Dify AI applications with external services, custom logic, and specialized tools - [Frequently Asked Questions](https://docs.dify.ai/en/develop-plugin/publishing/faq/faq.md): Common issues and fixes for building, packaging, debugging, and installing Dify plugins - [Automatically Publish Plugins via PR](https://docs.dify.ai/en/develop-plugin/publishing/marketplace-listing/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. - [Package as Local File and Share](https://docs.dify.ai/en/develop-plugin/publishing/marketplace-listing/release-by-file.md): Package a Dify plugin into a `.difypkg` file you can install directly or hand off to others, with no marketplace or GitHub release required - [Publish Plugins](https://docs.dify.ai/en/develop-plugin/publishing/marketplace-listing/release-overview.md): Three ways to distribute a Dify plugin (Marketplace, GitHub repository, or local file) and how to pick the right one - [Publish to Dify Marketplace](https://docs.dify.ai/en/develop-plugin/publishing/marketplace-listing/release-to-dify-marketplace.md): Submit a plugin to the Dify Marketplace. Covers the pre-submission checklist, the 12 reviewer checks, the PR flow, and what happens after approval - [Publish to Individual GitHub Repository](https://docs.dify.ai/en/develop-plugin/publishing/marketplace-listing/release-to-individual-github-repo.md): Distribute a Dify plugin from your own GitHub repository so users can install it directly via repo URL, with no marketplace review required - [Plugin Development Guidelines](https://docs.dify.ai/en/develop-plugin/publishing/standards/contributor-covenant-code-of-conduct.md): Requirements every Dify Marketplace plugin must meet to pass review, covering quality, language, privacy, IP, maintenance, and prohibited content - [Privacy Guidelines](https://docs.dify.ai/en/develop-plugin/publishing/standards/privacy-protection-guidelines.md): How to declare data collection and write the privacy policy required for every plugin submitted to the Dify Marketplace - [Sign Plugins for Third-Party Signature Verification](https://docs.dify.ai/en/develop-plugin/publishing/standards/third-party-signature-verification.md): Enable signed `.difypkg` installation in Dify Community Edition without disabling signature verification entirely (generate keys, sign packages, distribute the public key) - [Local Source Code Start](https://docs.dify.ai/en/self-host/advanced-deployments/local-source-code.md) - [Start Frontend Docker Container Separately](https://docs.dify.ai/en/self-host/advanced-deployments/start-the-frontend-docker-container.md) - [Environment Variables](https://docs.dify.ai/en/self-host/configuration/environments.md): Reference for all environment variables used by Dify self-hosted deployments - [Deploy with aaPanel](https://docs.dify.ai/en/self-host/platform-guides/bt-panel.md) - [Dify Premium on AWS](https://docs.dify.ai/en/self-host/platform-guides/dify-premium.md): Deploy, customize, and upgrade Dify Premium on AWS - [Deploy Dify with Docker Compose](https://docs.dify.ai/en/self-host/quick-start/docker-compose.md) - [FAQs](https://docs.dify.ai/en/self-host/quick-start/faqs.md) - [Common Issues](https://docs.dify.ai/en/self-host/troubleshooting/common-issues.md) - [Docker Issues](https://docs.dify.ai/en/self-host/troubleshooting/docker-issues.md) - [Third-Party Integrations](https://docs.dify.ai/en/self-host/troubleshooting/integrations.md) - [Storage & Migration](https://docs.dify.ai/en/self-host/troubleshooting/storage-and-migration.md) - [Weaviate Migration Guide upgrading to Client v4 and Server 1.27+](https://docs.dify.ai/en/self-host/troubleshooting/weaviate-v4-migration.md) - [App Toolkit](https://docs.dify.ai/en/use-dify/build/additional-features.md): Optional features that make your Dify apps more useful - [Agent](https://docs.dify.ai/en/use-dify/build/agent.md): Chat-style apps where the model can reason, make decisions, and use tools autonomously - [Chatbot](https://docs.dify.ai/en/use-dify/build/chatbot.md): The simplest way to build a conversational app with a model and a prompt - [Use MCP Tools](https://docs.dify.ai/en/use-dify/build/mcp.md) - [Orchestration Logic](https://docs.dify.ai/en/use-dify/build/orchestrate-node.md): How to arrange, nest, or reuse nodes when building a Workflow or Chatflow - [Handle Errors](https://docs.dify.ai/en/use-dify/build/predefined-error-handling-logic.md) - [Hotkeys](https://docs.dify.ai/en/use-dify/build/shortcut-key.md) - [Text Generator](https://docs.dify.ai/en/use-dify/build/text-generator.md): Simple single-turn apps for generating text from a prompt and user inputs - [Version Control](https://docs.dify.ai/en/use-dify/build/version-control.md) - [Workflow & Chatflow](https://docs.dify.ai/en/use-dify/build/workflow-chatflow.md): Build agentic workflows that combine AI models, tools, and logic into reliable, repeatable processes - [Collaborate with Teammates](https://docs.dify.ai/en/use-dify/build/workflow-collaboration.md): Edit workflows with workspace members in real time and discuss design decisions through in-canvas comments - [Error Types](https://docs.dify.ai/en/use-dify/debug/error-type.md) - [Run History](https://docs.dify.ai/en/use-dify/debug/history-and-logs.md) - [Single Node](https://docs.dify.ai/en/use-dify/debug/step-run.md) - [Variable Inspector](https://docs.dify.ai/en/use-dify/debug/variable-inspect.md) - [Introduction](https://docs.dify.ai/en/use-dify/getting-started/introduction.md) - [Key Concepts](https://docs.dify.ai/en/use-dify/getting-started/key-concepts.md): Quick overview of essential Dify concepts - [30-Minute Quick Start](https://docs.dify.ai/en/use-dify/getting-started/quick-start.md): Dive into Dify through an example app - [Connect to External Knowledge Base](https://docs.dify.ai/en/use-dify/knowledge/connect-external-knowledge-base.md): Integrate external knowledge sources with Dify applications through API connections to leverage custom RAG systems or third-party knowledge services - [Configure the Chunk Settings](https://docs.dify.ai/en/use-dify/knowledge/create-knowledge/chunking-and-cleaning-text.md) - [Upload Local Files](https://docs.dify.ai/en/use-dify/knowledge/create-knowledge/import-text-data/readme.md) - [Sync Data from Notion](https://docs.dify.ai/en/use-dify/knowledge/create-knowledge/import-text-data/sync-from-notion.md) - [Import Data from Website](https://docs.dify.ai/en/use-dify/knowledge/create-knowledge/import-text-data/sync-from-website.md) - [Quick Create Knowledge](https://docs.dify.ai/en/use-dify/knowledge/create-knowledge/introduction.md) - [Specify the Index Method and Retrieval Settings](https://docs.dify.ai/en/use-dify/knowledge/create-knowledge/setting-indexing-methods.md) - [External Knowledge API](https://docs.dify.ai/en/use-dify/knowledge/external-knowledge-api.md): API specification that your external knowledge service must implement to integrate with Dify - [Integrate Knowledge within Apps](https://docs.dify.ai/en/use-dify/knowledge/integrate-knowledge-within-application.md) - [Authorize Data Source](https://docs.dify.ai/en/use-dify/knowledge/knowledge-pipeline/authorize-data-source.md) - [Step 1: Create Knowledge Pipeline](https://docs.dify.ai/en/use-dify/knowledge/knowledge-pipeline/create-knowledge-pipeline.md) - [Step 2: Orchestrate Knowledge Pipeline](https://docs.dify.ai/en/use-dify/knowledge/knowledge-pipeline/knowledge-pipeline-orchestration.md) - [Step 5: Manage and Use Knowledge Base](https://docs.dify.ai/en/use-dify/knowledge/knowledge-pipeline/manage-knowledge-base.md) - [Step 3: Publish Knowledge Pipeline](https://docs.dify.ai/en/use-dify/knowledge/knowledge-pipeline/publish-knowledge-pipeline.md) - [Create Knowledge from a Knowledge Pipeline](https://docs.dify.ai/en/use-dify/knowledge/knowledge-pipeline/readme.md) - [Step 4: Upload Files](https://docs.dify.ai/en/use-dify/knowledge/knowledge-pipeline/upload-files.md) - [Knowledge Request Rate Limit](https://docs.dify.ai/en/use-dify/knowledge/knowledge-request-rate-limit.md) - [Manage Knowledge Settings](https://docs.dify.ai/en/use-dify/knowledge/manage-knowledge/introduction.md) - [Manage Knowledge via API](https://docs.dify.ai/en/use-dify/knowledge/manage-knowledge/maintain-dataset-via-api.md): Manage your knowledge bases programmatically using the Dify Knowledge Base API - [Manage Knowledge Content](https://docs.dify.ai/en/use-dify/knowledge/manage-knowledge/maintain-knowledge-documents.md) - [Manage Document Metadata](https://docs.dify.ai/en/use-dify/knowledge/metadata.md) - [Knowledge](https://docs.dify.ai/en/use-dify/knowledge/readme.md) - [Test Knowledge Retrieval](https://docs.dify.ai/en/use-dify/knowledge/test-retrieval.md) - [Dashboard](https://docs.dify.ai/en/use-dify/monitor/analysis.md): Monitor performance, costs, and user engagement through Dify's built-in analytics dashboard - [Annotation System](https://docs.dify.ai/en/use-dify/monitor/annotation-reply.md): Build a curated library of high-quality responses to improve consistency and bypass AI generation - [Integrate with Alibaba Cloud Monitor](https://docs.dify.ai/en/use-dify/monitor/integrations/integrate-aliyun.md) - [Integrate with Arize](https://docs.dify.ai/en/use-dify/monitor/integrations/integrate-arize.md) - [Integrate with Langfuse](https://docs.dify.ai/en/use-dify/monitor/integrations/integrate-langfuse.md) - [Integrate with LangSmith](https://docs.dify.ai/en/use-dify/monitor/integrations/integrate-langsmith.md) - [Integrate with Opik](https://docs.dify.ai/en/use-dify/monitor/integrations/integrate-opik.md) - [Integrate with Phoenix](https://docs.dify.ai/en/use-dify/monitor/integrations/integrate-phoenix.md) - [Integrate with W&B Weave](https://docs.dify.ai/en/use-dify/monitor/integrations/integrate-weave.md): Dify Cloud | Community version ≥ v1.3.1 - [Logs](https://docs.dify.ai/en/use-dify/monitor/logs.md): Monitor real-time conversations, debug issues, and collect user feedback - [Agent](https://docs.dify.ai/en/use-dify/nodes/agent.md): Give LLMs autonomous control over tools for complex task execution - [Answer](https://docs.dify.ai/en/use-dify/nodes/answer.md): Define response content in chatflow applications - [Code](https://docs.dify.ai/en/use-dify/nodes/code.md): Execute custom Python or JavaScript for data processing - [Document Extractor](https://docs.dify.ai/en/use-dify/nodes/doc-extractor.md): Extract text content from uploaded documents for AI processing - [HTTP Request](https://docs.dify.ai/en/use-dify/nodes/http-request.md): Connect to external APIs and web services - [Human Input](https://docs.dify.ai/en/use-dify/nodes/human-input.md): Pause workflows to request human input, review, or decisions - [If-Else](https://docs.dify.ai/en/use-dify/nodes/ifelse.md): Add conditional logic and branching to workflows - [Iteration](https://docs.dify.ai/en/use-dify/nodes/iteration.md): Process arrays by applying workflows to each element - [Knowledge Retrieval](https://docs.dify.ai/en/use-dify/nodes/knowledge-retrieval.md): Retrieve relevant content from knowledge bases and use it as context for downstream nodes - [List Operator](https://docs.dify.ai/en/use-dify/nodes/list-operator.md): Filter, sort, and select elements from arrays - [LLM](https://docs.dify.ai/en/use-dify/nodes/llm.md): Invoke language models for text generation and analysis - [Loop](https://docs.dify.ai/en/use-dify/nodes/loop.md): Execute repetitive workflows with progressive refinement - [Output](https://docs.dify.ai/en/use-dify/nodes/output.md): Return workflow results to the end user or API caller - [Parameter Extractor](https://docs.dify.ai/en/use-dify/nodes/parameter-extractor.md): Convert natural language to structured data using LLM intelligence - [Question Classifier](https://docs.dify.ai/en/use-dify/nodes/question-classifier.md): Intelligently categorize user input to route workflow paths - [Template](https://docs.dify.ai/en/use-dify/nodes/template.md): Transform and format data using Jinja2 templating - [Tool Node](https://docs.dify.ai/en/use-dify/nodes/tools.md): Connect to external services and APIs - [Trigger](https://docs.dify.ai/en/use-dify/nodes/trigger/overview.md) - [Plugin Trigger](https://docs.dify.ai/en/use-dify/nodes/trigger/plugin-trigger.md) - [Schedule Trigger](https://docs.dify.ai/en/use-dify/nodes/trigger/schedule-trigger.md) - [Webhook Trigger](https://docs.dify.ai/en/use-dify/nodes/trigger/webhook-trigger.md) - [User Input](https://docs.dify.ai/en/use-dify/nodes/user-input.md): Collects user inputs to start workflow and chatflow applications - [Variable Aggregator](https://docs.dify.ai/en/use-dify/nodes/variable-aggregator.md): Converge exclusive workflow branches into a single output - [Variable Assigner](https://docs.dify.ai/en/use-dify/nodes/variable-assigner.md): Manage persistent conversation variables in chatflow applications - [Overview](https://docs.dify.ai/en/use-dify/publish/README.md): Get your Dify applications into users' hands with web apps, APIs, embeds, and integrations - [API](https://docs.dify.ai/en/use-dify/publish/developing-with-apis.md): Integrate your Dify workflows anywhere - [MCP Server](https://docs.dify.ai/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 - [Publish Apps to Marketplace](https://docs.dify.ai/en/use-dify/publish/publish-to-marketplace.md): Publish your apps to Dify Marketplace and share them with the world - [Chat Web Apps](https://docs.dify.ai/en/use-dify/publish/webapp/chatflow-webapp.md): Turn your chatflow into a fully-featured conversation interface with persistent history and interactive features - [Embed Your Web App](https://docs.dify.ai/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://docs.dify.ai/en/use-dify/publish/webapp/web-app-access.md) - [Settings](https://docs.dify.ai/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://docs.dify.ai/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://docs.dify.ai/en/use-dify/tutorials/article-reader.md) - [AI Image Generation App](https://docs.dify.ai/en/use-dify/tutorials/build-ai-image-generation-app.md) - [Customer Service Bot With Knowledge Base](https://docs.dify.ai/en/use-dify/tutorials/customer-service-bot.md) - [Simple Chatbot](https://docs.dify.ai/en/use-dify/tutorials/simple-chatbot.md): Hello World - [Twitter Account Analyzer](https://docs.dify.ai/en/use-dify/tutorials/twitter-chatflow.md) - [Lesson 1: What is a Workflow?](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-01.md) - [Lesson 2: Head and Tail (Start & Output Node)](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-02.md) - [Lesson 3: The Brain of the Workflow (LLM Node)](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-03.md) - [Lesson 4: The Cheat Sheet (Knowledge Retrieval)](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-04.md) - [Lesson 5: The Crossroads of Your Workflow (Sorting and Executing)](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-05.md) - [Lesson 6: Handle Multiple Tasks (Parameter Extraction & Iteration)](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-06.md) - [Lesson 7: Enhance Workflows (Plugins)](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-07.md) - [Lesson 8: The Agent Node](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-08.md) - [Lesson 9: Layout Designer (Template)](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-09.md) - [Lesson 10: Publish and Monitor Your AI App](https://docs.dify.ai/en/use-dify/tutorials/workflow-101/lesson-10.md) - [API Extensions](https://docs.dify.ai/en/use-dify/workspace/api-extension/api-extension.md) - [Deploy API Extensions Using Cloudflare Workers](https://docs.dify.ai/en/use-dify/workspace/api-extension/cloudflare-worker.md) - [External Data Tool](https://docs.dify.ai/en/use-dify/workspace/api-extension/external-data-tool-api-extension.md) - [Sensitive Content Moderation](https://docs.dify.ai/en/use-dify/workspace/api-extension/moderation-api-extension.md) - [Manage Apps](https://docs.dify.ai/en/use-dify/workspace/app-management.md): Organize, maintain, and share your AI applications with powerful management tools and best practices - [Model Providers](https://docs.dify.ai/en/use-dify/workspace/model-providers.md): Configure AI model access for your workspace—the foundation that powers all your applications - [Personal Settings](https://docs.dify.ai/en/use-dify/workspace/personal-account-management.md): Manage your profile and preferences across all workspaces - [Plugins](https://docs.dify.ai/en/use-dify/workspace/plugins.md): Extend Dify with custom models, tools, and integrations through modular components - [Overview](https://docs.dify.ai/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://docs.dify.ai/en/use-dify/workspace/subscription-management.md): Manage workspace subscriptions and billing to control team size and feature access - [Manage Members](https://docs.dify.ai/en/use-dify/workspace/team-members-management.md): Manage workspace members, roles, and permissions to build effective AI teams - [Dify Tools](https://docs.dify.ai/en/use-dify/workspace/tools.md): Manage tools that enable LLMs to interact with external services and APIs ## OpenAPI Specs - [openapi_workflow](https://docs.dify.ai/zh/api-reference/openapi_workflow.json) - [openapi_knowledge](https://docs.dify.ai/zh-hans/openapi_knowledge.json) - [openapi_completion](https://docs.dify.ai/zh/api-reference/openapi_completion.json) - [openapi_chatflow](https://docs.dify.ai/zh/api-reference/openapi_chatflow.json) - [openapi_chat](https://docs.dify.ai/zh/api-reference/openapi_chat.json) - [external-knowledge-api 2](https://docs.dify.ai/versions/3-0-x/ja/user-guide/knowledge-base/api-documentation/external-knowledge-api 2.json) - [external-knowledge-api](https://docs.dify.ai/zh-hans/user-guide/knowledge-base/api-documentation/external-knowledge-api.json) - [外部知识库 API](https://docs.dify.ai/versions/legacy/zh/user-guide/.gitbook/assets/外部知识库 API.json)