mrkeyoor.com_
Wed 16 Sept 05:24 UTC
LLM Toolsevaluationupdated 27 Aug 2026

dify review

Dify is a visual platform for building applications around language models, retrieval, tools, and multi-step workflows. It gives product teams one place to design prompts, connect model providers, index documents, expose APIs, and inspect production runs.

+613stars / 7d
Verdict

Our Dify install pulled 1,342 packages, used 1,408 MB, and exposed no root build or test target, so adoption starts with a large working surface and incomplete evidence from the default workspace command. Use it when a team needs a shared LLM application layer with workflows, retrieval, APIs, and run inspection. Skip it for one prompt-backed feature, or when the Dify license and multi-service upgrade process do not fit your operating rules.

We ran it

Lab card: what happened when we ran difyScreenshot of dify (dify.ai)
Install✓ · 61s1342 packages · 1408 MB
Buildn/ano build script
Testsn/ano test script
Repo13460 files~2,126,431 lines of source · 125.1 MB · 35 CI workflows

Answers from our run

Does dify build from source?

Dependencies installed in 61 seconds (1342 packages), and the project has no separate build step. We cloned commit e18310e into a clean Debian container with 3 CPUs and no project-specific setup.

Does dify have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use dify?

Small teams seeking a light library: our checkout contained 13,460 files and about 2,126,431 source lines before 1,342 packages were installed.

What are the alternatives to dify?

Langflow, Flowise, n8n. Our Dify install pulled 1,342 packages, used 1,408 MB, and exposed no root build or test target, so adoption starts with a large working surface and incomplete evidence from the default workspace command.

Setup3/561-second install; real service setup is much larger
Docs4/5Clear Compose start and upgrade notes, with many moving parts
Community5/5153,602 stars and active August 2026 development
Maturity4/5v1.17.0 is broad, but upgrades require careful migrations

Discussed on

  1. hnDify, a visual workflow to build/test LLM applications185 points

Who it’s for

Product and engineering teams that want a shared visual builder for LLM workflows and retrieval applications.
Companies that need to switch among hosted or self-hosted model providers without rebuilding the whole application layer.
Operators prepared to run Dify's API, workers, web app, databases, vector storage, sandbox, and plugin services.
Teams that want a hosted trial but retain a path to a self-managed community edition.

Who it’s NOT for

Small teams seeking a light library: our checkout contained 13,460 files and about 2,126,431 source lines before 1,342 packages were installed.
Buyers who require plain Apache-2.0 terms: the repository uses the Dify Open Source License, based on Apache 2.0 with additional conditions.
Operators who cannot review migrations and environment changes on upgrades: release 1.17.0 renames EDITION, changes Compose files, and adds database migrations.
Developers expecting one root command to prove the whole product: our measured target had neither a build script nor a test script.
Teams that only need a direct model API: Dify adds workflow state, user management, retrieval, plugins, observability, and several persistent services.

Setup reality

Our sandbox installed 1,342 pnpm packages in 61 seconds and used 1,408 MB on disk. The measured root target provided no build script and no test script, so both steps were skipped. The 125.1 MB checkout was a workspace monorepo with 35 CI workflow files.

The README's easiest route needs at least 2 CPU cores, 4 GiB RAM, Docker, Compose 2.24.0 or later, and a copied environment file. Useful apps also need model-provider keys or self-hosted endpoints; retrieval adds document storage, an embedding model, and a vector database choice.

Production is a multi-service deployment, not the 61-second dependency install. Release 1.17.0 requires migrations, significant environment review, and careful reapplication of custom Compose changes. Agent code execution adds a local or E2B sandbox and its own authentication settings.

Dify puts workflows, retrieval, and model access in one product

A Dify application starts on a visual canvas. Teams can connect language-model calls, tools, branches, loops, human input, and retrieval steps, then publish the result behind an API or a user-facing app. Prompt editing, model selection, knowledge bases, logs, and annotations live in the same system. That shared surface is the reason to consider Dify instead of stitching together an orchestration library, admin console, and observability service.

The scope is wide enough to create its own gravity. The checkout at commit e18310e contained 13,460 files, about 2,126,431 lines of source, and 125.1 MB of code. A team adopting Dify is selecting an application platform, not adding a small SDK. That can reduce product work when most requirements match its model, while custom behavior has to fit workflow nodes, plugins, APIs, and the platform's release cycle.

The visual editor is useful only if the team accepts the platform boundary

