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
的开发中。
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
的开发中。