An agent with a tool call still needs somewhere for that call to land. Most of the time that surface is borrowed: a browser driven by screenshots, a terminal read by scraping, or a shell script that assumes nothing else is running. These launches build the surface instead, and in doing so make the agent's actions addressable, replayable and safe to interrupt.
A browser built for both
Zephium is an open-source browser and work environment for humans and agents on the same surface. Its documentation describes a shared Tasks surface for both, an agentic browsing execution layer behind a feature called Work, and a bounded browser session driven by a semantic locate and act controller, with runtime subsystems for execution, scoped runtime, composition, native lifetimes and persistence. The project is careful about what it claims: code and tests are the evidence of present behavior, the security model owns the guarantees, and the product system owns intent.
A workspace with an API
gPTY is a desktop workspace built on Rust and Godot that treats panes as something you script rather than something you look at. It provides a tiling grid of terminals, code viewers, file trees, wikis and media, plus a JSON-RPC and MCP control surface so agents and automation can spawn panes, inject text and observe output without scraping a TUI. Every pane is drivable from a shell, a script or an agent over one public API, and it carries terminal emulation with true colour, saved layouts and workspaces, and a Markdown wiki with wikilinks, backlinks and a link graph.
Recording so you can go back
Jukebox OS is a deterministic flight recorder, ACID tool sandbox and time-travel runtime for multi-agent systems, with a Rust and WASI core and a Python SDK. It records what agents did so you can drop the needle on any frame and replay it, and runs tool calls inside an ACID sandbox so a failed or half-applied action can be rolled back rather than left behind. It is MCP compatible and ships a live web inspector.
Small surfaces, predictable grammar
Proc CLI gives process management the property that makes an agent safe to hand a shell command to: predictability. It is a semantic CLI for macOS, Linux and Windows where a leading colon means a port, a plain number is a PID, and anything else is matched against the process name and full command line, so node also finds nodemon and node server.js. Commas combine targets, --in scopes a target to the current folder, and kill asks first with --dry-run to preview. Commands cover kill, stop, free, freeze, thaw, unstick, watch, wait, orphans, stuck and tree.
Where code stops and the model starts
Squishling is a Ruby gem built on the claim that code is a cache for AI judgement. A squished method either runs its Ruby implementation with the LLM as failover, or routes some callers through the LLM instead of carrying deterministic code, and either way returns the same strict-schema-validated typed result, so callers cannot tell the difference. The project ships a spectrum slider and a token-cost calculator for pricing maintenance against tokens.
Stylebot is the simplest surface change on the list: a browser extension for Chrome, Firefox and Edge that restyles any website by pointing at an element, writing the CSS and reloading your style every time you return, with saved profiles per site and a path that works alongside a coding agent.
Two kinds of extraction
Scriber Pro transcribes offline on the Mac: files, YouTube videos and web video, including m3u8 streams pulled straight from web pages.
Thyme goes much deeper. It is a native reverse-engineering IDE that opens an APK and returns Java with the symbols the compiler left behind, or opens a .so and returns ARM disassembly for A64, A32 or T32 with basic blocks and control-flow graphs. Both land in one DuckDB workspace, so the call graph is a table you can query with SQL and trace across Java and native code. The decompiler is linked in-process with nothing leaving the machine, and thyme --mcp exposes the workspace over the Model Context Protocol.
Why the surface matters more than the call
The eight entries here differ wildly in size โ a browser, a tiling workspace, a flight recorder, a command-line tool, a Ruby gem, a browser extension, a transcriber and a disassembler โ but they are all doing the same thing: replacing a borrowed surface with a purpose-built one. A browser driven by screenshots works until a modal appears. A terminal read by scraping works until output wraps. A shell command works until the process name is ambiguous.
The payoff for building the surface is that actions become addressable. Zephium can name the element it is acting on, gPTY can name the pane, Proc CLI can name the process, Thyme can name the basic block. Once an action has a name it can be logged, replayed, rolled back or interrupted, and Jukebox OS shows what that is worth: a failed tool call becomes something you undo rather than something you clean up afterwards.