> ## Documentation Index
> Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 连接到正在运行的沙箱

> 查阅 PPIO Agent 沙箱的归档连接指南，了解该版本访问已运行沙箱的方式，为继续执行任务与维护已有环境提供参考。

本节展示如何连接到一个正在运行的沙箱，连接沙箱后，可以使用 SDK 对该沙箱进行操作，包括运行命令、代码等。

## 1. 获取沙箱 ID

要连接到正在运行的沙箱，您首先需要获取其 ID。

```js JavaScript & TypeScript icon="js" theme={null}
import { Sandbox } from "ppio-sandbox/code-interpreter"

const sandbox = await Sandbox.create({
  timeoutMs: 120_000, // 单位为毫秒。
})

// 列出所有正在运行的沙箱。
const runningSandboxesPaginator = await Sandbox.list({
  query: {
    state: ["running"],
  },
})

const runningSandboxes = await runningSandboxesPaginator.nextItems()
if (runningSandboxes.length === 0) {
  throw new Error("No running sandboxes found")
}
const runningSandboxId = runningSandboxes[0].sandboxId

console.log(`got a running sandbox: ${runningSandboxId}`)

await sandbox.kill()
```

```python Python icon="python" theme={null}
from ppio_sandbox.code_interpreter import Sandbox, SandboxQuery, SandboxState

# 创建一个沙箱，并保持运行 60 秒。
sandbox = Sandbox.create(
  timeout=120,  # 单位为秒。
)

# 列出所有正在运行的沙箱。
running_sandboxes_paginator = Sandbox.list(query=SandboxQuery(state=[SandboxState.RUNNING]))

running_sandboxes = running_sandboxes_paginator.next_items()
if len(running_sandboxes) == 0:
  raise Exception("No running sandboxes found")
running_sandbox_id = running_sandboxes[0].sandbox_id

# 获取您想要连接的沙箱的 ID。
print("got a running sandbox: ", running_sandbox_id)

sandbox.kill()
```

## 2. 连接到沙箱

获取到沙箱 ID 后，您可以通过 `connect` 方法连接到该沙箱。

```js JavaScript & TypeScript icon="js" theme={null}
import { Sandbox } from "ppio-sandbox/code-interpreter"

const sandbox = await Sandbox.create({
  timeoutMs: 120_000, // 单位为毫秒。
})

// 列出所有正在运行的沙箱。
const runningSandboxesPaginator = await Sandbox.list({
  query: {
    state: ["running"],
  },
})

const runningSandboxes = await runningSandboxesPaginator.nextItems()
if (runningSandboxes.length === 0) {
  throw new Error("No running sandboxes found")
}
const runningSandboxId = runningSandboxes[0].sandboxId

// 连接到沙箱。
const connectedSandbox = await Sandbox.connect(runningSandboxId)
console.log("connected to sandbox: ", connectedSandbox.sandboxId)

// 现在您可以继续使用该沙箱
// ...

sandbox.kill()
```

```python Python icon="python" theme={null}
from ppio_sandbox.code_interpreter import Sandbox, SandboxQuery, SandboxState

# 创建一个沙箱，并保持运行 60 秒。
sandbox = Sandbox.create(
  timeout=120,  # 单位为秒。
)

# 列出所有正在运行的沙箱。
running_sandboxes_paginator = Sandbox.list(query=SandboxQuery(state=[SandboxState.RUNNING]))

running_sandboxes = running_sandboxes_paginator.next_items()
if len(running_sandboxes) == 0:
  raise Exception("No running sandboxes found")
running_sandbox_id = running_sandboxes[0].sandbox_id

# 连接到沙箱。
sandbox = Sandbox.connect(running_sandbox_id)
print("got a running sandbox: ", sandbox.sandbox_id)

# 现在您可以继续使用该沙箱
# ...

sandbox.kill()
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.