Agent Sandbox Registry

awesome-providers

Awesome Providers for Agent Sandbox

无中文版

README.md

Awesome Providers for Agent Sandbox

A catalog of installable sandbox provider plugins for the Agent Sandbox Python SDK and the abx CLI.

Each provider is its own directory. The machine-readable index is awesome-providers.yaml (schema_version: 1). This repository does not contain the SDK or the CLI. The SDK keeps the provider host (installer, EPP client, registry). Plugins are installed into ~/.abx/providers.

Providers

Provider Kind What it is Install
opensandbox exec (Node, no npm dependencies) Runs sandboxes on an OpenSandbox server abx provider install alibaba-agent-sandbox/awesome-providers//opensandbox
cubesandbox python Tencent CubeSandbox CubeAPI. Default http://127.0.0.1:3000 python -m agent_sandbox.providers install alibaba-agent-sandbox/awesome-providers//cubesandbox --yes
e2b python E2B public API. Key is ABX_E2B_API_KEY python -m agent_sandbox.providers install alibaba-agent-sandbox/awesome-providers//e2b --yes
alicloud-container python ACS/ACK sandbox-manager. Needs ABX_ALICLOUD_CONTAINER_DOMAIN and ABX_ALICLOUD_CONTAINER_API_KEY python -m agent_sandbox.providers install alibaba-agent-sandbox/awesome-providers//alicloud-container --yes

Install

SOURCE is a local directory or a git URL. Nothing in the plugin runs during install. A non-interactive shell needs --yes. A full 40-hex --ref (or --sha256) pins the install; a branch or tag without that pin also needs --allow-unpinned.

// is the provider directory, the same spelling as abx template install owner/repo//subdir. @ref after the directory pins a tag, branch, or commit.

# Catalog install. A full 40-hex commit in @ref pins it.
abx provider install alibaba-agent-sandbox/awesome-providers//opensandbox@<40-hex-commit> --yes

# Branch tip, explicitly unpinned
abx provider install alibaba-agent-sandbox/awesome-providers//opensandbox@main --allow-unpinned --yes

# Local checkout of one provider directory
abx provider install ./opensandbox --yes

abx provider list
abx provider info opensandbox

cubesandbox, e2b, and alicloud-container are runtime.kind = "python". The CLI does not load that kind. Install them with the Python SDK command in the table, then call Sandbox.create(provider="<id>"). They do not read ABX_SANDBOX_API_KEY.

abx provider info opensandbox is the list of features this install actually implements. The CLI and the Python SDK both refuse anything outside that list with E8004. What each feature maps to, and the OpenSandbox row, is in the CLI providers guide and the SDK providers guide.

The same store is what the Python SDK reads:

python -m agent_sandbox.providers install ./opensandbox --yes
python -m agent_sandbox.providers list
from agent_sandbox.api.sandbox import Sandbox

sb = await Sandbox.create(provider="opensandbox")

Layout

awesome-providers.yaml    index (schema_version, one entry per provider)
LICENSE                   Apache-2.0
opensandbox/              Node exec plugin
  abx-provider.toml       manifest
  provider.mjs            EPP/1 entry (Node >= 20, no dependencies)
cubesandbox/              Python plugin
e2b/                      Python plugin
alicloud-container/       Python plugin

Test

Tiers T0–T5, including the live OpenSandbox tier, are in docs/e2e.md (中文). Pull requests run T0 in CI.

Contributing

How a provider is written, and how abx create reaches it: docs/authoring.md (中文).

AI coding tools load SKILL.md (name: agent-sandbox-provider) before editing a plugin:

npx skills add alibaba-agent-sandbox/awesome-providers --skill agent-sandbox-provider -y

Adding a provider

  1. Add a top-level directory named after the provider id.
  2. Put an abx-provider.toml manifest in it. An exec plugin also needs the program named by [runtime] command (for example provider.mjs).
  3. Register it in awesome-providers.yaml: name must match [provider].id, and path must be the directory.
  4. Open a pull request.

Install from a path while developing: abx provider install ./your-provider --yes. The protocol is specified in the Python SDK provider design.

中文

这是 Agent Sandbox 的可安装沙箱提供方目录。每个提供方一个目录,根目录的 awesome-providers.yaml 是索引(schema_version: 1)。 本仓库不包含 Python SDK 或 CLI。SDK 只保留宿主(安装器、EPP 客户端、注册表); 插件安装到 ~/.abx/providers。

目前的第一个提供方是 opensandbox:无 npm 依赖的 Node exec 插件,把沙箱跑在 OpenSandbox 服务上。

// 是提供方所在子目录,和 abx template install owner/repo//subdir 同一写法。目录后的 @ref 用来固定 tag、分支或提交。

abx provider install alibaba-agent-sandbox/awesome-providers//opensandbox@<40位提交哈希> --yes
abx provider list
abx provider info opensandbox

abx provider info opensandbox 列出这次安装实际实现的能力。CLI 和 Python SDK 对清单之外的命令和方法都以 E8004 拒绝。每项能力对应哪些命令,以及 OpenSandbox 能用和不能用的对照,见 CLI 提供商指南 和 SDK 提供商指南。

如何编写 provider,以及 abx create 如何调用到它:见 docs/authoring.zh-CN.md。端到端分级见 docs/e2e.zh-CN.md。贡献步骤见 CONTRIBUTING.md。给 AI 用的 skill 是仓库根目录的 SKILL.md。

新增提供方:新建顶层目录,放入 abx-provider.toml(exec 类型还要有清单里的入口程序), 在 awesome-providers.yaml 增加一条(name 与 [provider].id 相同,path 为目录名),然后提交 PR。 许可证为 Apache-2.0。

License

Apache-2.0. The OpenSandbox plugin in this repository is Apache-2.0.