Linchpin / Compare / vs Dify

Linchpin vs Dify

Both are open-source and self-hostable. They aim at different users: Dify is a visual LLMOps platform with a drag-and-drop workflow builder for non-developer-led teams. Linchpin is a code-first agent runtime exposed as an HTTP API. Different audience, different abstraction.

What each one is

§ 01

Linchpin is an open-source managed-agent runtime. Three services and Postgres on a single VM. You define agents (system prompt + tools + model), environments (capabilities and policies), and open sessions over an HTTP API. Output streams back via SSE from an append-only event log. Code-first, language-agnostic via HTTP. Apache-2.0. Stack: FastAPI, React, Postgres 16, Docker. Models: OpenRouter (~200) and Ollama (local).

Dify is an open-source LLMOps platform. The headline feature is a visual workflow builder where you wire blocks — prompts, tools, branches, datasets — into a chatbot or agent. It ships with a polished web UI, dataset / RAG ingestion, prompt management, and observability. Self-hostable via Docker. Broad model provider integration. License: Apache-2.0 with some commercial restrictions historically; check the LICENSE file in the version you install.

Frame: Dify is a platform for building agent products through a visual UI. Linchpin is a runtime layer exposed as an HTTP API for engineering teams who write code.

Side by side

§ 02
DimensionLinchpinDify
Primary surfaceHTTP API + SSE (code-first)Visual workflow builder (UI-first)
LicenseApache-2.0Apache-2.0 (verify the version's LICENSE for commercial-use clauses)
Self-hostSingle VM, docker compose upSingle VM, docker compose up
Target userEngineers building agent productsNon-engineering teams + engineers building chatbots / RAG apps
Model providersOpenRouter (~200) + Ollama onlyBroad: OpenAI, Anthropic, Azure, Bedrock, Hugging Face, etc.
RAG / datasetsNot built-in; you wire your own retrieval via tools or MCPBuilt-in dataset ingestion, vector store, retrieval
SandboxPer-session Docker container, per-env network policyNo per-session container sandbox
Built-in tools8 (bash, read, write, edit, glob, grep, web_fetch, web_search)Wide catalog via visual builder
MCP supportYes (stdio MCP servers in the sandbox)Has MCP integration in recent versions
Event logAppend-only Postgres, SSE replay, cursor-paginatedConversation history + observability traces
UX out of the boxFunctional session console, not opinionatedPolished chatbot UI, embeddable widgets
Multi-tenantNo (single-tenant)Yes (workspaces, members)

When to pick Linchpin

§ 03

When to pick Dify

§ 04

Using them together

§ 05

They are compatible. A pragmatic split: Dify for customer-facing chatbots and RAG apps where the workflow is mostly LLM calls + retrieval. Linchpin for internal agents that need to run code, hit the filesystem, or call MCP tools in a sandbox. Both run on the same host under docker compose.

If you must pick one and your agents need to do things in a shell, pick Linchpin. If your agents are mostly chatbots over your data, pick Dify.

Honest take

Dify is more mature, has more community, more contributors, more polish. Linchpin is younger, smaller, more focused. If "agent that runs code in a sandbox" is the load-bearing requirement, Linchpin is the better-shaped tool. If it is not, Dify is the safer general-purpose bet.

Related

§ 06