e0e362d700
SDK Tests / changes (push) Waiting to run
SDK Tests / Python SDK Tests (sandbox) (push) Blocked by required conditions
SDK Tests / CLI Quality (push) Blocked by required conditions
SDK Tests / CLI Tests (push) Blocked by required conditions
SDK Tests / Python SDK Quality (code-interpreter) (push) Blocked by required conditions
SDK Tests / Python SDK Quality (sandbox) (push) Blocked by required conditions
SDK Tests / Python SDK Tests (code-interpreter) (push) Blocked by required conditions
SDK Tests / JavaScript SDK Quality And Tests (code-interpreter) (push) Blocked by required conditions
SDK Tests / JavaScript SDK Quality And Tests (sandbox) (push) Blocked by required conditions
Deploy Docs Pages / build (push) Waiting to run
Deploy Docs Pages / deploy (push) Blocked by required conditions
Real E2E Tests / changes (push) Waiting to run
Real E2E Tests / Python E2E (docker bridge) (push) Blocked by required conditions
Real E2E Tests / Java E2E (docker bridge) (push) Blocked by required conditions
Real E2E Tests / JavaScript E2E (docker bridge) (push) Blocked by required conditions
Real E2E Tests / C# E2E (docker bridge) (push) Blocked by required conditions
Real E2E Tests / Go E2E (docker bridge) (push) Blocked by required conditions
Real E2E Tests / Real E2E CI (push) Blocked by required conditions
SDK Tests / Kotlin SDK Quality And Tests (sandbox) (push) Blocked by required conditions
SDK Tests / Kotlin SDK Quality And Tests (code-interpreter) (push) Blocked by required conditions
SDK Tests / C# SDK Quality And Tests (code-interpreter) (push) Blocked by required conditions
SDK Tests / C# SDK Quality And Tests (sandbox) (push) Blocked by required conditions
SDK Tests / Go SDK Quality And Tests (push) Blocked by required conditions
SDK Tests / SDK CI (push) Blocked by required conditions
66 lines
2.4 KiB
Markdown
66 lines
2.4 KiB
Markdown
---
|
|
title: LangGraph
|
|
description: Integrate LangGraph with OpenSandbox using a graph-driven control flow for agent orchestration.
|
|
---
|
|
|
|
# LangGraph Agent + OpenSandbox Example
|
|
|
|
Integrate LangGraph with OpenSandbox using a graph-driven control flow. The example uses
|
|
explicit state machine nodes to create, prepare, run, inspect, and clean up a sandbox, plus
|
|
a decision node to retry with a fallback command if the run step fails.
|
|
|
|
## Start OpenSandbox server [local]
|
|
|
|
Pre-pull the code-interpreter image (includes Python):
|
|
|
|
```shell
|
|
docker pull sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/code-interpreter:v1.1.0
|
|
|
|
# use docker hub
|
|
# docker pull opensandbox/code-interpreter:v1.1.0
|
|
```
|
|
|
|
Start the local OpenSandbox server, logs will be visible in the terminal:
|
|
|
|
```shell
|
|
uv pip install opensandbox-server
|
|
opensandbox-server init-config ~/.sandbox.toml --example docker
|
|
opensandbox-server
|
|
```
|
|
|
|
## Run the example
|
|
|
|
```shell
|
|
# Install OpenSandbox + LangGraph deps
|
|
uv pip install opensandbox langgraph langchain-anthropic
|
|
|
|
# Run the example (requires SANDBOX_DOMAIN / SANDBOX_API_KEY / ANTHROPIC_API_KEY)
|
|
uv run python examples/langgraph/main.py
|
|
```
|
|
|
|
The workflow writes files, executes a job, retries with a fallback command on failure (default
|
|
`python` vs `python3`), then summarizes results with Claude and cleans up the sandbox instance.
|
|
|
|

|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `SANDBOX_DOMAIN` | `localhost:8080` | Sandbox service address |
|
|
| `SANDBOX_API_KEY` | _(optional for local)_ | API key if your server requires authentication |
|
|
| `SANDBOX_IMAGE` | `sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/code-interpreter:v1.1.0` | Sandbox image to use |
|
|
| `ANTHROPIC_API_KEY` | _(required if `ANTHROPIC_AUTH_TOKEN` is unset)_ | Your Anthropic API key |
|
|
| `ANTHROPIC_AUTH_TOKEN` | _(alternate)_ | Alternate Anthropic auth token (uses `Authorization` header) |
|
|
| `ANTHROPIC_BASE_URL` | _(optional)_ | Anthropic API endpoint override |
|
|
| `ANTHROPIC_MODEL` | `claude-3-5-sonnet-latest` | Model to use |
|
|
|
|
::: warning
|
|
`ANTHROPIC_API_KEY` and `ANTHROPIC_AUTH_TOKEN` should not be set together.
|
|
:::
|
|
|
|
## References
|
|
|
|
- [LangGraph](https://langchain-ai.github.io/langgraph/) - Agent workflow framework
|
|
- [Source code on GitHub](https://github.com/opensandbox-group/OpenSandbox/tree/main/examples/langgraph)
|