Run byre and the app on their own embedded Tailscale nodes
This commit is contained in:
@@ -14,18 +14,18 @@ A server and macOS app for running many coding agents (Claude Code, Codex and An
|
||||
- **Workflows.** Named graphs of stages, each run as its own task, with fan-out and fan-in.
|
||||
- **TODO.md.** A project's `TODO.md` items show on its dashboard; start or discuss one in a click.
|
||||
- **Changes, Files and Terminal.** Per-task diff view with line comments sent to the agent, a read-only file browser, and a shell in the worktree.
|
||||
- **Previews.** Agents expose dev servers over HTTPS through `tailscale serve`.
|
||||
- **Previews.** Agents expose dev servers, and the app opens each at a local `*.localhost` address forwarded over the tailnet.
|
||||
- **Screen and app control.** Agents can see and drive the Mac byre runs on (screen capture, accessibility, Orion, Chrome DevTools) and the Macs you have the app open on (shell, files, the same screen tools).
|
||||
- **Status.** Running turns, stuck or zombie agent processes, rate-limit usage and connected clients.
|
||||
|
||||
## Requirements
|
||||
|
||||
macOS, [Tailscale](https://tailscale.com) on every Mac, and on the Mac that runs the server, `git`, the `claude` and `codex` CLIs (and for Gemini models the Antigravity CLI, `brew install --cask antigravity-cli`, signed in once by running `agy`), Node.js (agents' Playwright browser tools run through `npx`) and Google Chrome (`brew install git node --cask google-chrome`). Identity comes from Tailscale: byre only serves requests that arrive through `tailscale serve`.
|
||||
macOS, a [Tailscale](https://tailscale.com) tailnet with MagicDNS and HTTPS certificates turned on (byre and the app each join it as their own node, so no Mac needs the Tailscale app), and on the Mac that runs the server, `git`, the `claude` and `codex` CLIs (and for Gemini models the Antigravity CLI, `brew install --cask antigravity-cli`, signed in once by running `agy`), Node.js (agents' Playwright browser tools run through `npx`) and Google Chrome (`brew install git node --cask google-chrome`). Identity comes from Tailscale: byre serves only the tailnet's users, as its node identifies them.
|
||||
|
||||
## Installing
|
||||
|
||||
1. Download [byre](https://dl.byre.run/byre.dmg) from [byre.run](https://byre.run) and drag `Byre.app` to Applications, on every Mac you'll use byre from.
|
||||
2. On the Mac that runs the server, open byre and click **Run byre on this Mac**. It first checks for `git`, Tailscale (signed in, with HTTPS certificates turned on) and at least one of `claude`, `codex` and `agy`, and lists anything missing with how to install it. Then it installs the server as a launchd service, using your login shell's `PATH` to find `claude`, `codex`, `agy`, `git` and `npx`, serves it through `tailscale serve`, and connects to it. The Server tab shows its URL, turns it off and on, and lists the tools it found and how to install the missing ones.
|
||||
1. Download [byre](https://dl.byre.run/byre.dmg) from [byre.run](https://byre.run) and drag `Byre.app` to Applications, on every Mac you'll use byre from. Open it and click **Sign in to Tailscale** to put that Mac's byre on your tailnet.
|
||||
2. On the Mac that runs the server, click **Run byre on this Mac**. It first checks for `git` and at least one of `claude`, `codex` and `agy`, and lists anything missing with how to install it. Then it installs the server as a launchd service, using your login shell's `PATH` to find `claude`, `codex`, `agy`, `git` and `npx`, asks you to sign the server's own Tailscale node in, and connects to it. The Server tab shows its URL, turns it off and on, and lists the tools it found and how to install the missing ones.
|
||||
3. Open byre on each other Mac; it picks up the server's URL through iCloud, or enter that URL.
|
||||
|
||||
The app updates itself, and the server along with it on the server's Mac. To build from source instead, see "Running as a service" and "macOS app" in [docs/operations.md](docs/operations.md); that needs Go and Xcode.
|
||||
|
||||
Reference in New Issue
Block a user