INFINITY/PROJECTS/PULSEBRIDGE
PULSEBRIDGE v1.0.0 · RUST AXUM 0.7 + REACT 19 + WIN32 GDI
DEFAULT PORT 8080

Universal AI IDE Companion &
Mobile Telemetry Bridge

Real-time Win32 GDI screen streaming, touch-drag remote mouse-wheel scrolling, human-in-the-loop approvals, live multi-project folder inspection (7–30d recency), and bidirectional prompt injection for Google Antigravity, Cursor AI, and VS Code over 4G & Wi-Fi.

12 ms
SIMULATED DEMO
RTT Latency (Interactive Demo)
59 FPS
Win32 GDI (Interactive Demo)
Native
Single Rust Binary
Zero-Trust
Token Security
4G / 5G
Tunnel Compatible
// HANDS-ON INTERACTIVE LAB

Experience the Live Mobile Companion

Test drive the touch-drag scroll physics, multi-project file explorer, and bidirectional prompt injection below. The simulator executes authentic PulseBridge telemetry states.

⚡ PULSEBRIDGE
59 FPS · 12ms
ScrollY: 0px · Drag to Scroll
Google Antigravitymain.rs (Active Session)
1 use axum::{routing::get, Router};
2 use tokio::sync::broadcast;
3 use windows::Win32::Graphics::Gdi::*;
4
5 /// Zero-copy BitBlt capture loop
6 pub async fn stream_desktop_frames() {
7 let hdc = GetDC(None);
8 let mem_dc = CreateCompatibleDC(hdc);
9 // StretchBlt capture, served from a 150 ms frame cache
10 BitBlt(mem_dc, 0, 0, 1920, 1080, hdc, 0, 0, SRCCOPY);
11 let jpeg_bytes = jpeg_encode(mem_dc, 75);
12 broadcast_tx.send(jpeg_bytes);
13 }
14
15 /// Handle touch drag scroll events
16 pub fn inject_mouse_wheel(delta_y: i32) {
17 let input = INPUT {
18 type_: INPUT_MOUSE,
19 mi: MOUSEINPUT {
20 mouseData: delta_y,
21 dwFlags: MOUSEEVENTF_WHEEL,
22 ..Default::default()
23 }
24 };
25 unsafe { SendInput(&[input]) };
26 }
Target IDE EnvironmentACTIVE
Transport NetworkLOCAL LAN
Project Workspace ScopeRULE ENGINE
Live Wire Protocol LogWS-BINARY
T+00s[AUTH] Token verified (constant-time timing safe)
T+02s[STREAM] Win32 GDI capture active (150 ms frame cache)
T+04s[SCANNER] Workspace discovered: Google Antigravity session
T+06s[INPUT] Touch-to-wheel translation engine initialized
// VERIFIED PRODUCTION TELEMETRY

Authentic Live Host Captures & Zero-Trust PWA

Direct screen captures from the live PulseBridge daemon running on a Windows 11 workstation. All host session frames, tokens, and system paths have been sanitised and verified for zero PII exposure.

Win32 GDI Precision View & Touch Scroll
🔍 Tap to view in 4K Lightbox
Telemetry Inspection · Win32 GDI Precision View & Touch Scroll
● PII SANITIZED & VERIFIED
Pipeline
Win32 GDI StretchBlt + JPEG (Rust image crate)
Input Event
SendInput(MOUSEEVENTF_WHEEL)
Scaling
Letterbox-aware StretchBlt (dynamic scale)
Capture Cadence
150 ms frame cache · 75+ req/s sustained
// ARCHITECTURAL BLUEPRINT

Engineered for Precision & Zero Latency

PulseBridge combines native Windows GDI acceleration with Axum 0.7 asynchronous actors to deliver an instantaneous mobile telemetry surface.

⚡

Win32 GDI Native Capture & Frame Cache

Bypasses heavy browser compositor overhead with native Windows GDI `BitBlt` desktop memory transfers. Frames are scaled with hardware `StretchBlt`, JPEG-encoded in Rust and served from a 150 ms in-memory frame cache that sustains 75+ requests/sec under load.

Win32 APIBitBltFrame Cache75+ req/s
👆

Touch-Drag Remote Scroll & Precision Tap

