📘 Team Explainer • Dify-powered product strategy

We build the experience.
Dify runs the engine.

This document explains, in simple visual terms, how we can create our own branded no-code AI agent/workflow platform while using Dify underneath for workflow execution, agents, RAG, tools, model connections and runtime operations.

The one sentence everyone should remember
We are not rebuilding Dify.
We are building our own product UI on top of Dify.
Think of Dify as the engine, gearbox and electronics inside a car. Our product is the dashboard, controls, body design and customer experience.
🚙 PRODUCT ANALOGY OUR UI what the customer sees DIFY Same engine. Our own vehicle.
Important: Similar functionality is fine as a product goal, but we should not make a pixel-for-pixel or interaction-for-interaction clone of Dify’s frontend. The current Dify license specifically protects its frontend branding and notes that the product’s interactive design is protected by an appearance patent.
Chapter 1

The idea in plain English

A customer should feel like they are using our AI automation platform. They create agents, drag workflow nodes, connect company systems, add knowledge and run automations. Underneath, Dify does the heavy execution work.

THE PRODUCT STACK OUR PRODUCT Dashboard Visual Builder Agent Setup Knowledge UI Connections + Logs DIFY ENGINE Workflow runtime Agent execution RAG / datasets Tools / plugins Runs / tracing OUTSIDE WORLD OpenAI / Claude Gemini / private LLM CRM / ERP Email / SharePoint Databases / APIs OUR ADAPTER CONNECTORS
🎨

We own the experience

Branding, page structure, workflow editor, settings, templates, onboarding and permissions are ours.

⚙️

Dify owns the heavy runtime

Instead of writing an agent/workflow execution engine from scratch, we delegate execution to Dify.

🔌

Systems stay pluggable

LLMs, company APIs, MCP servers, tools and knowledge sources sit behind the runtime.

Chapter 2

What exactly are we building?

The simplest way to divide the work is: customer-facing product layer vs execution layer.

👩‍🎨

WE BUILD THIS

  • Our login, branding and navigation
  • Agent creation screens
  • Visual drag-and-drop workflow editor
  • Knowledge-base management screens
  • Connections / credentials UI
  • Templates and starter workflows
  • Human-friendly run history and error screens
  • Role/permission rules appropriate for our customers
  • Deployment/updater tooling for each customer
🧠

DIFY ALREADY DOES THIS

  • Execute workflow graphs
  • Run LLM and agent nodes
  • Manage model-provider connections
  • Run RAG / knowledge retrieval
  • Execute tools and plugins
  • Handle node variables and outputs
  • Track workflow runs and traces
  • Publish and execute applications
  • Maintain internal workflow definitions
Why this matters: a normal “build our own agent platform” project can turn into years of engine work. With this architecture, our main engineering challenge becomes a much more manageable product problem: build a clean frontend + stable adapter to Dify.
WHAT THE CUSTOMER SEES VS WHAT THEY NEVER NEED TO SEE VISIBLE: OUR PRODUCT Dashboard Agent Builder Workflow Canvas Knowledge Connections / Logs OUR DIFY ADAPTER API HIDDEN: DIFY RUNTIME Workflow Engine Agent Runtime RAG Tools / Plugins Runs / Versions
Chapter 3

What happens when a user drags a node?

This is the most important engineering flow for the team to understand.

EXAMPLE: USER CREATES “EMAIL → AI → APPROVAL → SEND” 1. USER ACTIONdrops AI node 2. OUR CANVASupdates local graph 3. ADAPTERtranslates graph 4. DIFYstores draft 5. RUNexecutes THE ACTUAL WORKFLOW THE USER SEES 📧 EMAILtrigger 🤖 AI AGENTunderstand + draft 👤 APPROVALhuman check ✉️ SENDfinal action
Frontend

Canvas state

Our UI stores nodes, positions, connections and friendly labels.

Backend

Translate

Our adapter converts our friendly graph schema into Dify’s workflow graph schema.

Dify

Save + validate

Dify receives the workflow draft, validates it and prepares it for execution.

Runtime

Execute

Dify invokes models, RAG, tools and APIs, then returns results and traces.

Chapter 4

The adapter is our safety wall

Dify’s normal public Service API is designed mainly for running apps. To reproduce Studio-like management functionality, we need capabilities similar to the internal Console API used by Dify’s own frontend. We should hide that behind one adapter owned by us.

