Most agent interfaces are chat windows with a coat of paint. StarNet, published on GitHub by Andrew Sims under the androoAGI handle, inverts that. The pixel-art space station is not a skin over a chatbot. It is the runtime’s state, rendered: “a room is a capability-scoped team, a hallway is an authorized handoff lane, and a placed object is a real capability grant.” The README states the product law plainly: “the interface must never assert state the harness cannot prove.”

That single sentence is the most interesting thing in the repo, and it is the reason this project is worth more than a weekend of curiosity.

The claim that matters

Agent frameworks have spent two years building orchestration layers that are invisible by default. You define a graph in Python, you get a trace in a web UI, and the relationship between what you configured and what you see is mediated by a logging pipeline. StarNet collapses that gap by making the configuration the visualization. Move an agent into a bay and you have changed its concurrency. Draw a hallway between two rooms and you have declared a permitted handoff. The layout is not a diagram of the workflow; it is the workflow.

This is a genuinely different bet from the LangGraph-style approach, and it comes with a real cost. Spatial metaphors are wonderful for small systems and miserable for large ones. A twenty-agent pipeline drawn as a floor plan is a maze. A hundred-agent one is unreadable. Anyone who has watched a node graph turn into spaghetti after the fourth conditional branch knows where this goes. StarNet’s answer, for now, is that it does not simulate anything: the station projects live runtime state, so at least the spaghetti is honest spaghetti.

What is actually enforced

The interesting details are in the plumbing, not the sprites. Model calls stream through a local Node sidecar. Tools run through “explicit capability and consent checks.” Agent memory, transcripts, spend records, tasks, and schedules persist on disk. Secrets live in the sidecar or the OS keychain, “never in the frontend.” Provider requests leave the machine only when an agent runs; station state stays local unless you attach a network tool.

That is a defensible security posture for a local-first tool, and it is more than most agent harnesses bother to state. The sidecar uses Node core modules only, so node sidecar/index.js runs without an install. The desktop shell is Rust and Tauri. The frontend is vanilla JavaScript, which is either refreshing or alarming depending on your tolerance for hand-rolled state management in a system that claims to prove its own runtime.

The BYOK model is the other structural choice. Paste an OpenRouter key, or sign in with Anthropic, OpenAI, or Google accounts. Or run it free against Ollama on 127.0.0.1:11434 after ollama pull llama3.1. The README is honest about the tradeoff: “local models are smaller than the cloud ones, so expect slower and rougher work on long tasks.” That sentence is doing more work than most vendor documentation manages in a page.

The Night Shift problem

The feature that will decide whether StarNet is a toy or a tool is Night Shift. Leave the station running, and agents keep working “inside an explicit, adjustable leash,” with every away-action logged and reviewable. This is where the pixel-art metaphor stops being charming and starts being load-bearing. An agent acting unattended at 3 a.m. is not a sprite wandering a corridor. It is a process with credentials, a budget, and the ability to call external tools.

StarNet’s answer is the consent check and the ledger. Spend, budgets, and run history persist on disk and display as-is. Task Briefs convert ambiguity into “one concrete question with options” over whatever channel you have wired up (Telegram, Discord, Slack, Signal, or Matrix) rather than guessing silently. Deliverables land in an OUTBOX as files rather than chat scrollback. Each of these is a small, correct decision about what an unattended agent owes its operator.

The interface must never assert state the harness cannot prove. Applied to a chat window, that rule would invalidate most of the agent products shipping today.

The unanswered question is what the leash actually constrains. A capability grant attached to a placed object is a clean abstraction until the object is an MCP server with OAuth credentials to your calendar. The README says MCP connectors extend “what agents can touch,” which is exactly the surface where a spatial permission model either holds or leaks. StarNet claims the harness can prove its state. The proof obligation is heaviest at the connector boundary, and that is where we would want to see the receipts.

The import path is the tell

Buried in the docs is a detail that says more about the market than any feature list: StarNet can import an existing agent from an on-disk OpenClaw or Hermes home, minting a new agent from the persona, instructions, memory, and model it finds. API keys never transfer.

That is a migration story aimed at people who already run agents locally and are unhappy with their current harness. It tells you StarNet’s author expects a population of users with portable agent state sitting on disk, and expects them to be shopping. Whether that population is large enough to matter is the open question, but the bet is legible.

Two more small signals. The release pipeline refuses to stage unless the Windows installer passes Authenticode and timestamp verification, both Mac builds pass Developer ID checks and Apple notarization, and every updater artifact carries a valid signature. And the MIT license covers the code only: the StarNet name, logo, station artwork, and sprites stay with Sims, so forks must ship under their own identity. That is a clean split between open code and reserved brand, and more projects should copy it.

What to watch

StarNet is early, self-described as such, and honest that Windows is the most-tested target while macOS has “less real-world coverage.” The interesting test is not whether the station looks good. It is whether the spatial permission model survives contact with a real MCP connector holding real OAuth tokens, and whether anyone builds a twenty-agent station that stays readable.

If it does, the chat window’s long run as the default agent interface starts to look like an accident of history rather than a design decision.