panopticon
Live session · SILT · 30-second excerpt at 2× · 1.4 MB

Your desktop, zoomed out into the agent's instrument.

A macOS overlay for pi. One chord and the screen you're looking at shrinks into a CRT beside a live agent transcript — with the last few minutes of it on tape.

⌥Space
reveal / hide
⌥ + scroll ↓
scrub the zoom
⌥ + scroll ←→
rewind time
⌥Tab
agent ⇄ desktop
01

It sees

The revealed harness: the live desktop embedded in a CRT on the left, the pi transcript on the right, and the agent action tape running beneath the screen
02

It drives

Porthole mode: the embed is zoomed into a single window, aspect-fitted, streamed on its own
Porthole — ⌥+scroll ↑ over a window zooms into just that window; tools then take window-local coordinates.
  • desktop_accessibility — snapshot, press, focus, enter_text, move_mouse by element id. Secure fields are redacted.
  • desktop_mouse / desktop_key for everything AX can't describe: canvases, drags, scrolls.
  • desktop_window and desktop_space — focus or zoom a window, switch Spaces on exactly one display. Nothing the agent holds can toggle the overlay itself.
  • Click into the embed and the real pointer becomes the desktop's until ⌥Tab — confined to that display, no side-of-screen drags.
  • Every action lands on the tape under the screen and charges the phosphor. Typing ticks. Chimes share one root note.
03

It rewinds

Timeline scrub: the embed shows a frame from eight seconds ago with VHS colour bleed, the nameplate reads −8s
⌥+scroll sideways, or ⌃⌥⌘←/→, drags the tape. The agent can seek, step, find, note — and the moment it acts, the view snaps back to live first.
04

Install

# from a release zip
curl -LO https://github.com/harryaskham/panopticon/releases/latest/download/Panopticon-0.1.0.zip
ditto -x -k Panopticon-0.1.0.zip ~/Applications/
open ~/Applications/Panopticon.app

# or from source (host Xcode + nix)
git clone https://github.com/harryaskham/panopticon && cd panopticon
nix develop -c scripts/build.sh install

macOS 14+, Apple silicon. First launch asks for Screen Recording; desktop control needs Accessibility and Input Monitoring. Release downloads currently require GitHub repository access.

Make any pi a Panopticon pi

pi install git:github.com/harryaskham/panopticon

The desktop_* tools and desktop-context pushes, talking to the running app over its control socket. Also an HTTP MCP endpoint for other agents on the machine.

Config lives at ~/.config/panopticon/config.yaml; /settings in the harness edits it live. Everything is scriptable through panopticonctl.