# dify-agentbox **Repository Path**: dify_ai/dify-agentbox ## Basic Information - **Project Name**: dify-agentbox - **Description**: A production-ready, all-in-one Docker image designed for AI agents and autonomous systems that need to execute code across multiple programming languages. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-16 - **Last Updated**: 2026-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Dify AgentBox A production-ready, all-in-one Docker image designed for AI agents and autonomous systems that need to execute code across multiple programming languages. ## Why AgentBox? AI agents often need to: - Execute code in multiple languages (Python, JavaScript, Go, etc.) - Process documents, images, and multimedia - Interact with web browsers for automation - Access databases and external services Instead of managing separate containers or installing dependencies on-the-fly, AgentBox provides everything pre-configured in a single, secure image. ## What's Inside - **Multi-language runtime**: Python, Node.js, Go, Ruby, Rust - **Document processing**: PDF, Excel, PowerPoint, Word, HTML - **Browser automation**: Playwright with Chromium & Firefox - **Data tools**: pandas, numpy, database clients (MySQL, PostgreSQL, SQLite) - **Media processing**: ffmpeg, image manipulation - **Development tools**: git, build tools, debuggers ## Quick Start ```bash docker run -it --rm -v $(pwd):/workspace langgenius/dify-agentbox:latest ``` Multi-arch images (amd64/arm64) are published and tagged with the full git SHA plus `latest`. ## Use Cases - **AI Agent Execution**: Run LLM-generated code safely in isolated environments - **Code Interpreters**: Execute user code across multiple languages - **Document Processing**: Convert, extract, and transform documents at scale - **Browser Automation**: Scrape websites, test web applications, automate workflows - **CI/CD Pipelines**: Universal build environment with all tools included ## Managing This Repository ### Project Structure ``` dify-agentbox/ ├── versions/versions.yaml # Version configuration for all packages ├── Dockerfile.j2 # Jinja2 template for generating Dockerfile ├── build.py # Build script to render and build images └── .github/workflows/ # CI/CD automation ``` ### Making Changes **1. Update Package Versions** Edit `versions/versions.yaml`: ```yaml languages: python: version: "3.12" nodejs: version: "20" python_packages: - name: "pandas[excel,html,xml]" version: "~=2.2.3" ``` **2. Render & build locally (multi-arch)** ```bash # Install dependencies uv sync # Render Dockerfile uv run python build.py # Build multi-arch image with git SHA tag TAG=$(git rev-parse --short HEAD) docker buildx build --platform linux/amd64,linux/arm64 -t langgenius/dify-agentbox:${TAG} . ``` **3. Test Changes** ```bash # Run the image docker run -it --rm langgenius/dify-agentbox:${TAG} # Verify installations python --version node --version go version ``` ### CI/CD Workflow Images are automatically built and pushed when: - **Push to main**: Builds and tags as `latest` - **Create tag** (e.g., `v1.0.0`): Builds and tags with semantic version - **Pull request**: Validates build without pushing Multi-architecture builds (amd64, arm64) are enabled by default. ### Adding New Packages **System packages** (apt): ```yaml system_packages: utilities: - your-package-name ``` **Python packages**: ```yaml python_packages: - name: "your-package" version: "~=1.0.0" ``` **Node.js packages**: ```yaml nodejs_packages: - your-global-package ``` After making changes, rebuild and test locally before pushing. ## License Apache 2.0