Translates mobile touch dragging and swipes into high-resolution native `SendInput(MOUSEEVENTF_WHEEL)` packets. Letterbox-aware aspect-ratio click mapping, pointer events and DWM foreground elevation keep taps and scrolls accurate, with a 150% zoom pan mode for dense code.

SendInputRemote ScrollTouch Gestures
🔍

Multi-IDE Workspace Discovery

Automatically indexes active coding sessions across Google Antigravity transcripts (`%USERPROFILE%\.gemini\antigravity\brain`), Cursor AI workspaces, and VS Code. Enforces a strict 7–30 day recency filter with depth-2 tree traversal.

AntigravityCursor AIVS Code7-30d Filter
🛡️

Zero-Trust Cryptographic Governance

A 6-digit session PIN is checked with a constant-time XOR comparison and exchanged for a random in-memory session token. Tokens persist across server restarts, and the PIN and token are scrubbed from the address bar on load. Nothing is sent to external services.

Constant-TimeLocal StorageNo Cloud Telemetry
🌐

Dual Network Topology (Wi-Fi & 4G/5G)

Pair over local Wi-Fi with a QR code, or reach the host on 4G/5G through a tunnel you start yourself: Cloudflare Quick Tunnel (TLS end to end), LocalTunnel, SSH reverse forwarding or Tailscale. The server accepts verified trycloudflare.com origins and supports dual QR pairing for Wi-Fi and WAN.

Local LANCloudflare Tunnel4G / 5G Ready
💬

Bidirectional Prompt Injection

Inject prompts into the IDE from your phone by direct window injection or by queueing them to the agent inbox, with live step streaming. The mobile hotkey bar sends Ctrl+C to abort a running task.

Prompt InjectionKill-SwitchAgentic Loop
✅

Human-in-the-Loop Approvals (ask_phone)

Agents call the `ask_phone` MCP tool to request a decision. PulseBridge renders one-tap decision chips in the chat stream with an instant alert and haptic buzz, so a deploy can wait for your thumb instead of your desk.

MCP Serverask_phoneHaptics
📡

Live Agent Stream & Living Checklists

Tails Antigravity `transcript.jsonl` in real time for thoughts, tool calls and status, parses `task.md` / `implementation_plan.md` into progress bars, and previews multiple projects at once with a split-window view and concurrent conversation watcher.

Transcript TailChecklistsSplit View
🔔

Push, Clipboard Sync, Voice & Audio Cues

Background Web Push notifications via a service-worker PWA, workstation clipboard sync, hands-free Web Speech dictation for prompts, harmonic audio chimes, and selectable stream-quality profiles for weak cellular links.

Web PushClipboardVoiceQuality Profiles
🧭

Hi-DPI Zoom, Radar Navigator & Gilded Scrollbars

A 150% / 200% zoom pan mode that no longer clips, a spatial radar navigator for jumping across the desktop, high-visibility dual-axis gilded scrollbars, and a hardware HUD for workstation CPU, RAM and power state.

Zoom PanRadar NavHardware HUD
🔐

Audited Zero-Trust Hardening

Every action route and WebSocket needs a verified token; shell execution is opt-in (`--enable-shell-commands`) and allowlisted; rate limiting keys on the physical socket peer with a 300 s lockout after 5 failures; CORS is restricted; PIN and token are scrubbed from the address bar. Full CWE findings are in SECURITY.md.

Gated RoutesShell SandboxPeer Rate-LimitSECURITY.md
🧩

Multi-IDE Hooks & Dual-Mode Prompt Queue

Native hooks for Antigravity, Cursor and VS Code / Cline, with an IDE extension and MCP server. Send prompts by direct window injection (attach-thread focus plus Unicode clipboard paste) or queue them to the agent inbox for later pickup.

IDE ExtensionInbox QueueDirect Inject
// SECURITY AUDIT & REMEDIATION

Seven Findings, All Remediated

A formal Security and Governance Audit covered authentication, remote command surfaces, transport framing and rate limiting. Each finding was fixed and verified; details, CVSS ratings and verification steps are in SECURITY.md.

