sha256:06fb6b72b26d785a017b663e5816e6f81fc9ac76f1c46681916c4c6d468e4180
Last pushed
14 days by dockerpublicbot
Type
Sandbox Kit
Manifest digest
sha256:06fb6b72b26d785a017b663e5816e6f81fc9ac76f1c46681916c4c6d468e4180
schemaVersion: "2"
kind: sandbox
name: open-interpreter
displayName: Open Interpreter
description: |
Natural language interface for your sandbox. Describe what you need; Open Interpreter writes and runs the code (Python, JS, Shell, and more) to complete the task.
sandbox:
image: docker.io/sbx/open-interpreter-image:latest
entrypoint:
- sh
command:
default:
- /home/agent/.local/bin/open-interpreter-start.sh
interactive:
- /home/agent/.local/bin/open-interpreter-start.sh
agentInstructions:
filename: AGENTS.md
content: |
## Open Interpreter
You are Open Interpreter. You take natural language requests and complete
them by writing and running code.
The sandbox is isolated — you can run code freely without worrying about
damaging the host system.
- **Auto-run is on**: code executes without confirmation prompts.
- **Supported languages**: Python, JavaScript, Shell, and anything else
installed in the environment.
- **Switch models**: run `interpreter --model claude-3-5-sonnet-20241022`
to use Claude, or `interpreter --model ollama/llama3` for a local model.
- **Workspace**: your working directory is `${WORKDIR}`. Files created
there persist across sandbox restarts.
permissions:
network:
allow:
- api.anthropic.com
- platform.claude.com:443
- api.openai.com
- pypi.org
- files.pythonhosted.org
- registry.npmjs.org
- '*.npmjs.org'
- deb.debian.org
- archive.ubuntu.com
- security.ubuntu.com
- ports.ubuntu.com
- download.docker.com
credentials:
- service: anthropic
apiKey:
name: ANTHROPIC_API_KEY
proxyManaged: true
inject:
- domain: api.anthropic.com
header: x-api-key
format: '%s'
oauth:
tokenEndpoint:
host: platform.claude.com
path: /v1/oauth/token
resourceHosts:
- api.anthropic.com
sentinels:
accessToken: sk-ant-oat01-proxy-managed
refreshToken: sk-ant-ort01-proxy-managed
credentialFile:
path: ~/.claude/.credentials.json
structure:
claudeAiOauth:
accessToken: '{{.AccessToken}}'
expiresAt: '{{.ExpiresAt}}'
refreshToken: '{{.RefreshToken}}'
scopes: '{{.Scopes}}'
- service: openai
apiKey:
name: OPENAI_API_KEY
proxyManaged: true
inject:
- domain: api.openai.com
header: Authorization
format: Bearer %s
setup:
startup:
- command:
- sh
- /home/agent/.local/bin/open-interpreter-anthropic-auth.sh
user: "1000"
description: Resolve whether Anthropic auth is an API key, an OAuth login, or absent, and record it for the entrypoint and `sbx exec` shells