类class
agentscope.workspaceOpenSandboxBackend
class OpenSandboxBackend(BackendBase)
源码Source
agentscope/workspace/_opensandbox/_opensandbox_backend.py:34–280OpenSandbox Backend,在隔离环境中安全执行代码和工具。位于 agentscope.workspace 包,继承自 BackendBase。核心成员包括 exec_shell、read_file、write_file。
Only the three abstract primitives (exec_shell, read_file,
write_file) are implemented here; the derived filesystem
helpers are inherited from :class:BackendBase.
构造器摘要Constructor Summary
| 构造器Constructor | 说明Description |
|---|---|
def __init__(sandbox: 'Sandbox', workdir: str) -> None | 初始化 `OpenSandboxBackend` 实例。 Initialize the OpenSandbox backend. |
方法摘要Method Summary
| 方法Method | 说明Description |
|---|---|
async def exec_shell(command: list[str], *, cwd: str | None = None, timeout: float | None = None) -> ExecResultasync | 执行 `exec_shell` 方法。 Run a program inside the sandbox via ``commands.run``. |
async def read_file(path: str) -> bytesasync | 设置读取文件。 Read a file from the sandbox via ``files.read_bytes``. |
async def write_file(path: str, data: bytes) -> Noneasync | 执行写入文件相关操作。 Write raw bytes to a file inside the sandbox. |
构造器详情Constructor Detail
OpenSandboxBackend
def __init__(sandbox: 'Sandbox', workdir: str) -> None
初始化 OpenSandboxBackend 实例。
Initialize the OpenSandbox backend.
参数Parameters
| 名称Name | 类型Type | 说明Description |
|---|---|---|
sandbox | 'Sandbox' | 一种已启动/已连接`opensandbox.sandbox.Sandbox`对象。A started / connected `opensandbox.sandbox.Sandbox` object. |
workdir | str | workdir(类型 `str`)。Default working directory for `exec_shell` calls inside the sandbox. |
源码Source
agentscope/workspace/_opensandbox/_opensandbox_backend.py:49–61方法详情Method Detail
exec_shell
async def exec_shell(command: list[str], *, cwd: str | None = None, timeout: float | None = None) -> ExecResult
async
执行 exec_shell 方法。
command* is an argv list.
参数Parameters
| 名称Name | 类型Type | 说明Description |
|---|---|---|
command | list[str] | 命令(类型 `list[str]`)。Executable path/name followed by its arguments. |
cwdkw默认default None | str | None | cwd(类型 `str | None`)。Working directory inside the sandbox. When `None` the backend's default `workdir` is used. |
timeoutkw默认default None | float | None | 超时时间(类型 `float | None`)。Maximum number of seconds to wait. When `None` the SDK default applies. |
ExecResult
返回ExecResult。`ExecResult`:
源码Source
agentscope/workspace/_opensandbox/_opensandbox_backend.py:65–112read_file
async def read_file(path: str) -> bytes
async
设置读取文件。
Read a file from the sandbox via files.read_bytes.
参数Parameters
| 名称Name | 类型Type | 说明Description |
|---|---|---|
path | str | 路径(类型 `str`)。Path to the file inside the sandbox. |
bytes
返回字节。`bytes`:
- 可能抛出 `Exception`。`FileNotFoundError`:
- 可能抛出 `Exception`。If the path does not exist inside the sandbox.
源码Source
agentscope/workspace/_opensandbox/_opensandbox_backend.py:116–145write_file
async def write_file(path: str, data: bytes) -> None
async
执行写入文件相关操作。
Creates parent directories via exec_shell first.
参数Parameters
| 名称Name | 类型Type | 说明Description |
|---|---|---|
path | str | 路径(类型 `str`)。Destination path inside the sandbox. |
data | bytes | 原始字节到写入。The raw bytes to write. |
None
无返回值。No value is returned.
源码Source
agentscope/workspace/_opensandbox/_opensandbox_backend.py:147–163