DifySandbox
是一个轻量、快速、安全的代码运行环境,支持多种编程语言,包括 Python
、Nodejs
等,用户在 Dify Workflow
中使用到的如 Code
节点、Template Transform
节点、LLM
节点的 Jinja2 语法、Tool
节点的 Code Interpreter
等都基于 DifySandbox 运行,它确保了 Dify
可以运行用户代码的前提下整个系统的安全性。
DifySandbox
基于 Seccomp
,这是一个系统层级的解决方案,从而确保了可以支持多种编程语言,目前支持了 Python
与 Nodejs
。Egress
配置网络隔离策略即可。在安装和部署 DifySandbox 项目前,请确保你的系统满足以下依赖要求:
根据 Linux 发行版,执行相应的命令安装必要的系统组件:
需要安装 Go 开发环境(建议 Go 1.20.6 或更高版本):
验证安装:
Sandbox 环境准备
建议安装 Python 3.10 或以上版本。
预装依赖管理
DifySandbox 已预先配置了以下 Python 依赖:
http
- 基础网络请求库jinja2
- 模板引擎,用于 LLM 提示词处理requests
- HTTP 客户端库添加自定义依赖
若需要额外的 Python 依赖,请遵循以下步骤
dependencies/python-requirements.txt
文件。添加新依赖可能引入额外权限需求,请谨慎评估安全影响。若未能完全掌控潜在安全风险,不建议更改权限配置。
你可以参考 贡献指南 来参与到 DifySandbox
的开发中。