Sign inSign up

sbx/open-interpreter-kit:latest

Manifest digest

sha256:06fb6b72b26d785a017b663e5816e6f81fc9ac76f1c46681916c4c6d468e4180

Last pushed

13 days by sbx

Type

Sandbox Kit

Manifest digest

sha256:06fb6b72b26d785a017b663e5816e6f81fc9ac76f1c46681916c4c6d468e4180

yaml
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