feat(sbx,ai): snapshot all backends w/ local export; robust AI + rejoin
- /sbx save [--local] and new /sbx vmsave/vmsnaps: snapshot Docker, Multipass, and VirtualBox; --local also writes a portable artifact (docker .tar / VBox .ova) under hh-snapshots/ that survives pruning. - sandbox reappears for anyone who leaves and rejoins (host replays status + screen snapshot + ACL on Joined); SbxStatus ready handler is now idempotent so it never wipes scrollback. - received files auto-bridge into the hosted sandbox (ft::tar_path). - AI agent: translate Ollama's cryptic 404 into model/host/fix guidance. - bootstrap installs the AI layer (Ollama + default model) by default, with consent gates; --no-ai opts out, --yes skips prompts. - help menu lists the new save/vm flags. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+7
-2
@@ -155,8 +155,8 @@ fn help_clusters(theme: &Theme) -> Vec<HelpCluster> {
|
||||
),
|
||||
kv("/sbx stop", "tear down the sandbox (purges the VM)"),
|
||||
kv(
|
||||
"/sbx save [label]",
|
||||
"snapshot state (docker image; survives stop)",
|
||||
"/sbx save [label] [--local]",
|
||||
"snapshot state (docker image; --local also writes a portable .tar)",
|
||||
),
|
||||
kv(
|
||||
"/sbx load <label>",
|
||||
@@ -185,6 +185,11 @@ fn help_clusters(theme: &Theme) -> Vec<HelpCluster> {
|
||||
"/sbx gui cancel",
|
||||
"abort a pending launch (nothing stopped or installed)",
|
||||
),
|
||||
kv(
|
||||
"/sbx vmsave <vm> [label] [--local]",
|
||||
"snapshot a VM (--local also exports a portable .ova)",
|
||||
),
|
||||
kv("/sbx vmsnaps <vm>", "list a VM's snapshots"),
|
||||
],
|
||||
},
|
||||
HelpCluster {
|
||||
|
||||
Reference in New Issue
Block a user