OUR FRONTEND Create app Edit graph Knowledge Models Plugins Versions Runs OUR DIFY ADAPTER Stable API for our frontend Authentication + session handling Our schema ↔ Dify schema Version compatibility layer ONLY THIS LAYER KNOWS DIFY DETAILS DIFY Console endpoints Workflow drafts Datasets / RAG Providers Plugins Publishing Execution
Why the adapter matters: internal Dify endpoints may change between releases. If our UI calls Dify directly everywhere, every Dify upgrade can break dozens of screens. If everything goes through one adapter, we update one compatibility layer.
🛡️

Good architecture

Our UI ↓ /api/workflows ↓ DifyAdapter ↓ Dify console/runtime endpoints
💥

Fragile architecture

Page A → Dify endpoint X Page B → Dify endpoint Y Page C → Dify endpoint Z Page D → direct DB write ...
Chapter 5

One dedicated environment per customer

Our intended commercial model is not “one Dify with many customer workspaces.” Instead, each company gets its own isolated deployment.

DEDICATED CUSTOMER DEPLOYMENT MODEL CUSTOMER A Our UI Our Adapter Dedicated Dify A Own DB • Redis • files Own credentials • LLMs CUSTOMER B Our UI Our Adapter Dedicated Dify B Own DB • Redis • files Own credentials • LLMs CUSTOMER C Our UI Our Adapter Dedicated Dify C Own DB • Redis • files Own credentials • LLMs
✅

Our intended pattern

One customer = one isolated deployment. Their workflows, credentials, knowledge and runtime are separated at the infrastructure level.

🚫

Pattern to avoid without commercial authorization

One shared Dify = many customer workspaces. The current license defines a tenant as a workspace and restricts using the source to operate a multi-tenant environment unless authorized in writing.

Chapter 6

What has already been built by the open-source community?

We did not find a polished, complete “replacement Dify Studio” that we can simply clone and ship. But we found projects that solve important pieces of the puzzle—especially programmatic control of Dify.

🧰

dify-mcp

Most important reference

Exposes the Dify console surface programmatically through a large MCP/CLI tool registry. Its README currently documents 174 tools across 19 namespaces.

Why we care: it is a map of how to programmatically create apps, manipulate workflows, manage RAG, providers, plugins, runs, versions and more.

🛠️

PSDify

Management automation

A community project for programmatically managing Dify resources. Useful as another reference for automation around apps, knowledge and related workspace operations.

Why we care: it reinforces that Dify can be controlled beyond the public run API—but compatibility must be managed carefully.

🔄

coze2dify

Graph translation example

Converts Coze workflows into Dify DSL/graphs. It has a frontend, backend, graph components and a conversion layer.

Why we care: it demonstrates the exact idea of translating a foreign workflow representation into a Dify-compatible graph.

Important distinction: these are not “our finished frontend.” They are reference implementations and building blocks. We can learn from their API handling, graph translation, schema mapping and test strategies instead of reverse-engineering every Dify capability ourselves.
HOW WE USE OPEN-SOURCE REFERENCES dify-mcp Console API knowledge PSDify Management patterns coze2dify Graph conversion ideas OUR ADAPTER Our schemas Auth / sessions Compatibility Tests + version gates DIFY workflow engine agents • RAG • tools runtime + persistence
Chapter 7

Licensing and design guardrails

These are product-engineering guardrails, not legal advice. Before commercial launch, we should obtain written confirmation from Dify for our exact deployment model.

✅

Current license explicitly allows

Commercial use including using Dify as a backend service for other applications or as an application-development platform.

⚠️

Multi-tenant restriction

The current license says operating a multi-tenant environment using Dify source requires written authorization; a tenant is defined as a workspace.

🎨

Frontend / appearance

Dify’s frontend logo/copyright rules apply when using its frontend. The license also says the product’s interactive design is protected by an appearance patent.

✅ Our design goal

  • Same category of capabilities
  • Our own navigation and information architecture
  • Our own visual node components
  • Our own onboarding and terminology
  • Our own workflow UX conventions
  • Dedicated Dify deployment per customer

❌ Do not aim for

  • Pixel-for-pixel copy of Dify
  • Cloning every interaction exactly
  • Taking Dify frontend and simply hiding branding
  • One shared Dify with a workspace for every customer without authorization
  • UI code tightly coupled to undocumented Dify endpoints everywhere
Chapter 8

Recommended build roadmap

Do not rebuild every Dify screen on day one. Prove the adapter and the visual builder first.

1

Freeze one Dify version

Pick a known Dify version for development. Do not chase every upstream release while the product architecture is still changing.

2

Build the Dify adapter first

Implement app list/create, workflow draft read/write, validate, run and publish. This proves that our frontend can control Dify without depending on its frontend.

3

Build the simplest visual canvas

