andriod client for bobby
  • TypeScript 93.9%
  • Kotlin 6%
  • JavaScript 0.1%
Find a file
2026-08-08 14:06:55 -05:00
android feat: stabilize mobile chat and remote control 2026-08-08 14:06:55 -05:00
src feat: stabilize mobile chat and remote control 2026-08-08 14:06:55 -05:00
.gitignore feat: initial Bobby Remoto Android client 2026-08-07 23:18:41 -05:00
app.json feat: stabilize mobile chat and remote control 2026-08-08 14:06:55 -05:00
App.tsx feat: stabilize mobile chat and remote control 2026-08-08 14:06:55 -05:00
babel.config.js feat: initial Bobby Remoto Android client 2026-08-07 23:18:41 -05:00
package-lock.json feat: stabilize mobile chat and remote control 2026-08-08 14:06:55 -05:00
package.json feat: stabilize mobile chat and remote control 2026-08-08 14:06:55 -05:00
README.md feat: initial Bobby Remoto Android client 2026-08-07 23:18:41 -05:00
tsconfig.json feat: initial Bobby Remoto Android client 2026-08-07 23:18:41 -05:00

Bobby Remoto

Bobby Remoto is an Android-first Expo/React Native control client for Bobby.

Architecture:

Bobby Remoto Android app
  -> authenticated Bobby mobile HTTPS/WSS API
  -> Bobby authorization, toolbox allowlist, AgentGateway, audit
  -> CommandCenterPC Windows Bobby Agent

The phone is not a Bobby execution Agent and never contacts the Windows Agent directly.

Security Boundaries

  • Remote input commands are limited to keyboard.press, keyboard.type, mouse.move, mouse.click, and mouse.scroll.
  • keyboard.type is direct user input from the phone UI only. Bobby Chat does not expose autonomous typing.
  • No shell, PowerShell, cmd, arbitrary executable paths, process kill, filesystem mutation, service control, or registry writes are exposed.
  • Access and refresh tokens are stored through Expo SecureStore when available. Development fallback memory storage is used only when SecureStore is unavailable.

Configuration

Set the Bobby URL on the setup screen. Android cannot reach Bobby through 127.0.0.1 on the Windows machine. Use a private Tailscale or properly TLS-proxied HTTPS/WSS endpoint.

Do not expose Bobby's historical 127.0.0.1:8787 listener publicly without TLS and authentication.

Development

npm install
npm test
npm run check
npm start

Use Expo Go or an Android emulator/device on the same secure network as the configured Bobby endpoint.