Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
Go to file
Jyong 57d03faa98 fix(workflow): let the KnowledgeFS retrieval node run on text or image alone
The KnowledgeFS retrieval node treated the query text as mandatory even though
a query image is a complete input on its own. Text and image are now
alternatives: the node needs at least one of them, never both.

- web: drop the required mark from the query text field; the checklist fails
  only when neither variable is bound (new i18n message in every locale).
- api: make `query_variable_selector` optional with a model-level rule that
  one of the two selectors must be set, and only map the query variable when
  it is bound. At runtime an empty text without images is a configuration
  error; an image-only query retrieves with an empty text, merges spaces on
  their own scores instead of a text reranker, skips automatic metadata
  extraction, and skips the text-based failed-query capture.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015zw5G5SX3HmVfnZof6YWAc
2026-09-03 01:52:19 -04:00
.agents/skills Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 21:56:53 +08:00
.claude refactor(agents): simplify repository context (#39583) 2026-07-26 06:13:37 +00:00
.codex Expand application capabilities and refactor core workflows 2026-07-22 05:09:09 -04:00
.devcontainer chore: upgrade Node.js runtime to 24 LTS (#41573) 2026-09-01 06:57:38 +00:00
.github Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 10:31:10 +08:00
.harness/changes perf(knowledge-fs): harden cross-format document ingestion 2026-08-31 07:48:35 -04:00
.vite-hooks fix(ci): align staged checks with Vite+ (#40774) 2026-08-14 09:09:33 +00:00
.vscode chore: upgrade Vite+ to 0.2.9 (#40762) 2026-08-14 04:42:28 +00:00
api fix(workflow): let the KnowledgeFS retrieval node run on text or image alone 2026-09-03 01:52:19 -04:00
cli Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 10:31:10 +08:00
dev Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-08-12 10:33:29 +08:00
dify-agent Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 21:56:53 +08:00
dify-agent-runtime chore: upgrade Node.js runtime to 24 LTS (#41573) 2026-09-01 06:57:38 +00:00
docker feat(knowledge-fs): add profile-driven multimodal retrieval 2026-09-02 01:01:57 -04:00
docs Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-08-27 10:06:48 +08:00
e2e ci(e2e): shard pull request browser tests (#41596) 2026-09-02 01:19:08 +00:00
images feat: update banner (#23095) 2025-07-29 14:05:59 +08:00
knowledge-fs fix(knowledge-fs): allow one unresolved bad case per retrieval trace 2026-09-03 01:40:11 -04:00
packages fix(knowledge-fs): allow one unresolved bad case per retrieval trace 2026-09-03 01:40:11 -04:00
scripts chore: upgrade workspace dependencies (#40069) 2026-08-06 05:56:30 +00:00
sdks chore: upgrade Vite+ to 0.2.9 (#40762) 2026-08-14 04:42:28 +00:00
test-results/knowledge-fs/2026-08-11 tweaks 2026-08-18 18:07:03 +08:00
web fix(workflow): let the KnowledgeFS retrieval node run on text or image alone 2026-09-03 01:52:19 -04:00
.coveragerc test(api): manage backend pytest services natively (#36235) 2026-05-19 07:52:15 +00:00
.dockerignore chore: migrate knowledge-fs source tree 2026-07-20 04:54:20 -04:00
.editorconfig fix(ci): align Oxlint suppression formatting (#40934) 2026-08-18 09:41:48 +00:00
.gitattributes feat: adding dify cli (#36348) 2026-05-26 01:12:36 +00:00
.gitignore Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-08-21 10:39:39 +08:00
AGENTS.md chore: enforce titles on CSS-truncated elements (#41438) 2026-09-01 06:18:53 +00:00
AUTHORS Initial commit 2023-05-15 08:51:32 +08:00
CLAUDE.md refactor: remove Claude-specific references from documentation files (#25760) 2025-09-16 14:22:14 +08:00
codecov.yml refactor(dify-ui): finish primitive migration from web/base/ui to @langgenius/dify-ui (#35349) 2026-04-17 08:46:11 +00:00
CONTRIBUTING.md docs: simplify frontend testing guidance (#38909) 2026-07-14 07:45:08 +00:00
depot.json chore(ci): move image builds to depot (#35575) 2026-04-26 16:00:17 -07:00
eslint.config.mjs chore: inline custom ESLint rules (#41008) 2026-08-20 07:32:13 +00:00
knip.config.ts refactor: consolidate frontend browser test infrastructure (#40997) 2026-08-20 06:13:30 +00:00
LICENSE remove business contact info in license (#16985) 2025-03-28 10:03:36 +08:00
lint.config.ts Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 10:31:10 +08:00
Makefile ci: simplify test workflow execution (#39318) 2026-07-21 00:18:59 +00:00
oxlint-suppressions.json lint tailwind 2026-09-03 11:00:41 +08:00
package.json Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 10:31:10 +08:00
pnpm-lock.yaml Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 10:31:10 +08:00
pnpm-workspace.yaml Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-09-02 10:31:10 +08:00
README.md chore: Replace star image with new asset link (#41136) 2026-08-24 04:33:24 +00:00
SECURITY.md docs: add security policy (#36873) 2026-06-01 09:58:32 +08:00
vite.config.ts Merge remote-tracking branch 'origin/main' into deploy/konwledge 2026-08-17 09:50:10 +08:00

cover-v5-optimized

Dify Cloud · Self-hosting · Documentation · Dify edition overview

Static Badge Static Badge chat on Discord join Reddit follow on X(Twitter) follow on LinkedIn Docker Pulls Commits last month Issues closed Discussion posts LFX Health Score LFX Contributors LFX Active Contributors

README in English 繁體中文文件 简体中文文件 日本語のREADME README en Español README en Français README tlhIngan Hol README in Korean README بالعربية Türkçe README README Tiếng Việt README in Deutsch README in Italiano README em Português do Brasil README Slovenščina README in বাংলা README in हिन्दी

Dify is an open-source LLM app development platform. Its intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features (including Opik, Langfuse, and Arize Phoenix) and more, letting you quickly go from prototype to production. Here's a list of the core features:

Quick start

Before installing Dify, make sure your machine meets the following minimum system requirements:

  • CPU >= 2 Core
  • RAM >= 4 GiB

The easiest way to start the Dify server is through Docker Compose. Before running Dify with the following commands, make sure that Docker and Docker Compose v2.24.0 or later are installed on your machine:

cd dify
cd docker
cp .env.example .env
docker compose up -d

After running, you can access the Dify dashboard in your browser at http://localhost/install and start the initialization process.

Seeking help

Please refer to our FAQ if you encounter problems setting up Dify. Reach out to the community and us if you are still having issues.

If you'd like to contribute to Dify or do additional development, refer to our guide to deploying from source code

Key features

1. Workflow: Build and test powerful AI workflows on a visual canvas, leveraging all the following features and beyond.

2. Comprehensive model support: Seamless integration with hundreds of proprietary / open-source LLMs from dozens of inference providers and self-hosted solutions, covering GPT, Mistral, Llama3, and any OpenAI API-compatible models. A full list of supported model providers can be found here.

providers-v5

3. Prompt IDE: Intuitive interface for crafting prompts, comparing model performance, and adding additional features such as text-to-speech to a chat-based app.

4. RAG Pipeline: Extensive RAG capabilities that cover everything from document ingestion to retrieval, with out-of-box support for text extraction from PDFs, PPTs, and other common document formats.

5. Agent capabilities: You can define agents based on LLM Function Calling or ReAct, and add pre-built or custom tools for the agent. Dify provides 50+ built-in tools for AI agents, such as Google Search, DALL·E, Stable Diffusion and WolframAlpha.

6. LLMOps: Monitor and analyze application logs and performance over time. You could continuously improve prompts, datasets, and models based on production data and annotations.

7. Backend-as-a-Service: All of Dify's offerings come with corresponding APIs, so you could effortlessly integrate Dify into your own business logic.

Using Dify

  • Cloud
    We host a Dify Cloud service for anyone to try with zero setup. It provides all the capabilities of the self-deployed version, and includes 200 free GPT-4 calls in the sandbox plan. If you run into issues with Dify Cloud, contact our Cloud support team.

  • Self-hosting Dify Community Edition
    Quickly get Dify running in your environment with this starter guide. Use our documentation for further references and more in-depth instructions.

  • Dify for enterprise / organizations
    We provide additional enterprise-centric features. Send us an email to discuss your enterprise needs.

Staying ahead

Star Dify on GitHub and be instantly notified of new releases.

star

Advanced Setup

For custom configuration, observability, and deployment options, see Advanced Setup.

Contributing

Dify welcomes contributions of all kinds:

Contributors

Dify contributors

Community & contact

Choose the channel that best fits your question:

Star History

Star History Chart

Security disclosure

To protect your privacy, please avoid posting security issues on GitHub. Instead, report issues to security@dify.ai, and our team will respond with detailed answer.

License

This repository is licensed under the Dify Open Source License, based on Apache 2.0 with additional conditions.