# dify-sandbox-py **Repository Path**: mstitop/dify-sandbox-py ## Basic Information - **Project Name**: dify-sandbox-py - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-07 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DIFY-SANDBOX-PY [English](README.md) | [中文](README_CN.md) 这是一个供 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.4 ``` 如果你不放心,希望自己打包镜像,你可以下载这个仓库,运行下面的代码打包 ``` docker build -t dify-sandbox-py:local . ``` 然后修改`docker-compose.yaml`里面sandbox为上面的`dify-sandbox-py:local`即可 ## 截图 Python的支持 ![](/images/Xnip2024-11-25_11-30-12.jpg) nodejs的支持 ![](/images/Xnip2024-11-25_11-31-01.jpg) docker容器的日志 ![](/images/Xnip2025-04-28_16-48-48.jpg) ## 说明 - 去掉了网络访问的控制,默认就支持访问网络 - 使用UV作为依赖管理,安装依赖速度更快,重启可以毫秒级安装依赖。 - 第三方依赖安装与官方一致,将需要的依赖放入`/docker/volumes/sandbox/dependencies/python-requirements.txt`,重启sandbox即可。 - 镜像只有fastapi相关的依赖,任何你需要的依赖,需要自己加到python-requirements.txt中。 - 支持环境变量配置 `PIP_MIRROR_URL`。如果你是中国去用户可以配置 `PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple`