@madarco/agentbox 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -0
- package/README.md +161 -0
- package/dist/{_cloud-attach-ZXBCNWJX.js → _cloud-attach-O6NYTLES.js} +3 -3
- package/dist/{chunk-BXQMIEHC.js → chunk-2GPORKYF.js} +254 -162
- package/dist/chunk-2GPORKYF.js.map +1 -0
- package/dist/{chunk-NCJP5MTN.js → chunk-7UIAO7PC.js} +213 -51
- package/dist/chunk-7UIAO7PC.js.map +1 -0
- package/dist/{chunk-GU5LW4B5.js → chunk-R4O5WPHW.js} +374 -62
- package/dist/chunk-R4O5WPHW.js.map +1 -0
- package/dist/{dist-GDHP34ZK.js → dist-5FQGYRW5.js} +15 -3
- package/dist/dist-5FQGYRW5.js.map +1 -0
- package/dist/{dist-32EZBYG4.js → dist-BQNX7RQE.js} +12 -2
- package/dist/{dist-XML54CNB.js → dist-PZW3GWWU.js} +30 -5
- package/dist/dist-PZW3GWWU.js.map +1 -0
- package/dist/{dist-CX5CGVEB.js → dist-TMHSUVTP.js} +3 -3
- package/dist/index.js +1773 -526
- package/dist/index.js.map +1 -1
- package/package.json +9 -7
- package/runtime/docker/apps/cli/share/agentbox-setup/SKILL.md +9 -8
- package/runtime/docker/packages/ctl/dist/bin.cjs +32 -3
- package/runtime/hetzner/agentbox-setup-skill.md +9 -8
- package/runtime/hetzner/ctl.cjs +32 -3
- package/runtime/relay/bin.cjs +32 -3
- package/runtime/vercel/agentbox-setup-skill.md +9 -8
- package/runtime/vercel/ctl.cjs +32 -3
- package/runtime/vercel/custom-system-CLAUDE.md +1 -4
- package/runtime/vercel/scripts/provision.sh +40 -0
- package/share/agentbox-setup/SKILL.md +9 -8
- package/dist/chunk-BXQMIEHC.js.map +0 -1
- package/dist/chunk-GU5LW4B5.js.map +0 -1
- package/dist/chunk-NCJP5MTN.js.map +0 -1
- package/dist/dist-GDHP34ZK.js.map +0 -1
- package/dist/dist-XML54CNB.js.map +0 -1
- /package/dist/{_cloud-attach-ZXBCNWJX.js.map → _cloud-attach-O6NYTLES.js.map} +0 -0
- /package/dist/{dist-32EZBYG4.js.map → dist-BQNX7RQE.js.map} +0 -0
- /package/dist/{dist-CX5CGVEB.js.map → dist-TMHSUVTP.js.map} +0 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@madarco/agentbox` are documented here.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
Entries are generated from the commit history with `/release-notes` and then
|
|
9
|
+
hand-reviewed — they describe what changed for someone using the `agentbox`
|
|
10
|
+
CLI, not the raw commits.
|
|
11
|
+
|
|
12
|
+
## [0.10.0] - 2026-05-30
|
|
13
|
+
|
|
14
|
+
### Breaking
|
|
15
|
+
|
|
16
|
+
- `agentbox browser` is renamed to `agentbox url` (it opens the box's web-app
|
|
17
|
+
URL). No alias is kept.
|
|
18
|
+
- `agentbox list --all` / `-a` is renamed to `--global` / `-g`, matching the
|
|
19
|
+
npm/pnpm convention. The old form is removed with no alias — update any
|
|
20
|
+
scripts that used it.
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- `agentbox install` is now an interactive setup wizard (system compatibility
|
|
25
|
+
check, provider picker, login/prepare hints, host `/agentbox` skill install)
|
|
26
|
+
and a new `agentbox doctor` reports the same checks in full detail. The wizard
|
|
27
|
+
auto-runs once on first use; `--skills-only` keeps the old host-skill-only
|
|
28
|
+
behavior.
|
|
29
|
+
- Portless integration on Docker Desktop: boxes can get a stable
|
|
30
|
+
`https://<box-name>.localhost` URL for their web app via the
|
|
31
|
+
[Portless](https://portless.sh) proxy. Opt-in on first run (saved to the new
|
|
32
|
+
`portless.enabled` config key; `--portless` / `--no-portless` flags). The same
|
|
33
|
+
URL works from the host and from inside the box's VNC browser.
|
|
34
|
+
- Cloud boxes now offer to sign you in before the box starts when agent
|
|
35
|
+
credentials are missing or expired, seeding the login into this box and every
|
|
36
|
+
future one (Claude, Codex, OpenCode).
|
|
37
|
+
- Attach now survives a box reboot: the wrapper stays open and auto-reconnects
|
|
38
|
+
once the box is back, so a Vercel checkpoint or restart no longer drops your
|
|
39
|
+
session.
|
|
40
|
+
- `agentbox url` and `agentbox screen` reach an in-box web service on Vercel —
|
|
41
|
+
the in-box proxy binds to the always-exposed port 8080, and `url` falls back to
|
|
42
|
+
the first exposed service port when no proxy is configured.
|
|
43
|
+
- `agentbox list --live` forces a real state probe of cloud boxes; by default
|
|
44
|
+
`list` now reads persisted box state, so it's fast even with several boxes.
|
|
45
|
+
- A 3-line alert band above the footer surfaces relay confirm prompts,
|
|
46
|
+
checkpoint notices, and the agent's questions without hiding the status bar —
|
|
47
|
+
in both the single-attach TUI and the dashboard.
|
|
48
|
+
- Agents skip their interactive permission prompts by default inside boxes
|
|
49
|
+
(boxes are already isolated). Controlled by `claude.dangerouslySkipPermissions`
|
|
50
|
+
/ `codex.dangerouslySkipPermissions` (both default on); override per-box with
|
|
51
|
+
`--no-dangerously-skip-permissions`.
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
|
|
55
|
+
- `Ctrl+a` leader chords are now mnemonic and consistent across the agent/shell
|
|
56
|
+
footers and the dashboard: `s` opens the noVNC screen, `u` opens the web-app
|
|
57
|
+
URL, `d` detaches. The dashboard keeps `Ctrl+a q` to quit and moves "stop the
|
|
58
|
+
box" to `Ctrl+a t`.
|
|
59
|
+
- A Vercel checkpoint reboots the box, so it now asks for confirmation first
|
|
60
|
+
(skip with `-y`).
|
|
61
|
+
- Chromium is baked into the Vercel base snapshot at `prepare` time, so
|
|
62
|
+
agent-browser is ready immediately on every box instead of installing on each
|
|
63
|
+
create.
|
|
64
|
+
- The host relay is now a version-consistent global singleton shared by all
|
|
65
|
+
boxes, robust to mismatched `npx` caches.
|
|
66
|
+
- Faster dashboard switching on the Vercel provider; install-wizard copy and
|
|
67
|
+
progress animation polished.
|
|
68
|
+
|
|
69
|
+
### Fixed
|
|
70
|
+
|
|
71
|
+
- The cloud login offer runs in the default docker image instead of a cloud
|
|
72
|
+
snapshot ref, fixing a `docker build` failure on `snap_…` image names.
|
|
73
|
+
- `agentbox list` shows the real state of cloud boxes (stopped/paused) instead
|
|
74
|
+
of always reporting `running`.
|
|
75
|
+
- Resuming a cloud box re-ensures its daemons and declared services, and a
|
|
76
|
+
stopped cloud box is resumed before attach instead of failing.
|
|
77
|
+
- Hetzner box creation waits for SSH to be ready before returning, so the next
|
|
78
|
+
command no longer races a not-yet-reachable VPS.
|
|
79
|
+
- The published npm package now includes the repo README.
|
|
80
|
+
- `Ctrl+c` during the startup banner animation exits cleanly.
|
|
81
|
+
- Skip-permissions conflict detection now also matches inline `--flag=value`
|
|
82
|
+
syntax, so an explicit user choice always wins; background-queue jobs honor
|
|
83
|
+
`--no-dangerously-skip-permissions`.
|
|
84
|
+
- The footer spinner keeps animating when the alert band collapses on a tiny
|
|
85
|
+
terminal.
|
|
86
|
+
|
|
87
|
+
## [0.9.0] - 2026-05-29
|
|
88
|
+
|
|
89
|
+
First release with a tracked changelog. Earlier history lives in the git log.
|
package/README.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<h1 style="font-weight:normal">
|
|
2
|
+
AgentBox
|
|
3
|
+
<a href="https://github.com/madarco/agentbox/blob/main/LICENSE"><img src="https://img.shields.io/github/license/madarco/agentbox.svg?colorB=ff0000"></a>
|
|
4
|
+
<a href="https://www.npmjs.com/package/@madarco/agentbox"><img src="https://img.shields.io/npm/d18m/%40madarco%2Fagentbox?label=npm" /></a>
|
|
5
|
+
<img src="https://img.shields.io/github/stars/madarco/agentbox" />
|
|
6
|
+
</h1>
|
|
7
|
+
|
|
8
|
+
Run multiple agents in parallel, with a single command, on your PC, self-hosted, or in the cloud
|
|
9
|
+
<br>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
## How it works
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
agentbox claude # launch a new VM with claude and your project inside
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
- 📦 **Teleport** - Move your project to a dedicated VM, local or in the cloud, with a single command.
|
|
23
|
+
- 🤖 **Automatic** - Bring all your skills, plugins, and settings for **Claude Code**, **Codex**, **Open Code**
|
|
24
|
+
- 🌐 **A full Computer** — Dedicated browser, screen sharing, persistent shells and warmed up VS Code / Cursor IDE, with each box.
|
|
25
|
+
- 💾 **Checkpoints** — Sub <1s startup of new boxes from a previous checkpoint, auto pause to save cost/resources when not in use.
|
|
26
|
+
- 🔒 **Safe** - Your git credentials are kept on your local machine, with permission requests to push to the remote repository.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Complete setup:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
npm -g install @madarco/agentbox
|
|
33
|
+
agentbox install
|
|
34
|
+
|
|
35
|
+
# Launch a new VM with claude, copy all your settings and workspace
|
|
36
|
+
agentbox claude
|
|
37
|
+
|
|
38
|
+
# Also install required project libraries and launch your dev server
|
|
39
|
+
> Run setup wizard? -> Yes
|
|
40
|
+
|
|
41
|
+
# Also use a cloud:
|
|
42
|
+
agentbox hetzner claude # or vercel, daytona
|
|
43
|
+
|
|
44
|
+
# Ctrl+a d to detach, claude keep going, to reconnect later:
|
|
45
|
+
agentbox claude attach 1
|
|
46
|
+
|
|
47
|
+
# To open a persistent shell inside the box:
|
|
48
|
+
agentbox shell 1
|
|
49
|
+
|
|
50
|
+
# Create a second box:
|
|
51
|
+
agentbox claude
|
|
52
|
+
agentbox claude attach 2
|
|
53
|
+
agentbox shell 2
|
|
54
|
+
|
|
55
|
+
# Open your web project on a .local url tunnel on your pc
|
|
56
|
+
agentbox url 2
|
|
57
|
+
# Or the in-box browser via webVNC:
|
|
58
|
+
agentbox screen 2
|
|
59
|
+
# Or connect to vscode/cursor inside the box:
|
|
60
|
+
agentbox code 2
|
|
61
|
+
|
|
62
|
+
# See status and quickly switch between agents:
|
|
63
|
+
agentbox dashboard
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Demo
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
|
|
70
|
+
## Install
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
npm -g install @madarco/agentbox
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Requirements: macOS (arm64 or Intel) or Linux, Docker ([Docker Desktop](https://www.docker.com/products/docker-desktop/) or [OrbStack](https://orbstack.dev/)), Node `>=20.10`. The first `agentbox create` / `agentbox claude` builds the `agentbox/box:dev` image (~1 GB, one-time).
|
|
77
|
+
Uses `portless` to give box web apps the same URL from inside the box and on the host.
|
|
78
|
+
|
|
79
|
+
## Cloud Providers
|
|
80
|
+
|
|
81
|
+
| | local docker | hetzner | daytona | vercel |
|
|
82
|
+
| ------------------- | ------------------------- | ---------------------- | ------------------ | ------------------ |
|
|
83
|
+
| Support | ✅ | ✅ | ⚠️ Partial | ✅ |
|
|
84
|
+
| Base image | Dockerfile | Setup script (Ubuntu) | Dockerfile | Setup script |
|
|
85
|
+
| Live snapshots | ✅ | ✅ | 🧪 Experimental | ✅ |
|
|
86
|
+
| Private preview URLs| ✅ (portless or OrbStack) | ✅ (portless) | ✅ (native) | ✅ (native) |
|
|
87
|
+
|
|
88
|
+
**Cloud setup** (optional — skip for local Docker)
|
|
89
|
+
|
|
90
|
+
- `agentbox install` — interactive setup wizard to choose which providers to use and configure them.
|
|
91
|
+
- `agentbox vercel login` — interactive Vercel Sandbox token setup, saved to `~/.agentbox/secrets.env`
|
|
92
|
+
- `agentbox hetzner login` — interactive Hetzner Cloud token setup, saved to `~/.agentbox/secrets.env`
|
|
93
|
+
- `agentbox daytona login` — interactive Daytona API key setup, saved to `~/.agentbox/secrets.env`
|
|
94
|
+
- `agentbox prepare [--provider daytona|hetzner]` — build the image and initial snapshot
|
|
95
|
+
- `agentbox hetzner claude`, `agentbox hetzner codex`, `agentbox hetzner create`, etc.
|
|
96
|
+
|
|
97
|
+
## How to use
|
|
98
|
+
|
|
99
|
+
`<box>` is optional almost everywhere — it defaults to the box for the current project, or use its short index (`1`, `2`, …), name, or id prefix.
|
|
100
|
+
|
|
101
|
+
**Create & run**
|
|
102
|
+
|
|
103
|
+
- `agentbox create` — Create and start a new agent box (Docker container with FUSE overlay)
|
|
104
|
+
- `agentbox claude` — Create a sandboxed box and launch Claude Code in a detachable tmux session
|
|
105
|
+
|
|
106
|
+
**Access**
|
|
107
|
+
|
|
108
|
+
- `agentbox url` — Open a box's web app URL in the browser (even with no `expose:` service)
|
|
109
|
+
- `agentbox screen` — Open a box's VNC (noVNC) viewer in the browser
|
|
110
|
+
- `agentbox code` — Open a box in VS Code or Cursor via the Dev Containers extension
|
|
111
|
+
- `agentbox shell` — Open an interactive bash shell in a box
|
|
112
|
+
- `agentbox open` — Open a box's merged workspace in Finder
|
|
113
|
+
- `agentbox logs` — Print recent log lines from a box service; `-f` to stream
|
|
114
|
+
- `agentbox dashboard` — Box list + the selected box's live agent session
|
|
115
|
+
|
|
116
|
+
**Inspect**
|
|
117
|
+
|
|
118
|
+
- `agentbox list` (`ls`) — List boxes in current project or `-g` for all
|
|
119
|
+
- `agentbox status` — Show service + task status from a box's `agentbox-ctl` daemon
|
|
120
|
+
- `agentbox top` — Live resource monitor (cpu/mem/pids/disk) for a box, project, or all boxes
|
|
121
|
+
|
|
122
|
+
**Lifecycle**
|
|
123
|
+
|
|
124
|
+
- `agentbox start` — Start a stopped box (docker start + re-mount the FUSE overlay)
|
|
125
|
+
- `agentbox stop` — Stop a box (preserves the upper volume, `node_modules` included)
|
|
126
|
+
- `agentbox destroy` (`rm`) — Destroy a box and discard its upper volume
|
|
127
|
+
- `agentbox pause` / `agentbox unpause` — Freeze / resume a box (sub-second)
|
|
128
|
+
|
|
129
|
+
**Sync & state**
|
|
130
|
+
|
|
131
|
+
- `agentbox download` — Download a box's `/workspace` back into your host workspace (gitignore-aware)
|
|
132
|
+
- `agentbox cp <src> [dst]` — Copy individual files between host and box (like `docker cp`; direction picked by `name:` prefix)
|
|
133
|
+
- `agentbox checkpoint` (alias `checkpoints`) — List and manage project checkpoints (warm box state to start new boxes from); bare command lists, `checkpoint create` captures
|
|
134
|
+
|
|
135
|
+
**Advanced**
|
|
136
|
+
|
|
137
|
+
- `agentbox wait` — Block until the box reports all autostart units ready
|
|
138
|
+
- `agentbox prune` — Clean up orphan state records (and with `--all`, orphan docker resources)
|
|
139
|
+
- `agentbox self-update` — Update agentbox, wipe the box image so it rebuilds, reload the relay
|
|
140
|
+
- `agentbox config` — Read / write layered config (global, per-project, workspace `defaults:`)
|
|
141
|
+
- `agentbox relay` — Manage the host relay process (`status` / `stop` / `start` / `restart`)
|
|
142
|
+
|
|
143
|
+
Run `agentbox <command> --help` for command-specific options.
|
|
144
|
+
|
|
145
|
+
## Development
|
|
146
|
+
|
|
147
|
+
```sh
|
|
148
|
+
git clone https://github.com/madarco/agentbox && cd agentbox
|
|
149
|
+
pnpm install && pnpm build
|
|
150
|
+
node apps/cli/dist/index.js --help
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
The full development workflow, stack, end-to-end smoke tests, and teardown live in [`docs/development.md`](https://github.com/madarco/agentbox/blob/main/docs/development.md).
|
|
154
|
+
|
|
155
|
+
# Author
|
|
156
|
+
|
|
157
|
+
[Marco D'Alia](https://www.madarco.net) - [@madarco](https://x.com/madarco) - [Linkedin](https://www.linkedin.com/in/marcodalia/)
|
|
158
|
+
|
|
159
|
+
# License
|
|
160
|
+
|
|
161
|
+
MIT. See [LICENSE](https://github.com/madarco/agentbox/blob/main/LICENSE).
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import {
|
|
3
3
|
buildCloudAttachInnerCommand,
|
|
4
4
|
cloudAgentAttach
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-R4O5WPHW.js";
|
|
6
|
+
import "./chunk-7UIAO7PC.js";
|
|
7
7
|
import "./chunk-KL36BRN4.js";
|
|
8
8
|
import "./chunk-G3H2L3O2.js";
|
|
9
9
|
export {
|
|
10
10
|
buildCloudAttachInnerCommand,
|
|
11
11
|
cloudAgentAttach
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=_cloud-attach-
|
|
13
|
+
//# sourceMappingURL=_cloud-attach-O6NYTLES.js.map
|