You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0d9da63
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
14
14
- Reserve create positional arguments for templates and natural language for `--prompt` in the CLI; document migration, source attribution and backend capability limits.
15
15
16
16
### Fixed
17
+
- Use explicit native ProviderSandbox in Volume/data-plane adoption examples and distinguish native runtime credentials from control-plane AK/SK in agent guides.
17
18
18
19
- Reject undeclared native Express PTY before session/context or wire access.
Copy file name to clipboardExpand all lines: agent-sandbox-provider/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ https://registry.agent-sandbox.com. The installer index is
43
43
|`exec`| the manifest plus a process that speaks EPP/1 on stdin/stdout | The API is not E2B-shaped. Any language. No code runs at install time |
44
44
|`node`|`provider.mjs` with `export default create(kit)`| The backend is E2B-shaped but needs a tweak (proxy dial, optional token, other paths). Loaded in the host process; one implementation serves the CLI and every SDK |
45
45
46
-
Do not start from the Express engine. Do not copy `E2B_API_KEY` into the new provider. That key is Express only.
46
+
Do not start from the Express engine. Do not copy the Express `ABX_SANDBOX_API_KEY` or its standard-entry `E2B_API_KEY`setting into the new provider. Credentials belong to their selected backend.
Copy file name to clipboardExpand all lines: agent-sandbox-sdk/SKILL.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,11 +82,11 @@ asyncio.run(main())
82
82
- Files on `sb.files`: `write`, `read`, `read_bytes`, `list`, `exists`, `remove`, `make_dir`, `upload`, `download`. On Express, `sb.files.upload_url` and `sb.files.download_url` return an envd URL that still needs header `X-Access-Token`. A provider that does not declare `files.transfer` raises `E8004`. `sb.upload_url` and `sb.download_url` always refuse. Do not invent a signature-only URL.
83
83
- The context manager kills the sandbox. Otherwise call `await sb.kill()`.
84
84
- ProviderSandbox defaults to alicloud-express. Use its configured provider transport; do not hardcode a local engine socket or spawn a separate provider implementation.
85
-
- The only built-in provider is `alicloud-express`. `opensandbox`, `alicloud-container`, `cubesandbox`, and `e2b` are not part of this package. Install them from the catalog with `python -m agent_sandbox.providers install registry:<id> --yes`, then pass that id to `Sandbox.create`. Their notes are in `awesome-providers/<id>/docs/README.md`. Only Express reads `E2B_API_KEY`.
85
+
- The only built-in provider is `alicloud-express`. `opensandbox`, `alicloud-container`, `cubesandbox`, and `e2b` are not part of this package. Install them from the catalog with `python -m agent_sandbox.providers install registry:<id> --yes`, then pass that id to `Sandbox.create`. Their notes are in `awesome-providers/<id>/docs/README.md`. Native ProviderSandbox reads canonical `ABX_SANDBOX_API_KEY`; only the standard entry maps `E2B_*` settings.
86
86
87
87
| id | What it is | Required environment |
88
88
|---|---|---|
89
-
|`alicloud-express`| Alibaba Cloud Express. The default. Built into the SDK. |`E2B_API_KEY`, or AK/SK |
89
+
|`alicloud-express`| Alibaba Cloud Express. The default. Built into the SDK. |`ABX_SANDBOX_API_KEY`; AK/SK separately authorizes control-plane operations|
90
90
91
91
URLs, headers, and calls that raise `E8004` for Express are in `references/providers.md`. The `abx` CLI loads `alicloud-express` plus installed `node`, `exec` and `rest` plugins. The four catalog providers are `node`. After `abx provider install alibaba-agent-sandbox/awesome-providers//<id> --allow-unpinned --yes`, `abx --provider <id>` works. A manifest with `kind = "python"` cannot be installed. An in-code `Provider` subclass still works from the SDK only.
92
92
@@ -237,5 +237,5 @@ Do not upload from a laptop. Do not put a PyPI token in the repo or in chat.
2. Named commands are `@command` and `start()` under `if __name__ == "__main__"`.
239
239
3. The default provider's Dockerfile is the FC base image, with no `CMD`.
240
-
4. Do not read or write `E2B_*`.
240
+
4. Keep native provider configuration on `ABX_*`; standard entry configuration may read `E2B_*`. Never substitute Express credentials for another backend.
241
241
5. Do not leak credentials. Do not leave sandboxes running.
Each provider's config, paths, and `E8004` list are in `awesome-providers/<id>/docs/README.md`. All four are `runtime.kind = "node"` (an ES module, `provider.mjs`). There is no `python`-kind catalog plugin; a manifest with `kind = "python"` cannot be installed. An in-code `Provider` subclass still works from the SDK. Install with `abx provider install alibaba-agent-sandbox/awesome-providers//<id> --allow-unpinned --yes` or the Python module above, then `abx --provider <id>` or `Sandbox.create(provider="<id>")`. The Python SDK reaches a `node` provider through the local Node engine (`abx provider engine serve`, started on demand; `abx` must be on `PATH` or in `ABX_BIN`) using `EngineProvider`. Python `exec` and `rest` manifests still run in the Python process. The built-in `alicloud-express` is the Python builtin provider.
14
14
15
-
Express is the only provider that reads `E2B_API_KEY`. Catalog providers keep their provider-specific credentials; do not pass the Express E2B_API_KEY to them implicitly.
15
+
Native ProviderSandbox uses `ABX_SANDBOX_API_KEY`, `ABX_SANDBOX_BASE_URL` and `ABX_SANDBOX_DOMAIN`. The standard root entry separately maps E2B settings. Catalog providers keep their provider-specific credentials; never forward the Express key implicitly.
16
16
17
17
## alicloud-express
18
18
19
-
Default. Credentials are `E2B_API_KEY`, or `ALICLOUD_ACCESS_KEY_ID` and `ALICLOUD_ACCESS_KEY_SECRET`. Region is `ALIBABA_CLOUD_REGION_ID` (the CLI also stores it with `abx config set region`). Template images for this provider use the FC Dockerfile in `SKILL.md`.
19
+
Default. Runtime credentials require `ABX_SANDBOX_API_KEY`. `ALICLOUD_ACCESS_KEY_ID` and `ALICLOUD_ACCESS_KEY_SECRET` separately authorize official control-plane operations and cannot substitute for that runtime key. Region is `ALIBABA_CLOUD_REGION_ID` (the CLI also stores it with `abx config set region`). Template images for this provider use the FC Dockerfile in `SKILL.md`.
20
20
21
21
This reference describes ProviderSandbox, not the standard root Sandbox/AsyncSandbox. Use the configured provider transport rather than hardcoding engine sockets. Existing Express commands/files use the backend envd connection.
currently provides `ServerClient` and configuration names, not cloud sandbox lifecycle.
11
10
Changing an E2B JavaScript import to that package is not a supported migration.
12
11
12
+
This page adopts the explicit native ProviderSandbox extensions and their ABX configuration. For the standard sync/async E2B-compatible root entries and import-only supported migration, read the [standard migration guide](migrate-from-e2b.md). Existing backend/runtime restrictions still apply.
0 commit comments