The package keeps its old name,
@asciidev/eve-box, and its function asciiBox(). Version 0.1.6 calls the old Box API, which sends a Sunset date of 31 October 2026. Without apiKey, it reads BOX_API_KEY. See Migrating from Box.@asciidev/eve-box connects Eve to boat. It is an Eve sandbox backend. It sends the Eve filesystem and process operations to the boat API. Your Eve agents then run on boat sandboxes, not on your laptop.
You need only two things for this guide: Node.js 18+ and a boat API key. You do not need to know Eve or boat before you start.
How it fits together
Set it up
1
Create a boat account
Sign in at boat.dev and start a plan. See Quickstart and Free trial.
2
Get a boat API key
Create a key on the API keys tab of the dashboard, or run
boat api-key create eve --preset ci. Keep it in an environment variable, never in source control.3
Install the packages
"module": "NodeNext", "target": "ES2022", "lib": ["ES2022", "DOM"]. Set "type": "module" in package.json.4
Define the sandbox backend
Set the Eve sandbox to use boat. In an Eve project, put this in your sandbox definition file:The Eve agents in this project now run on boat.
sandbox.ts
A complete example
This script runs on its own. It creates a boat sandbox session and tests the operations that Eve uses: run commands, read files and write files. Use it to check your setup before you connect the backend to a larger Eve agent.hello-sandbox.ts
uname output of the machine, and exit code 0.
What the backend maps
Configuration
asciiBox(options) accepts these options:
Running agents for other people
WithnoEnv: true, the sandbox starts without your account credentials. It cannot act on your account or other sandboxes. This does not restrict network access. You then give it only what it needs:
- Secrets: through
env. - Files and setup: through the Eve
onSessionhook.
sandbox.ts
env:
envkeys merge over your account variables. The per-sandbox value wins.- The limit is 100 variables and 64 KB in total.
- boat rejects reserved boat-internal names.
A no-env sandbox cannot reach your private repositories. Clone public ones, or let the user sign in inside the sandbox. Read No-env sandboxes.
Reusing a prepared environment
Setup runs when boat first creates the sandbox for each session. To start many sessions from the same prepared state:- Prepare one sandbox.
- Save it as a saved snapshot:
boat snapshot <id> my-stack. - Create each new sandbox from it:
boat new --from my-stack, orfromin the API.
Network policies
boat does not enforce the fine-grained Eve network policies yet.- The backend accepts
"allow-all". - For stricter policies, it throws
EveSandboxUnsupportedError. This includes"deny-all", allow-lists and subnet rules.
Resources
npm package
@asciidev/eve-box on npm.Source on GitHub
Issues, examples and the adapter source.
boat quickstart
Install boat and create your first sandbox.
boat API keys
Create and manage the key that this adapter needs.