Dify supports hosted and self-managed model endpoints, visual RAG pipelines, agent tools, app APIs, and production run inspection. Nondevelopers can read a graph and adjust prompts without editing the application repository. Engineers still control credentials, datasets, model settings, and deployment. This division works well when product specialists need daily access but infrastructure staff retain responsibility for data and execution.

Release 1.17.0 adds workspace-level skills with draft, publish, and version states, reusable LLM environment variables, and human input inside loops. It also adds a local or E2B agent runtime, home snapshots for published agents, and opt-in unified tracing. Those are substantive platform features, but each introduces state or configuration that must survive an upgrade. The release notes list new migrations and a renamed DEPLOYMENT_EDITION variable, plus changed Compose files.

What happened when we ran it

Our sandbox installed the pnpm workspace in 61 seconds. It pulled 1,342 packages and occupied 1,408 MB on disk, which is already a large developer footprint before containers, databases, model weights, or indexed documents. The install succeeded at commit e18310e in an unprivileged Debian container with 3 CPUs and 8 GB of RAM.

The root workspace exposed no build script or target, so the build step was skipped. It also exposed no test script or target, so tests were skipped. That is not a failed build or a passing suite. It means the generic root commands used by our lab could verify dependency resolution but could not produce evidence about compiled output or application tests. Dify's 35 CI workflow files suggest more specific checks exist across the monorepo.

Our scan found no Dockerfile and no tests directory at the measured root, while the README directs users to docker/docker-compose.yaml. That distinction matters: the published product is assembled from multiple service definitions rather than proved by one root package command. The 61-second install says the JavaScript workspace resolves on our box. It says nothing about Python services, a database migration, vector retrieval, model calls, or sandbox isolation.

The 4 GiB quick start is a floor, not a production design

The README requires at least 2 CPU cores, 4 GiB of RAM, Docker, and Docker Compose 2.24.0 or later. After copying the example environment file, docker compose up -d brings up the stack and the browser completes initialization. This is a reasonable evaluation route because it avoids manual source setup across the web and API layers. It also hides the number of services until an operator reads the Compose file.

A useful installation needs model credentials or reachable self-hosted inference. Knowledge bases need an embedding model, document storage, and a vector-store decision. Production also has application secrets, user authentication, worker queues, outbound network rules, backups, and observability. Agent shell execution raises the stakes: version 1.17.0 can use a local sandbox or E2B, with backend selection, authentication tokens, file download limits, and several timeout controls.

Version 1.17.0 makes upgrades a planned operation

The August 25, 2026 release explicitly instructs operators to run database migrations. It renames EDITION to DEPLOYMENT_EDITION, adds several environment variables, changes defaults, and modifies Docker Compose. The notes warn that an index on an existing conversations table may take longer when that table is large. Customized Compose users must back up their files and reapply local edits rather than replacing the stack blindly.

That release discipline is reassuring, but the amount of change argues for a staging environment and tested rollback. Dify has 153,602 stars, 958 combined issues and pull requests, and a last push on August 27, 2026. Activity is plainly current. The queue is not a defect count, and fast movement still means operators must read release notes instead of treating a minor version as routine package maintenance.

The license needs review before platform commitment

GitHub reports no standard SPDX identifier because Dify uses its own Open Source License, based on Apache 2.0 with additional conditions. The README also separates Community Edition, cloud service, and enterprise offerings. Teams with rules that require an OSI-approved license or unmodified Apache-2.0 terms should have counsel read the repository license before building internal dependencies around Dify.

For teams that clear the license and need its whole product layer, Dify can replace months of internal interface work. The price is operational: 1,342 installed packages in our limited run, multiple persistent services, model and storage credentials, migrations, and a release stream that changes configuration. Langflow or Flowise is easier to justify for a narrower visual builder. A direct SDK is cheaper when the application needs one model call and ordinary product code can own the rest.

Alternatives

ProjectWhat it isPick it when
Langflow gh↗A visual Python-oriented builder for agents and model flows.pick this instead when experimentation with component graphs matters more than Dify's product and knowledge-base layer.
Flowise gh↗A visual Node.js builder focused on LLM chains, assistants, and agents.pick this instead when you want a smaller visual canvas and can assemble surrounding product features yourself.
n8n gh↗A general workflow platform whose AI nodes sit beside a large SaaS integration catalog.pick this instead when business-system automation is the main job and LLM work is one part of it.

Sources

  1. Dify README
  2. Dify repository facts
  3. Dify 1.17.0 release
  4. Dify license
  5. Dify open issues and pull requests

More llm tools reviews

headcount · useagent · claude-skills · RAG_Techniques · ux-ui-agent-skills · dictionary-of-ai-coding · the whole board →