Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 1.79 KB

README_CN.md

File metadata and controls

42 lines (32 loc) · 1.79 KB

DIFY-SANDBOX-PY

English | 中文

这是一个供 Dify 使用的代码执行器,兼容官方sandbox的API调用以及依赖安装。

  • 支持 Python3.12
  • 支持 Node.js 20

目的

因为官方sandbox有很多关于权限的设置,那是一个更好的沙盒方案,但是个人实际使用过程中,Dify的代码节点完全是个人编辑,所以也不存在代码注入风险,希望有更大的权限,安装更多依赖包例如numpy>2.0,matplotlib,scikit-learn 减少一些看不懂的报错,因此参考官方sandbox的API调用示例,开发了本代码。

用法

在官方 docker-compose.yaml 中,找到 sandbox 的 image 部分内容,替换镜像即可。

  sandbox:
    # image: langgenius/dify-sandbox:0.2.10
    image: svcvit/dify-sandbox-py:0.1.2
    # image: dockerpull.org/svcvit/dify-sandbox-py:0.1.2  #如果你是国内用户,用这个也可以,如果失败,多拉两次

如果你不放心,希望自己打包镜像,你可以下载这个仓库,运行下面的代码打包

docker build -t dify-sandbox-py:local .

然后修改docker-compose.yaml里面sandbox为上面的dify-sandbox-py:local即可

截图

Python的支持 nodejs的支持 docker容器的日志

说明

  • 去掉了网络访问的控制,默认就支持访问网络
  • 使用UV作为依赖管理,安装依赖速度更快,重启可以毫秒级安装依赖。
  • 第三方依赖安装与官方一致,将需要的依赖放入/docker/volumes/sandbox/dependencies/python-requirements.txt,重启sandbox即可。
  • 镜像只有fastapi相关的依赖,任何你需要的依赖,需要自己加到python-requirements.txt中。