Start with a tiny node set: Start, LLM/Agent, Knowledge, HTTP Tool, Condition, Human Approval and Output.

4

Add knowledge + model configuration

Create our own screens for datasets, uploaded documents, model providers and credentials.

5

Add run history and debugging

Translate Dify traces into a clean visual execution timeline so business users can understand why a workflow failed.

6

Build customer deployment automation

One command or installer should provision the customer’s frontend, adapter, Dify, database, cache, storage and secrets.

Chapter 9

What should our first MVP actually contain?

The first MVP should prove that a non-technical user can build and run a useful workflow without ever seeing Dify.

🏠

Dashboard

Agents, workflows, recent runs, templates.

🧩

Workflow Builder

Drag, connect, configure, test and publish.

🤖

Agent Setup

Instructions, model, tools, knowledge and variables.

📚

Knowledge

Upload documents, see indexing status, test retrieval.

🔌

Connections

Model providers, APIs, credentials and MCP/tool endpoints.

🧪

Test Run

Run workflow from the builder with sample input.

🔎

Run Inspector

See every node, timing, output and error in simple language.

🚀

Publish

Activate a workflow/app after validation.

MVP success test: take a teammate who has never used Dify. Ask them to create: “When a support request arrives, classify it, search our documents, draft a reply, ask for approval and send it.” If they can build and understand it inside our UI, our product concept is working.
MVP WORKFLOW EXPERIENCE NODE LIBRARY ⚡ Trigger 🤖 AI Agent 📚 Knowledge 🔀 Condition WORKFLOW CANVAS SUPPORT EMAIL AI CLASSIFY KNOWLEDGE APPROVAL SEND ▶ TEST WORKFLOW
Chapter 10

Technical structure we should aim for

A simple separation of responsibilities will keep the product maintainable.

LayerSuggested responsibilityPossible technology
Web UIDashboard, agent builder, workflow canvas, knowledge, settingsReact / Next.js
CanvasNodes, edges, zoom, selection, graph editingReact Flow / XYFlow
Our APIAuth, validation, stable product endpointsFastAPI / Node
Dify AdapterTranslate our objects into Dify objects; handle Dify upgradesDedicated service/module
DifyWorkflow/agent/RAG/tool executionSelf-hosted Dify
Customer dataRuntime DB, cache, files, vector storageDedicated per deployment
External systemsLLMs, APIs, email, CRM, ERP, MCP, databasesProvider/plugin/tool integrations
Chapter 11

Three risks the team must design for

🔁

1. Dify API changes

Some Studio-management behavior relies on console/internal surfaces, not only the stable public runtime API.

Mitigation: adapter layer + pin Dify versions + compatibility tests before upgrades.

🧱

2. Trying to build too much UI

Copying every Dify screen immediately will waste time and make the product complicated.

Mitigation: start with the 20% of features that unlock 80% of customer workflows.

⚖️

3. License / design assumptions

Licensing terms and upstream behavior can change.

Mitigation: dedicated deployments, original UI, written confirmation from Dify before commercial scale.

Final page

The mental model to leave with

“Our customer should feel like they are using our platform. Our engineers should feel like they are using Dify as an engine.”
1️⃣

Own the UX

We differentiate through simplicity, workflow templates, enterprise integrations, deployment and user experience.

2️⃣

Reuse the engine

Dify saves us from rebuilding workflow execution, model orchestration, RAG and tool execution from scratch.

3️⃣

Protect the boundary

A clean adapter between our product and Dify lets us upgrade or even replace the underlying engine later.

The strategic advantage: if we design the adapter well, our product is not permanently trapped inside Dify. Our frontend speaks our own workflow model. Today the adapter compiles it to Dify. In the future, another adapter could target LangGraph, Temporal or another runtime without redesigning the customer experience.
Sources checked • October 2026

Source notes

These links are included so engineering and legal can verify the assumptions directly.

Dify license: github.com/langgenius/dify/blob/main/LICENSE
Commercial backend use, multi-tenant restriction, frontend branding condition, appearance-patent notice.
dify-mcp: github.com/alexjiaguo/dify-mcp
Programmatic Dify console control; current README describes 174 tools across 19 namespaces.
PSDify: github.com/kurokobo/psdify
Community automation/management project around Dify.
coze2dify: github.com/biaoma-ty/coze2dify
Coze → Dify graph/DSL conversion project with frontend/backend and graph-mapping examples.
Not legal advice. Before selling the product, send Dify a short architecture diagram showing “our UI → our adapter → one dedicated Dify deployment per customer” and obtain written confirmation that the intended commercial use is acceptable.