Commit graph

4 commits

Author SHA1 Message Date
Nathan Flurry
944ad1ba55 feat: replace neko with native GStreamer WebRTC for desktop streaming
Replace the neko binary dependency with a native GStreamer pipeline
(ximagesrc -> vp8enc -> webrtcbin) for desktop video streaming. This
removes the external neko process and integrates screen capture directly
via gstreamer-rs crate bindings behind a `desktop-gstreamer` feature flag.

Key changes:
- Add desktop_gstreamer.rs with GStreamer WebRTC pipeline management
- Rewrite signaling protocol (ready/offer/answer/candidate over WS)
- Add leaky queues and videorate for low-latency streaming
- Rewrite ICE candidates to 127.0.0.1 for Docker connectivity
- Constrain UDP port range (30000-30100) via libnice agent
- Update TypeScript SDK desktop-stream.ts for new signaling
- Update inspector DesktopTab with WebRTC Live View
- Update Dockerfiles to install GStreamer dev packages

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 17:54:39 -07:00
Nathan Flurry
e638148345 feat: expand desktop computer-use APIs 2026-03-15 17:56:59 -07:00
Nathan Flurry
153480256a Use real desktop stack in tests 2026-03-15 17:55:19 -07:00
Nathan Flurry
abf9b1858f Add Docker-backed integration test rig 2026-03-15 17:55:19 -07:00