macOS app · public beta · free

Your Mac does the work. You just aren't there.

AI Box turns the Mac on your desk into an AI workstation — agentic chat, a writing studio, image generation and a real terminal — then hands you the controls on your phone. The machine does the work. The keys never leave it.

Universal — Apple Silicon & Intel · Signed & notarized · macOS 10.15+

This is a public beta. It's stable enough that I use it for my own work every day, and free while it's in testing. What I want back is what broke, what confused you, and what you wish it did — open an issue or email me.

Powerful AI is either in someone else's cloud, or chained to your desk

Cloud tools see everything

Your manuscript, your client's codebase, your API keys. You accept someone else's content policy and retention terms to get work done.

Local tools stop at the desk

Running models on your own hardware fixes privacy and creates a new problem: the moment you stand up, the most capable computer you own goes idle.

AI Box does both

The Mac stays the source of truth and the only holder of secrets. Your phone is a window onto it — same app, same documents, over your own network. Nothing is hosted for you, because nothing needs to be.

Four tools that already know about each other

Agentic chat

Reads and edits files, searches a codebase, runs shell commands, fetches pages. Every destructive step shows a diff and asks first.

Writing studio

Continue a passage mid-sentence, or proofread a selection and accept corrections one at a time. Modes for fiction, business, marketing and academic work. Version history on disk, so no draft is ever really gone.

Image generation

A managed ComfyUI the app installs for you — no Python setup — running on your own GPU. Illustrate a scene straight from your manuscript, with characters kept visually consistent.

A real terminal

An actual PTY, not a command box. vim, top, claude — from the sofa, or from a train.

Three steps, and one of them is optional

  • 01

    Install it

    Download the .dmg and drag it across. It's signed and notarized by Apple, so it opens like any other app — no right-click-to-open dance. It updates itself from then on.

  • 02

    Point it at a model

    Paste an OpenRouter key to use frontier models, or install a local one through Ollama from inside the app and run entirely offline. Any OpenAI-compatible endpoint works too. Keys go into the macOS Keychain, never a config file.

  • 03

    Pair your phone — optional

    Scan a QR code. Your phone opens the same app over your home network and installs to the home screen.

At home it just works. Away from home takes one more app.

AI Box never puts your Mac on the public internet, so how you reach it depends on where you are. Both routes carry the same pairing token, and neither opens a port to the world.

On your own network — nothing to install

The Mac serves the app to your Wi‑Fi. Scan the QR code in Settings → Phone access and your phone is paired. That's the whole setup, and it covers the sofa, the kitchen table and the garden.

Anywhere else — add Tailscale

Install Tailscale on the Mac and on your phone, sign both into the same account, and they join one private network of your own. Scan the QR code again and the Mac is reachable from a train, an office, another country — over an encrypted link between your two devices, with nothing exposed publicly. Free for personal use.

Leave the Mac awake

A sleeping Mac answers nothing. Turn on Away mode before you leave and AI Box holds the machine awake — display off, work continuing — for as long as it's serving.

One codebase, two transports

Every capability is written once against a transport layer that resolves at runtime to either Tauri IPC or an HTTP + WebSocket connection. That is why the phone isn't a cut-down companion app — it is the same app.

ShellTauri 2 — a Rust backend with the system WebView. ~17 MB installed, not a bundled browser.
InterfaceReact 19 + TypeScript. TipTap/ProseMirror for the editor, xterm.js for the terminal.
BackendRust: provider streaming with server-side cancellation, PTY sessions, filesystem tools behind a path guard.
RemoteAn axum HTTP + WebSocket server on the Mac serving the same bundle to the phone. Bearer auth, constant-time comparison, fails closed.
SyncItem-level merge with tombstones. Edit the same document on both devices and neither side loses work.
DistributionUniversal binary, Developer ID signed, Apple-notarized, with minisign-verified auto-updates.

An agent with real access needs real limits

  • Your API key never leaves the Mac. The phone gets a placeholder so its interface knows a key exists; the Mac injects the real one when the request goes out.
  • File access is jailed to a workspace folder you choose, with .. traversal and symlink escapes rejected in Rust, not in the interface.
  • Credentials are off-limits, always. ~/.ssh, ~/.aws, keychains, shell startup files and LaunchAgents are refused outright — and turning off approval prompts does not turn this off.
  • The Mac approves, not the phone. A remote request to write a file or run a command raises a prompt with a diff on the desktop.
  • Your words stay yours. Drafts are snapshotted to disk continuously, restorable, and exportable to a folder you own. With a local model, nothing leaves the machine at all.

Take it for a run, then tell me what broke

AI Box is free during beta and never hosts your content or pays for inference — you choose the model and the account it bills to.

Designed and built by GW‑InTech — available for work.