Your computer was paying attention the whole time: screen/audio/input capture, OCR, and semantic search, all on-device.
Shadow is a Rust capture-and-intelligence sidecar (~23k LOC): screen/audio/input capture, OCR, a
proactive engine, and semantic memory + search. It records pure-Rust JPEG keyframes (no ffmpeg
required). A component of Ryu, it runs standalone on :3030.
- 📸 Capture. Screen, audio, and input, with OCR over every frame.
- 🎞️ Zero-setup keyframes. Pure-Rust JPEG keyframes at the changed frames; no ffmpeg required.
- 🔎 Semantic memory. Everything captured is embedded and searchable on-device.
- 💡 Proactive engine. Surfaces context and suggestions from what it sees.
- 🏠 On-device by design. A device-bound sensor: capture never leaves the machine.
- 🔓 Open, consent-gated, pausable. Sensitive by nature, so it's auditable and gated behind explicit consent.
| Path | What |
|---|---|
apps/shadow |
the capture sidecar (HTTP server, :3030) |
crates/shadow-core |
capture + semantic-search engine |
crates/ghost-{core,eyes,hands} |
shared automation crates (vendored from Ghost) |
cd apps/shadow && cargo build --releaseContinuous screen + audio capture is inherently sensitive. Shadow is a device-bound sensor: it runs locally, never routes capture off-device, and gates every source behind explicit consent and a pause control. It's open-source so this is fully auditable. See SECURITY.
Shadow is derived from Shadow by Ghostwright (MIT). The original copyright + license notice are retained in NOTICE. Licensed under Apache-2.0 (see LICENSE) with MIT-licensed portions per NOTICE. © 2026 A Major Pte. Ltd.