Skip to content
AstrBot
Main Navigation HomeBlogRoadmapHTTP API

English

简体中文

English

简体中文

Toggle dark mode

Intro & DeployMessaging PlatformsAI IntegrationUsageDevelopment
Sidebar Navigation

Introduction

What is AstrBot

Community

FAQ

Deployment

Package Manager

One-click Launcher

Docker

Kubernetes

BT Panel

1Panel

Manual

Other Deployments

CasaOS

Compshare GPU

Community-provided Deployment

Support Us

Messaging Platforms

Quick Start

QQ Official Bot

Websockets

Webhook

OneBot v11

WeCom Application

WeCom AI Bot

WeChat Official Account

Personal WeChat

Lark

DingTalk

Telegram

LINE

Slack

Misskey

Discord

Satori

Connect Satori

Using server-satori

Community-provided

Matrix

KOOK

VoceChat

AI Integration

✨ Model Providers

NewAPI

AIHubMix

PPIO Cloud

SiliconFlow

TokenPony

302.AI

Ollama

LMStudio

⚙️ Agent Runners

Built-in Agent Runner

Dify

Coze

Alibaba Bailian

DeerFlow

Usage

WebUI

Plugins

Built-in Commands

Tool Use

Anthropic Skills

SubAgent Orchestration

Proactive Tasks

MCP

Web Search

Knowledge Base

Custom Rules

Agent Runner

Unified Webhook Mode

Auto Context Compression

Agent Sandbox

Development

Plugin Development

🌠 Getting Started

Minimal Example

Listen to Message Events

Send Messages

Plugin Configuration

AI

Storage

HTML to Image

Session Control

Publish Plugin

Platform Adapter Integration

AstrBot HTTP API

AstrBot Configuration File

Others

Self-hosted HTML to Image

Open Source Summer

OSPP 2025

On this page

Docker-based Code Interpreter ​

WARNING

Deprecated, please refer to the latest Agent Sandbox Environment documentation. This feature will be unavailable after v4.12.0.

Starting from version v3.4.2, AstrBot supports a code interpreter to enhance LLM capabilities and enable various automated operations.

TIP

This feature is currently in experimental stage and may have some issues. If you encounter any problems, please submit an issue on GitHub. Join our discussion group: 322154837.

To use this feature, ensure that Docker is installed on your machine. This feature requires a dedicated Docker sandbox environment to execute code and prevent malicious code generated by the LLM from harming your machine.

Running AstrBot with Docker on Linux ​

If you've deployed AstrBot using Docker, some additional setup is required.

  1. When starting the Docker container, mount /var/run/docker.sock inside the container. This allows AstrBot to launch sandbox containers.
bash
sudo docker run -itd -p 6180-6200:6180-6200 -p 11451:11451 -v $PWD/data:/AstrBot/data -v /var/run/docker.sock:/var/run/docker.sock --name astrbot soulter/astrbot:latest
  1. Use the /pi absdir <absolute-path> command during chat to set the absolute path of AstrBot's data directory on your host machine.

Example:

image

Running AstrBot from Source on Linux ​

If your Docker commands require sudo privileges, you need to start AstrBot with sudo, otherwise the code interpreter won't be able to invoke Docker due to insufficient permissions.

bash
sudo -E python3 main.py

Usage ​

This feature uses the soulter/astrbot-code-interpreter-sandbox image. You can view detailed information about the image on Docker Hub.

The image includes commonly used Python libraries:

  • Pillow
  • requests
  • numpy
  • matplotlib
  • scipy
  • scikit-learn
  • beautifulsoup4
  • pandas
  • opencv-python
  • python-docx
  • python-pptx
  • pymupdf
  • mplfonts

Tasks that can be accomplished include:

  • Image editing
  • Web scraping
  • Data analysis and simple machine learning
  • Document processing, such as reading and writing Word, PPT, PDF files
  • Mathematical calculations, such as plotting graphs and solving equations

Since Docker Hub is inaccessible from mainland China, if you're in that region, use /pi mirror to view/set the mirror source. For example, as of this writing, you can use cjie.eu.org as the mirror source by setting /pi mirror cjie.eu.org.

When the code interpreter is triggered for the first time, AstrBot will automatically pull the image, which may take some time. Please be patient.

The image may be updated periodically to provide more features, so check for updates regularly. If you need to update the image, use the /pi repull command to re-pull it.

TIP

If the feature doesn't start properly initially, after successful startup, execute /tool on python_interpreter to enable this feature. You can use /tool ls to view all tools and their enabled status.

image

Image and File Input ​

In addition to recognizing and processing images and text tasks, the code interpreter can also recognize files you send and send files back.

After v3.4.34, use the /pi file command to start uploading files. After uploading, you can use /pi list to view your uploaded files and /pi clean to clear your uploaded files.

Uploaded files will be used as input for the code interpreter.

For example, if you want to add rounded corners to an image, you can upload the image using /pi file, then ask: Please run code to add rounded corners to this image.

Demo ​

image

alt text

image

image

Edit this page on GitHub

Last updated:

Pager
NextWhat is AstrBot

Deployed on Rainyun Logo