How it works
The pieces
- nc-host runs on the desk: it captures the screen and sound with ffmpeg, encodes them once for every connected device, and plays your keyboard, mouse, touch, microphone and camera into the desk
- nc-rendezvous is the front door: the login, the web client, the WebRTC handshake, and a TURN relay for networks that block direct connections
- Clients: the browser page, and the Flutter app for iPhone, iPad and Mac
- The object server keeps your files, records, notes and reminders, and serves published sites
- Voice listens through your device's microphone, asks an AI model what to do, and acts through the same tools a script can use
The desk
Setup is plain shell: `provision/apply.sh` builds the desk and can run again at any time, and `provision/verify.sh` checks it. Settings the apps share are plain files in `~/.config/dbbasic`: AI keys in `ai.env`, where documents go in `places.env`.
Security
A real certificate with a domain; your password is exchanged for a short-lived token; a device types the desk's PIN once and is then remembered through pairing; relay credentials are made per session. API keys stay on the desk and are never shown.
Built for AI
Every app can be driven by voice and scripts through its own control socket, with an honest label on each action: read, edit, file, paid or destructive. Voice's approvals follow that label.