Players and devices
Sidekick is a Linux app for running isolated Steam sessions through Wolf while the main desktop remains usable. Different players connect with Moonlight, choose their own Sidekick profile, and keep separate Steam accounts, libraries, settings, saves, and Proton data.
A paired laptop or phone is an authorised device, separate from the player profile. The same person can switch between paired devices without losing their profile, while two people can run different streamed sessions at the same time.
Sidekick and Wolf
Wolf remains responsible for the isolated game streams and Moonlight remains the client. Sidekick manages the product layer around them: host readiness, player onboarding, pairing, launch entries, session state, and diagnostics.
The implementation combines a Rust daemon with a local React dashboard. The browser reads a typed API and requests a small set of explicit actions. It never constructs shell commands or receives raw access to host files. Operations that need system privileges pass through one packaged helper with a fixed Polkit action.
Session isolation
Each player receives a distinct writable Steam environment and generated Wolf launch entry. Remote controller devices are moved away from the desktop seat and exposed only inside the assigned session, while physical controllers connected to the host keep their normal access.
The daemon binds to loopback, mutation requests require same-origin checks, and backend commands use fixed argument arrays. Pairing secrets are kept out of the browser and logs. These constraints are covered in the public security documentation.
Current status
Sidekick v0.1.0 targets CachyOS and other Arch-based systems. It supports the main onboarding, pairing, launcher, and multi-user session paths, but it is still experimental. Docker socket authority and several production-hardening items remain open, and hardware support claims depend on testing outside CI.