How shrimqy/sefirah works
Sefirah is a desktop companion for an Android app, synchronizing device features and exposing phone content and controls on the PC. The documented path begins with network discovery and user-approved pairing, then uses a connected device session for clipboard, notifications, messaging, calls, media, file transfer, and screen mirroring; Windows also exposes Android storage in Explorer. The README documents these capabilities, while sampled source confirms device persistence, application activation, and file reception. Several feature implementations and their exact dispatch wiring were not sampled, so uncertain links are omitted.
Main entry points: MessageHandler.cs Message dispatch · DeviceSettingsService.cs Device preferences · NotificationFeature.cs Notification sync · MainPage.xaml.cs Desktop interface
Components 21
Discovery and pairing
- Desktop interface
src/Sefirah/Views/MainPage.xaml.cs - Device discovery
src/Sefirah/Services/DiscoveryService.cs - Network transport
src/Sefirah/Services/NetworkService.cs - Device sessions
src/Sefirah/Services/DeviceManager.cs
Device synchronization
- Message dispatch
src/Sefirah/Services/MessageHandler.cs - Clipboard sync
src/Sefirah/Features/ClipboardFeature.cs - Notification sync
src/Sefirah/Features/NotificationFeature.cs - SMS messaging
src/Sefirah/Features/SmsFeature.cs - Call handling
src/Sefirah/Features/CallFeature.cs - File transfer
src/Sefirah/Services/Transfer/FileTransferService.cs
Desktop features
- Media control
src/Sefirah/Platforms/Windows/Features/MediaFeature.cs - Remote storage
src/Sefirah/Platforms/Windows/RemoteStorage/Worker/SyncProvider.cs - Screen mirroring
src/Sefirah/Services/ScreenMirrorService.cs
Platform integration
- ADB integration
src/Sefirah/Services/AdbService.cs - Desktop notifications
src/Sefirah/Platforms/Windows/Services/NotificationHandler.cs - Windows phone line
src/Sefirah/Platforms/Windows/Calling/PhoneLineService.cs
Local data
- App database
src/Sefirah/Data/AppDatabase/DatabaseContext.cs - Device repositories
src/Sefirah/Data/AppDatabase/Repository/DeviceRepository.cs - Device preferences
src/Sefirah/Services/Settings/DeviceSettingsService.cs
Other components
- Desktop user
- Android companion
Connections 22
- Desktop user → Desktop interface: uses
- Android companion → Device discovery: announces device
- Desktop interface → Device discovery: shows devices
- Android companion → Device sessions: initiates pairing
- Device sessions → Device repositories: loads and saves
- Device repositories → App database: reads and writes
- Android companion → Message dispatch: sends feature messages
- Message dispatch → Clipboard sync: dispatches
- Message dispatch → Notification sync: dispatches
- Message dispatch → SMS messaging: dispatches
- Message dispatch → Call handling: dispatches
- Android companion → File transfer: shares files
- File transfer → Network transport: transfers data
- Android companion → Media control: requests control
- Android companion → Remote storage: provides storage
- Desktop user → Screen mirroring: starts mirroring
- Screen mirroring → ADB integration: launches scrcpy
- Notification sync → Desktop notifications: shows toasts
- Call handling → Windows phone line: uses call control
- Device preferences → Clipboard sync: configures
- Device preferences → Notification sync: configures
- Device preferences → Remote storage: configures