Agent Sandbox plugin for Harbor — run Terminal-Bench / SWE-bench / Harbor benchmarks on Agent Sandbox pools
Project description
agent-sandbox-harbor
A Harbor environment plugin that runs Harbor benchmarks (Terminal-Bench, SWE-bench, custom datasets) on Agent Sandbox pre-warmed pools — no fork of Harbor required.
Highlights:
- Zero Harbor source changes. Plugs into Harbor via the official
--environment-import-pathextension point. - Skips Template Build. Agent Sandbox uses a pre-warmed Pod pool with in-place image swap,
so the per-task Template Build step that E2B / Novita require is replaced by a single
POST /v1/sandboxescall. - Internal-mirror friendly. A configurable image-prefix rewrites
docker.io/...to your private Distribution / Harbor registry.
Installation
pip install 'harbor[e2b]' agent-sandbox-harbor
The plugin pulls agent-sandbox-e2b as a hard
dependency (it calls patch_e2b() at import). harbor is an optional peer dependency, so the
package can be inspected / unit-tested without it; in real usage you install harbor[e2b]
yourself.
Quick start
# 1. Set credentials (one-off)
cat > agentbox.env <<'EOF'
E2B_API_KEY=agbx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
E2B_DOMAIN=agent-sandbox-data-plane.example.com/agent-sandbox/api/data
E2B_API_URL=https://agent-sandbox-data-plane.example.com/agent-sandbox/api/e2b
AGBX_CLUSTER_ID=cluster-a
AGBX_POOL_NAME=terminal-bench-pool
AGBX_IMAGE_PREFIX=registry.internal/agent-sandbox
EOF
# 2. Run Harbor (use the plugin via the official --environment-import-path flag)
harbor run \
-d terminal-bench@2.0 \
-a oracle \
--environment-import-path agent_sandbox_harbor:AgentSandboxEnvironment \
-n 16 -y \
--env-file agentbox.env
Configuration
| Variable | Required | Description |
|---|---|---|
E2B_API_KEY |
yes | Agent Sandbox API key (agbx_...). |
AGBX_POOL_NAME |
yes | Pre-warmed pool name. |
E2B_DOMAIN |
no | Data-plane gateway, host[:port][/path]. Default is the in-cluster service. |
E2B_API_URL |
no | E2B-compatible control-plane URL, including scheme. |
AGBX_CLUSTER_ID |
no | Cluster id prefix (e.g. cluster-a). Omit for single-cluster setups. |
AGBX_IMAGE_PREFIX |
no | Mirror prefix (e.g. registry.internal/agent-sandbox). docker.io/ is stripped before the prefix is applied. |
AGBX_HTTPS |
no | true/false for the data-plane scheme (default true). |
AGBX_STARTUP_TIMEOUT |
no | Sandbox startup timeout, seconds (default 300). |
AGBX_READY_TIMEOUT |
no | Cold-image readiness ceiling, seconds (default 600). |
How it works
AgentSandboxEnvironment subclasses Harbor's E2BEnvironment and overrides three methods:
_does_template_exist→ always returnsTrue_create_template→ no-op_create_sandbox→ callsAsyncSandbox.create(template="cluster::pool//image", secure=False, ...)
__init__ calls super().__init__() first, so Harbor's stock Dockerfile parsing still runs
(and sets self._workdir from the image's WORKDIR). The constructor then overrides
self._template_name with the Agent Sandbox pool shorthand.
At module import, patch_e2b() from
agent-sandbox-e2b redirects the e2b SDK to
your Agent Sandbox endpoints.
See INTEGRATION.md for full design notes, the --environment-import-path
mechanism explanation, and operational guidance.
Compatibility
Each release build is tested against the latest published versions of
harbor and e2b. The pinned upper bound in [project.optional-dependencies] is updated
automatically by the release CI to reflect the highest verified harbor version.
License
Apache 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_sandbox_harbor-0.0.3.tar.gz.
File metadata
- Download URL: agent_sandbox_harbor-0.0.3.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
777930a96c771f2d39a79d919ab967ca3efbb7af54c50b87e2e7dd5ea6ca184c
|
|
| MD5 |
70682e6cc5eee610757744e5826c524f
|
|
| BLAKE2b-256 |
98d37541d0ad62ae2ae79c37064b2ad77768d9d06ea51ba82f533717011e82ba
|
Provenance
The following attestation bundles were made for agent_sandbox_harbor-0.0.3.tar.gz:
Publisher:
sdk-python-harbor-publish.yml on scitix/Agent-Sandbox
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_sandbox_harbor-0.0.3.tar.gz -
Subject digest:
777930a96c771f2d39a79d919ab967ca3efbb7af54c50b87e2e7dd5ea6ca184c - Sigstore transparency entry: 1579236499
- Sigstore integration time:
-
Permalink:
scitix/Agent-Sandbox@67afb93216fb7b5403ca22252022d6d1380a3de8 -
Branch / Tag:
refs/tags/harbor-v0.0.3 - Owner: https://github.com/scitix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
sdk-python-harbor-publish.yml@67afb93216fb7b5403ca22252022d6d1380a3de8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agent_sandbox_harbor-0.0.3-py3-none-any.whl.
File metadata
- Download URL: agent_sandbox_harbor-0.0.3-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7d65a3ca7d5df4d96f487c9893a1f39c095a11930d10cf0b9337276fe0ddf2a
|
|
| MD5 |
fec00b6ee95b09a8f877e1b6d3d90566
|
|
| BLAKE2b-256 |
00662ffa9191c5866e6f3351eb0ede072d1898273efd1ca7217d041a783be0bc
|
Provenance
The following attestation bundles were made for agent_sandbox_harbor-0.0.3-py3-none-any.whl:
Publisher:
sdk-python-harbor-publish.yml on scitix/Agent-Sandbox
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_sandbox_harbor-0.0.3-py3-none-any.whl -
Subject digest:
f7d65a3ca7d5df4d96f487c9893a1f39c095a11930d10cf0b9337276fe0ddf2a - Sigstore transparency entry: 1579236684
- Sigstore integration time:
-
Permalink:
scitix/Agent-Sandbox@67afb93216fb7b5403ca22252022d6d1380a3de8 -
Branch / Tag:
refs/tags/harbor-v0.0.3 - Owner: https://github.com/scitix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
sdk-python-harbor-publish.yml@67afb93216fb7b5403ca22252022d6d1380a3de8 -
Trigger Event:
push
-
Statement type: