How ersinkoc/phonebox works
PhoneBox pairs an Android desk panel with a Windows, Linux, or macOS agent. The phone connects over USB or Wi-Fi, and the agent serves panel data and actions while monitoring the computer and integrating with developer tools. The README also documents page/widget editing, rules, webhooks, Control Deck, and companion features; several of these implementations are not excerpted, so their internal wiring is not inferred. Edges are limited to relationships visible in excerpts, the source index, or README statements.
Main entry points: Program.cs HTTP agent API · PushStore.cs Webhooks and push data · MainActivity.kt Android panel · SessionMonitor.cs AI sessions
Components 24
Phone panel
- Android panel
android/app/src/main/java/net/oxog/phonebox/deskpanel/MainActivity.kt - Agent link
android/app/src/main/java/net/oxog/phonebox/deskpanel/AgentLink.kt - Live event stream
android/app/src/main/java/net/oxog/phonebox/deskpanel/AgentStream.kt
Agent runtime
- HTTP agent API
agent/PhoneBox.Agent/Program.cs - Agent endpoint
agent/PhoneBox.Agent/AgentEndpoint.cs - USB routing
agent/PhoneBox.Agent/AdbReverse.cs
Monitoring and integrations
- PC metrics
agent/PhoneBox.Agent/SystemMonitor.cs - Calendar monitor
agent/PhoneBox.Agent/CalendarMonitor.cs - AI sessions
agent/PhoneBox.Agent/SessionMonitor.cs - AI quotas
agent/PhoneBox.Agent/QuotaMonitor.cs - CodexBar provider
agent/PhoneBox.Agent/CodexBar.cs - GitHub activity
agent/PhoneBox.Agent/GitHubMonitor.cs - OBS controls
agent/PhoneBox.Agent/ObsMonitor.cs
Controls and automation
- Media controls
agent/PhoneBox.Agent/SpotifyControl.cs - Control Deck
agent/PhoneBox.Agent/ControlDeck.cs - PC shortcuts
agent/PhoneBox.Agent/Shortcuts.cs - Automation rules
agent/PhoneBox.Agent/RuleEngine.cs
Configuration and state
- Webhooks and push data
agent/PhoneBox.Agent/PushStore.cs - Agent configuration
agent/PhoneBox.Agent/Config.cs - Private file paths
agent/PhoneBox.Agent/AppPaths.cs
Other components
- PhoneBox user
- Codex CLI data
- Claude Code data
- GitHub
Connections 28
- PhoneBox user → Android panel: uses
- Android panel → Agent link: requests data
android/app/src/main/java/net/oxog/phonebox/deskpanel/MainActivity.kt - Android panel → Live event stream: opens stream
android/app/src/main/java/net/oxog/phonebox/deskpanel/MainActivity.kt - Agent link → HTTP agent API: forwards requests
android/app/src/main/java/net/oxog/phonebox/deskpanel/AgentLink.kt - Live event stream → Agent link: opens stream
android/app/src/main/java/net/oxog/phonebox/deskpanel/AgentStream.kt - HTTP agent API → Agent endpoint: uses port
agent/PhoneBox.Agent/Program.cs - HTTP agent API → PC metrics: serves metrics
agent/PhoneBox.Agent/Program.cs - HTTP agent API → Calendar monitor: serves calendar
agent/PhoneBox.Agent/Program.cs - HTTP agent API → AI sessions: serves sessions
agent/PhoneBox.Agent/Program.cs - HTTP agent API → AI quotas: serves quotas
agent/PhoneBox.Agent/Program.cs - HTTP agent API → GitHub activity: serves activity
agent/PhoneBox.Agent/Program.cs - HTTP agent API → OBS controls: serves controls
agent/PhoneBox.Agent/Program.cs - HTTP agent API → Control Deck: routes controls
agent/PhoneBox.Agent/Program.cs - HTTP agent API → Media controls: routes media actions
agent/PhoneBox.Agent/Program.cs - HTTP agent API → Webhooks and push data: serves pushed data
agent/PhoneBox.Agent/Program.cs - HTTP agent API → Agent configuration: reads and saves
agent/PhoneBox.Agent/Program.cs - AI quotas → CodexBar provider: reads provider data
agent/PhoneBox.Agent/QuotaMonitor.cs - AI sessions → Codex CLI data: reads session files
- AI sessions → Claude Code data: reads session files
agent/PhoneBox.Agent/SessionMonitor.cs - GitHub activity → GitHub: checks activity
- Automation rules → Webhooks and push data: emits or removes
agent/PhoneBox.Agent/RuleEngine.cs - Automation rules → PC shortcuts: runs actions
agent/PhoneBox.Agent/RuleEngine.cs - Control Deck → PC shortcuts: runs shortcuts
agent/PhoneBox.Agent/ControlDeck.cs - Webhooks and push data → Private file paths: persists data
agent/PhoneBox.Agent/PushStore.cs - USB routing → Agent endpoint: configures routing
agent/PhoneBox.Agent/AdbReverse.cs - PhoneBox user → Control Deck: configures widgets
- PhoneBox user → Automation rules: configures rules
- PhoneBox user → Webhooks and push data: pushes values