AnyBot/box
王性驊 76a76c7d7a Whole control flow checked against real chats: what the bot sees is what is there, every step lands, nothing done twice
Web
- web_fetch kept pages with a <header> only up to it (taken for <head>): articles came back as their menus.
- browser_open waits for the page to load and returns it like browser_read (one step fewer per page);
  actions wait for the page to hold still instead of fixed 1-2.5 s sleeps; one way to reach the tab.

The bot's computer (box v6)
- Numbers only on what can be seen: clipped to the window and the page's visible area, none under
  another app's window (a link scrolled under the toolbar was numbered on Back).
- press_key with a typed character no longer swallows the keys after it (xdotool type --args 1).
- The person's input through noVNC/TigerVNC is noticed again (fence, continuous updates, QEMU keys).
- "Nothing changed" only after clicks, scrolls and drags; long text is pasted; one screen step at a
  time; one docker inspect per step when the box is known ready; poppler-utils for long PDFs.
- One typing path and fewer round trips (stdin variant, unused picture path, extra batch execs gone).

The person's computers
- Linux: the window system's front app when it has one, and the reason when there is none (was 「」);
  hidden and off-screen controls get no number; wording no longer names a tool that doesn't exist.

The loop
- Without Docker, the bot's own computer runs no commands where there is no sandbox (Linux, Windows):
  it was a plain shell on the brain itself, keys in reach, asked nothing.
- The bot's own computer is re-checked each step; unreachable computers are failures, not safety
  blocks; no direct-mode note on every result; an empty reply is asked again; scrolling and keys
  aren't counted as going in circles; steps aren't moved to a computer that can't do them.
- One finish() for every step's result, keep_grant(), dead appctl list_computers/SERVING and the
  impossible server branches removed; duplicated prompt instructions merged.

Tests: 162 (Mac) / 166 (Linux) unit; real box drills 6/6 on box v6; a brain without Chrome browses
on its box; remote E2E 28/28.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uirha2RVfSYmrhqNnqx9Z4
2026-11-06 17:44:59 +08:00
..
Dockerfile Whole control flow checked against real chats: what the bot sees is what is there, every step lands, nothing done twice 2026-11-06 17:44:59 +08:00
Xresources AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
a11y Whole control flow checked against real chats: what the bot sees is what is there, every step lands, nothing done twice 2026-11-06 17:44:59 +08:00
browser Box 5: one browser profile, controls read even when Chromium calls its window hidden, the launcher never waits on itself 2026-11-06 01:03:59 +08:00
fluxbox-init AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
menu Bots click by number: every control on the screen is boxed and numbered, on every computer 2026-11-06 00:47:01 +08:00
overlay AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
start.sh Bots click by number: every control on the screen is boxed and numbered, on every computer 2026-11-06 00:47:01 +08:00