AnyBot/deploy/mac
王性驊 4605b317d8 Bot 的電腦 can run under gVisor: its own kernel, Chromium's sandbox back on
容器隔離 in 設定 › 電腦: standard (runc, the container is the only wall, Chromium runs
--no-sandbox) or hardened (runsc: a virtualized kernel, all capabilities dropped but the few
the desktop needs, ANYBOT_BOX_SANDBOX=1 turns Chromium's own sandbox back on). Box image v7.
deploy/mac/gvisor-vm.sh makes a Lima VM with Docker + gVisor for a Mac (started at login),
gvisor-migrate.sh moves the box's files and logins there.

Checked and finished before committing:
- the hardened choice is offered only on a Docker host that has runsc; a box set to it on a
  host without it opens the standard way and says so (it used to not start at all)
- the settings row shows what the box really runs on, and when 更新 is needed
- no swap only under gVisor (a standard box keeps Docker's default)
- the migrate script sees the running Mac app ("AnyBot", not "anybot")
- the VM script starts an existing VM by name, checks runsc and the kernel from the Mac
- the version test says 7

Real run in the Lima VM: desktop, VNC, numbered controls, xdotool and screenshots work; no
Chromium process has --no-sandbox, renderers run with seccomp and their own namespaces.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uirha2RVfSYmrhqNnqx9Z4
2026-11-07 00:03:25 +08:00
..
bundle.sh Mac permissions: ask at most every ten minutes; one fixed signing key keeps them across updates; open apps by their shown name 2026-11-05 16:57:44 +08:00
com.anybot.relay.plist AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
com.anybot.serve.plist AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
gvisor-migrate.sh Bot 的電腦 can run under gVisor: its own kernel, Chromium's sandbox back on 2026-11-07 00:03:25 +08:00
gvisor-vm.sh Bot 的電腦 can run under gVisor: its own kernel, Chromium's sandbox back on 2026-11-07 00:03:25 +08:00
sign.sh Mac permissions: ask at most every ten minutes; one fixed signing key keeps them across updates; open apps by their shown name 2026-11-05 16:57:44 +08:00