这是一个供 Dify 使用的代码执行器,兼容官方sandbox的API调用以及依赖安装。
因为官方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容器的日志

/docker/volumes/sandbox/dependencies/python-requirements.txt,重启sandbox即可。