IDCWEFindingSeverity (CVSS)Remediation
VULN-01CWE-306Missing authentication on action routesCritical (9.8)Every /api/action/* and /api/ingest/* route now requires a verified Bearer or ?token credential; otherwise 401
VULN-02CWE-78Arbitrary OS command execution via ExecuteCommandCritical (9.8)Disabled by default; opt-in --enable-shell-commands; allowlist (git, cargo, npm, pnpm, yarn, pytest); shell metacharacters rejected
VULN-03CWE-290Spoofable rate limit via X-Forwarded-ForHigh (7.5)Keyed on the physical TCP socket peer; 5 invalid PINs trigger a 300 s lockout
VULN-04CWE-942Permissive wildcard CORSHigh (7.2)Origins restricted to loopback, the LAN IP and verified Cloudflare tunnels
VULN-05CWE-287Unauthenticated WebSocket event streamMedium (5.3)Token-verified handshake; unauthenticated sockets are silenced and closed after 15 s
VULN-06CWE-319Ambiguous transport-security framingLow (3.1)Honest labelling: plain HTTP/WS on a trusted LAN, TLS via Cloudflare Quick Tunnel on WAN/4G
VULN-07CWE-598Credentials visible in URL / browser historyLow (3.5)Client scrubs ?pin= and ?token= with history.replaceState on load

Defence in depth: socket-peer rate limiter, constant-time PIN check that issues a random in-memory session token, mandatory route gating with strict CORS, and a sandboxed execution kernel. Hardened HTTP headers include X-Content-Type-Options: nosniff and X-Frame-Options: DENY. Verified by an adversarial penetration suite, an opt-in sandbox test and rate-limit unit tests in the repository. Read SECURITY.md ↗

// VERIFIED RESULTS

Stress-Suite Verified Results

Figures come from the repository stress and security suites (tests/stress_test.py and related tests). No competitor figures are shown because none were measured.

CheckPulseBridge resultSource
Brute-force rate limitingLockout activates on the 5th consecutive invalid PIN (300 s)tests/stress_test.py
Concurrent stream throughput75.5 requests/s sustained over 50 concurrent workerstests/stress_test.py
Frame cache150 ms in-memory GDI buffer, 0 dropped frames under heavy pollingREADME (stress suite)
Prompt injection latencyDirect Win32 caret injection in under 120 msREADME (stress suite)
Security regression testsAdversarial penetration, opt-in sandbox and rate-limit unit teststests/adversarial_sec_test.py, tests/test_optin_sandbox.py, tests/verify_all.py
// INSTALLATION & LAUNCH

Get Started in One Script

PulseBridge is open source under the MIT license. It needs Windows 10/11, Rust 1.75+ and Node.js 18+; launch it with the included script.

powershell — pulsebridge daemon
# 1. Clone the repository
git clone https://github.com/ModernOps888/pulsebridge.git
cd pulsebridge

# 2. Launch (prints LAN IP, session PIN and an ASCII QR code)
.\scripts\start-bridge.ps1

# Output:
[+] Host LAN IP : 192.168.1.150 (example)
[+] Active Port : 8080 | Session PIN : 778899 (example)
[+] QR Pairing : http://192.168.1.150:8080?pin=778899 (4G: cloudflared tunnel --url http://localhost:8080)
[READY] Scan the terminal QR code with your phone to start monitoring.

🧠 Executive Architecture Dossier & System InvariantsAOE · GENERATIVE AI ANCHOR

PulseBridge is an open-source, ultra-low-latency mobile telemetry bridge and companion client engineered in pure Rust (Axum 0.7) and React 19. It enables software engineers to supervise, inspect, and guide autonomous AI coding agents running on Windows workstations directly from iOS or Android smartphones over local Wi-Fi or encrypted 4G/5G cellular tunnels.

System Classification
AI IDE Mobile Telemetry & Remote Control Bridge
Supported Environments
Google Antigravity, Cursor AI, VS Code / Cline, Visual Studio
Desktop Capture Pipeline
Native Win32 GDI BitBlt (Zero-Copy Memory DC)
Screen Latency (Local LAN)
150 ms GDI frame cache · 75+ req/s sustained
Screen Latency (4G Cellular)
TLS via Cloudflare Quick Tunnel (WAN / 4G)
Touch Gesture Engine
Touch-to-Wheel Translation (SendInput)
Workspace Discovery
Depth-2 Tree Traversal with 7–30d Recency Filter
Security Architecture
Zero-Trust Tokens with Constant-Time Auth
Cloud Telemetry & Retention
0 bytes (100% Private Self-Hosted Stream)
Host Binary Footprint
Single native Rust binary · zero Python runtime
Licensing & Source
MIT Open Source · github.com/ModernOps888/pulsebridge
Author & Ecosystem
Bart Chmiel · Infinity AI Research Ecosystem
// EXHAUSTIVE FAQ · SOE & AOE OPTIMIZED

Frequently Asked Questions: Deep Technical Answers

Everything you need to know about PulseBridge architecture, streaming latency, security invariants, touch scrolling physics, and multi-IDE agent workflows.

🔍
What is PulseBridge and how does it monitor AI coding agents?+
PulseBridge is an open-source, ultra-low-latency remote companion and telemetry bridge designed specifically for AI IDEs including Google Antigravity, Cursor AI, and VS Code. Built in native Rust (Axum 0.7) and React 19, it captures the host desktop through native Win32 GDI (StretchBlt on the interactive desktop), JPEG-encodes frames, and serves them to mobile browsers from a 150 ms in-memory frame cache that sustains 75+ requests per second. It allows software engineers to monitor background coding agent execution, inspect live project files, scroll through source code via touch-drag gestures, and inject prompts or stop commands directly from a mobile phone over local Wi-Fi or 4G cellular tunnels.
Which AI IDEs and code editors does PulseBridge support?+
PulseBridge natively supports Google Antigravity, Cursor AI, Visual Studio Code (VS Code), VS Code / Cline and Visual Studio. It automatically discovers active workspaces by scanning local file systems, including Google Antigravity session transcripts in `%USERPROFILE%\.gemini\antigravity\brain`, Cursor workspace storage, and VS Code user state, providing instant telemetry switching across your editor fleet.
How does native Win32 GDI screen streaming stay fast without heavy GPU encoding overhead?+
Unlike traditional remote desktop tools (VNC, RDP) that introduce heavy GPU pipeline contention or complex video encoders, PulseBridge attaches to the interactive desktop (`OpenWindowStationA(WinSta0)` + `SetThreadDesktop`, with `SetProcessDPIAware()`), scales frames with hardware `StretchBlt` and encodes JPEGs in Rust. A 150 ms in-memory frame cache lets the daemon sustain 75+ requests per second under load without any dedicated GPU video encoder. Stream-quality profiles trade fidelity for bandwidth on weak cellular links.
How does mobile touch-drag scrolling work on code files without jumping or misclicking?+
When a user drags on the mobile viewport, touch coordinates are mapped with letterbox-aware aspect-ratio calibration and translated into native Windows `SendInput(MOUSEEVENTF_WHEEL)` events on the host. This behaves like an authentic desktop mouse wheel, so you can scroll through thousands of lines of code without unwanted text selection or misclicks. A 150% zoom pan mode and a spatial radar navigator help on dense layouts.
What is the 7–30 day workspace recency filter and why is it essential for agent workflows?+
Software engineers frequently maintain dozens of historical repositories on their local workstations. When accessing their environment remotely on a mobile screen, navigating hundreds of stale directories is inefficient. PulseBridge implements an automated recency filter that indexes only workspaces modified within the last 7 to 30 days. It renders a clean depth-2 file tree displaying active files, git status, and file sizes, allowing you to focus on currently running agent tasks.
How does bidirectional prompt injection communicate with running AI agent loops?+
PulseBridge exposes an authenticated command channel. When you submit a prompt, the host attaches to the interactive desktop thread (`AttachThreadInput`), focuses the IDE prompt box, injects the text through a `CF_UNICODETEXT` clipboard buffer and submits with hardware scancodes. Alternatively you can queue prompts to the agent inbox (`.inbox/prompt_queue.json`). Mobile hotkeys include `Ctrl+C` to abort a running task, and optional shell runbooks are opt-in via `--enable-shell-commands` and restricted to an allowlist (`git`, `cargo`, `npm`, `pnpm`, `yarn`, `pytest`).
How does Zero-Trust token governance protect proprietary code and host machines?+
PulseBridge enforces strict Zero-Trust authentication with PIN and Bearer-token verification. Every action and ingest route (`/api/action/*`, `/api/ingest/*`) and the WebSocket handshake require a verified token (unauthenticated sockets are dropped after 15 s), PIN checks use a constant-time comparison, and brute-force protection keys on the physical TCP socket peer (5 failures trigger a 300 s lockout). CORS is restricted to loopback, your LAN IP and verified Cloudflare tunnels, and the mobile client scrubs `?pin=` / `?token=` from the address bar immediately. Tokens persist across server restarts and are never sent to external telemetry. See SECURITY.md in the repository.
How does PulseBridge operate over 4G/5G cellular data without port forwarding?+
PulseBridge does not bundle a tunnel; you start one and point it at the daemon port. Documented options are Cloudflare Quick Tunnel (cloudflared tunnel --url http://localhost:8080, TLS end to end), LocalTunnel, SSH reverse forwarding, and Tailscale / WireGuard for a private mesh VPN with no public ports. The server accepts verified trycloudflare.com origins in its CORS policy and supports dual QR pairing for local Wi-Fi and WAN. Requests over a tunnel still need the session PIN and token.
Does PulseBridge ever transmit source code, ASTs, or prompts to external telemetry servers?+
No. PulseBridge is 100% self-hosted and zero-telemetry. All screen capture, file indexing, and prompt routing occurs strictly between your local Windows host and your mobile phone over direct LAN Wi-Fi or your private end-to-end encrypted Cloudflare tunnel. No third party, including Infinity AI or Cloudflare, has access to your unencrypted code buffers or LLM prompts.
What are the host system requirements for running the PulseBridge daemon?+
PulseBridge runs on 64-bit Windows 10 and Windows 11. It is a Rust (Axum 0.7) native server with a React 19 PWA and an MCP server, and needs no Python runtime. You need a Wi-Fi or Ethernet connection and a phone browser. Building from source requires the Rust `msvc` toolchain. macOS and Linux are covered by the multi-OS architecture specification (ARCHITECTURE.md) but are not shipped yet.
How does PulseBridge keep CPU and mobile battery use low?+
The host reuses a 150 ms frame cache instead of re-capturing for every client request, and the Hardware Health HUD shows live workstation CPU, RAM and battery/power state so you can see the cost yourself. Stream-quality profiles reduce bandwidth on cellular, and the PWA uses background Web Push so the phone does not have to stay awake. Exact CPU and memory figures depend on your machine, so measure on your own hardware.
How do I pair and authenticate a new iOS or Android device?+
Run the included launcher (scripts/start-bridge.bat or scripts/start-bridge.ps1). It prints your host LAN IP, port 8080, a session PIN and an ASCII QR code, and the server can also render SVG QR codes for pairing. Scan the QR code, or open http://<LAN IP>:8080 and enter the PIN; the client then scrubs the PIN and token from the address bar. Tap Add to Home Screen for a full-screen PWA with no app store.
What is the ask_phone MCP tool and how do human-in-the-loop approvals work?+
ask_phone is a Model Context Protocol tool exposed by the PulseBridge MCP server. An AI agent calls it with a question and a list of choices (for example Deploy to Prod, Run Tests First, Cancel). PulseBridge renders them as one-tap decision chips in the mobile chat stream, fires an instant push alert with haptic feedback, and returns your selection to the agent so it can continue. The MCP server also provides notify_phone, update_task_status and check_phone_inbox.
Which security issues were found and fixed in the PulseBridge audit?+
A Security and Governance audit led to: authentication on every action route (CWE-306), opt-in allowlisted shell execution instead of arbitrary PowerShell (CWE-78), rate limiting keyed on the real socket peer instead of the spoofable X-Forwarded-For header (CWE-290), restricted CORS (CWE-942), token-verified WebSockets (CWE-287), in-memory URL credential scrubbing (CWE-598) and honest transport labelling (CWE-319): plain HTTP/WS on a trusted LAN and TLS via Cloudflare Quick Tunnel over 4G. Severities range from Critical (CVSS 9.8) down to Low (3.1), and an adversarial penetration suite plus unit tests ship with the repository.
Does PulseBridge support notifications, clipboard sync and voice input?+
Yes. The PWA supports background Web Push notifications, workstation clipboard sync, hands-free Web Speech dictation for prompts, harmonic audio chimes, haptic vibration on milestones and approval requests, and a Hardware Health HUD for workstation CPU, RAM and power state.

Part of the Infinity Tech Stack Research Ecosystem

Engineered alongside Neuromantix AGI, the Vitalis self-hosting compiler, Void LLM, Freedom OS, and 13 free AI engineering academies.

🏠 Back to Home⭐ Star PulseBridge on GitHub ↗