
Dify 开源平台全解析七大核心能力与 Docker Compose 自托管部署实战【免费下载链接】difyBuild Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.项目地址: https://gitcode.com/GitHub_Trending/di/difyDify 是一个开源的 LLM 应用开发平台其直观的界面将 AI 工作流、RAG 管道、Agent 能力、模型管理、可观测性Opik、Langfuse、Arize Phoenix 等等功能融为一体帮助团队快速从原型走向生产。本文基于当前仓库的 README 文档与源码完整梳理 Dify 的七大核心能力、三种使用模式以及使用 Docker Compose 自托管部署的完整实操步骤与底层组件构成读完后你将能够理解 Dify 的技术定位并在本地环境中完成一次可运行的部署。Dify 是什么DifyDistributed Interface for Frontier-Applications定位为「构建 Agentic 工作流与 RAG 管道的一体化协作工作空间」支持部署在公有云、VPC 或完全自托管环境让团队无需重建技术栈即可从原型进入生产。从当前仓库的目录结构看项目由以下几个主要部分组成目录职责api/PythonFlask后端服务包含应用编排、RAG、工具、工作流引擎等核心逻辑web/Next.js 前端控制台与工作区界面docker/Docker Compose 部署编排与环境变量模板dify-agent/Agent 后端与沙箱相关组件cli/命令行工具源码packages/前端共享包contracts、dify-ui 等七大核心能力README 将 Dify 的能力归纳为以下七项下面逐项说明并结合仓库源码给出实现位置的佐证。1. Workflow可视化 AI 工作流在视觉画布上构建和测试强大的 AI 工作流并可复用后述全部能力。从源码结构看工作流引擎的核心实现集中在 api/core/workflow/约 90 个源文件覆盖节点、执行、画布模型等应用层执行逻辑位于 api/core/app/工作流运行数据的 API 查询与持久化则由 api/repositories/api_workflow_run_repository.py 等仓储实现。2. Comprehensive model support全面的模型支持无缝集成来自数十个推理服务商与自托管方案的数百个专有/开源 LLM覆盖 GPT、Mistral、Llama3 以及任何兼容 OpenAI API 的模型。仓库中对模型供给方的组织方式在 api/models/provider_ids.py 中体现ModelProviderID继承自GenericProviderID统一管理各厂商的 Provider 标识。向量数据库侧同样以插件化目录 api/providers/vdb/ 组织包含 pgvector、qdrant、milvus、elasticsearch、oceanbase、couchbase、matrixone 等 30 余个 VDB 实现目录每个目录对应一个可插拔的向量存储 Provider。3. Prompt IDE提示词开发环境用于撰写命令Prompt、对比模型表现、为聊天类应用添加文本转语音等附加功能的直观开发界面。前端实现位于 web/features/后端提示词组装与模板管理位于 api/core/prompt/。4. RAG Pipeline检索增强生成管道覆盖从文档摄取到检索的完整 RAG 能力开箱即用地支持从 PDF、PPT 等常见文档格式中提取文本。核心实现位于 api/core/rag/约 105 个源文件涵盖文档加载、分块、索引、检索全流程上层数据集服务由 api/services/dataset_service.py 与 api/services/vector_service.py 提供异步索引任务则分布在 api/tasks/ 中的document_indexing_task.py、create_segment_to_index_task.py等 Celery 任务中。5. Agent capabilities智能体能力基于 LLM Function Calling 或 ReAct 模式定义智能体并可为其添加内置或自定义工具。Dify 提供 50 个内置工具如 Google Search、DALL·E、Stable Diffusion、WolframAlpha 等。从源码结构看工具体系位于 api/core/tools/builtin_tool/下按 Provider 组织内置工具custom_tool/支持自定义工具mcp_tool/与plugin_tool/分别对接 MCP 与插件体系统一调度入口为 api/core/tools/tool_manager.pyAgent 策略与执行器位于 api/core/agent/。6. LLMOps应用日志与性能运营随时间监控和分析应用日志与性能基于生产数据和用户标注持续优化提示词、数据集与模型。可观测性能力通过 Trace 集成实现仓库中 api/providers/trace/ 提供了 Opik、Langfuse、Arize Phoenix、LangSmith、MLflow、Weave、阿里云等 8 个 Trace Provider 目录日志与 OTel 扩展位于 api/extensions/otel/ 与 api/extensions/ext_logging.py。7. Backend-as-a-Service后端即服务Dify 的全部能力都配有对应的 API可以无摩擦地将其嵌入你自己的业务逻辑。从源码结构看HTTP 接口层集中在 api/controllers/并按调用方划分为console控制台 API120 个模块、service_api服务端 API31 个模块、openapi、inner_api、web、files、mcp、trigger等子目录接口规范说明见 api/controllers/API_SCHEMA_GUIDE.md。使用 Dify 的三种方式README 给出了三种使用模式Dify Cloud官方托管的零配置云服务提供与自托管版本完全相同的能力沙箱计划包含 200 次免费 GPT-4 调用额度遇到 Cloud 问题可通过官方支持渠道联系。自托管社区版Self-hosting Community Edition按后文「快速开始」在自己的环境中运行 Dify更深入的参考可查阅官方文档。企业版Enterprise提供面向企业的附加功能可通过邮件或预约会议讨论企业级需求。快速开始用 Docker Compose 启动 Dify 服务器系统最低要求在安装 Dify 之前确保机器满足以下最低系统要求CPU 2 核RAM 4 GiB部署命令最简单的方式是运行仓库中的 docker-compose.yaml。执行安装命令前请确保机器上已安装 Docker 以及 Docker Composev2.24.0 或更高版本cd docker cp .env.example .env docker compose up -d运行完成后在浏览器中访问http://localhost/install即可进入 Dify 安装面板开始初始化流程。如果你希望贡献代码或进行二次开发请查阅官方的「从源码部署」指南。部署编排的底层构成docker/docker-compose.yaml文件头明确标注该文件由 docker/generate_docker_compose 自动生成不应直接修改正确的做法是修改 docker/.env.example 或 docker/docker-compose-template.yaml 后重新生成。该编排文件声明的服务包括服务镜像当前仓库锁定版本说明apilanggenius/dify-api:1.17.0Python 后端 API 服务weblanggenius/dify-web:1.17.0Next.js 前端worker/worker_beatlanggenius/dify-api:1.17.0Celery 异步任务与定时任务plugin_daemonlanggenius/dify-plugin-daemon:0.6.10-local插件守护进程sandboxlanggenius/dify-sandbox:0.2.15代码执行沙箱agent_backendlanggenius/dify-agent-backend:1.17.0Agent 后端db_postgrespostgres:15-alpine主数据库PostgreSQLredisredis:6-alpine缓存与 Celery Broker/Backendnginxnginx:latest反向代理与静态资源入口weaviate/qdrantsemitechnologies/weaviate:1.27.0/langgenius/qdrant:v1.8.3向量存储默认启用可按需切换ssrf_proxy/agent_ssrf_proxyubuntu/squid:latestSSRF 防护代理certbotcertbot/certbotHTTPS 证书管理此外还可选启用 milvus、oceanbase、seekdb、couchbase、pgvector、vastbase、pgvecto-rs、chroma、iris、oracle、elasticsearch/opensearch、myscale、matrixone 等向量存储服务。环境变量体系.env.example 文件头部的注释说明了其设计原则只包含服务启动所必需的默认值可选的进阶变量被按主题拆分到 docker/envs/ 目录下当需要某类进阶配置时将对应的*.env.example复制为去掉.example后缀的文件即可docker/.env中的值优先级高于docker/envs/*.env。envs/的目录分层为core-services/api、worker、worker-beat、web、plugin-daemon、sandbox、dify-agent 等核心服务的环境模板databases/db-postgres.env.example、db-mysql.env.example、redis.env.examplevectorstores/17 种向量存储各自的环境模板pgvector、qdrant、milvus、oceanbase 等infrastructure/nginx、certbot、ssrf-proxy、minio、etcd 等基础设施。docker/.env.example中可直接确认的部分关键变量节选变量默认值说明CONSOLE_API_URL/CONSOLE_WEB_URL空控制台 API 与前端地址留空则按当前请求推导SERVER_CONSOLE_API_URLhttp://api:5001服务端内部访问 API 的地址EXPOSE_NGINX_PORT80nginx 对外 HTTP 端口EXPOSE_NGINX_SSL_PORT443nginx 对外 HTTPS 端口DB_TYPEpostgresql主数据库类型可切 MySQLDB_HOST/DB_PORT/DB_DATABASEdb_postgres/5432/dify主数据库连接参数REDIS_HOST/REDIS_PORTredis/6379Redis 连接参数CELERY_BROKER_URLredis://:difyai123456redis:6379/1Celery 消息队列CELERY_WORKER_AMOUNT4Worker 并发数LOG_LEVEL/LOG_OUTPUT_FORMATINFO/text日志级别与输出格式LOG_FILE/app/logs/server.log日志文件路径OPENAI_API_BASEhttps://api.openai.com/v1OpenAI API 基础地址EXPOSE_PLUGIN_DAEMON_PORT5002插件守护进程端口NEXT_PUBLIC_ENABLE_AGENT_V2true前端 Agent V2 特性开关注意.env.example中SECRET_KEY默认为空生产部署时应显式设置DB_PASSWORD、REDIS_PASSWORD等凭据默认值为演示占位上线前必须修改。进阶部署自定义配置与可观测性关于自定义配置、监控与部署选项可参考仓库中的 docs/ADVANCED_SETUP.md其中涵盖自定义配置编辑docker/.env启动必需默认值见 docker/.env.example可选进阶变量按主题拆分于 docker/envs/修改后在docker目录重新执行docker compose up -d。Grafana 监控使用 Dify 的 PostgreSQL 数据库作为数据源可按应用、租户、消息等粒度导入社区 Grafana 仪表盘。Kubernetes 部署社区提供了多个 Helm Chart 与 YAML 方案另有 Azure / Google Cloud / AWS 的 Terraform、CDK 一键部署方案以及阿里云计算巢等选项。贡献与国际化Dify 欢迎各种形式的贡献代码先阅读 CONTRIBUTING.md再从适合新手的 issue 入手想法与反馈参与 GitHub 讨论翻译遵循国际化指南 web/i18n-config/README.md 添加或更新语言该指南说明英文 JSONweb/i18n/en-US/是源语言其他语言目录必须保持相同的扁平 key 与占位符并通过pnpm i18n:check校验 key 一致性社区分享你构建的应用帮助其他用户传播 Dify。本文所依据的 docs/ar-SA/README.md 正是该国际化体系的产物之一它提供了与 README.md 相同的完整内容骨架核心功能、快速开始、进阶部署、贡献指南、许可声明并以阿拉伯语输出同时顶部提供 17 种语言的 README 导航。安全披露与许可证为保护隐私请勿在公开仓库发布安全问题而应通过官方安全邮箱上报团队会给予更详细的回应。本仓库采用 Dify Open Source License 授权该许可证基于 Apache 2.0 并附加以下条件多租户限制未经 Dify 书面授权不得使用 Dify 源码运营多租户环境一个租户对应一个 workspace前端标识限制不得移除或修改 Dify 控制台或应用中的 LOGO 与版权信息前端定义为源码运行时的web/目录或 Docker 部署时的 web 镜像。除上述条件外其余权利与限制遵循 Apache License 2.0贡献者需同意其贡献代码可被用于商业用途。【免费下载链接】difyBuild Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.项目地址: https://gitcode.com/GitHub_Trending/di/dify创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考