andriod client for bobby
- TypeScript 93.9%
- Kotlin 6%
- JavaScript 0.1%
| android | ||
| src | ||
| .gitignore | ||
| app.json | ||
| App.tsx | ||
| babel.config.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
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, andmouse.scroll. keyboard.typeis 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.