Your Desktop, From Anywhere. AI-powered remote desktop control from your phone.
14
stars
57
commits
Python
primary language
Apr 9, 2026
updated
Your Desktop, From Anywhere
AI-powered remote desktop control from your phone
Contop turns your phone into an AI remote control for any desktop. Speak or type a command on your mobile, and an autonomous agent on your computer observes your screen, runs CLI commands, clicks buttons, fills forms, automates browsers, and streams progress back - all in real time over a peer-to-peer WebRTC tunnel.
No port forwarding. No VPN. No SSH. Scan a QR code and start working.
macOS (Homebrew - recommended):
brew install slopedrop/contop/contop
# Update to latest version
brew update && brew upgrade contop
No security warnings. Python dependencies install automatically on first launch.
macOS (manual):
Download the .dmg from Releases, open it, and drag to Applications.
First launch: right-click the app → Open → click Open in the dialog. This is standard for open-source apps without code signing.
Windows (Scoop - recommended):
scoop bucket add contop https://github.com/slopedrop/scoop-contop
scoop install contop
# Update to latest version
scoop update && scoop update contop
No SmartScreen warnings. Python dependencies install automatically on first launch. NVIDIA GPU with CUDA is auto-detected.
Windows (manual):
Download the .exe installer from Releases and run it.
SmartScreen may show a warning - click More info → Run anyway. This is standard for open-source apps without code signing.
Linux:
# AppImage (any distro)
chmod +x Contop*.AppImage && ./Contop*.AppImage
# Debian / Ubuntu
sudo dpkg -i contop-desktop_*.deb
Download from Releases.
Download the Android .apk from Releases.
Enable Install from unknown sources when prompted.
iOS is not yet available for public alpha.
https://github.com/user-attachments/assets/98705f2a-72f3-4e26-ae48-bbb889ec9c97
![]() Manual Control - direct touch control of the remote screen |
![]() Landscape Split View - live video beside the execution thread |
![]() Session History |
![]() Restored Session |
![]() Settings - Models |
![]() Settings - Security |
| Layer | Technology |
|---|---|
| Mobile | React Native 0.83, Expo 55, TypeScript, NativeWind v4, Zustand |
| Desktop | Tauri v2 (Rust + Vite), Win32 APIs for Away Mode |
| Server | Python 3.12, FastAPI, asyncio, aiortc |
| AI Agent | Google ADK, LiteLLM (multi-provider routing) |
| AI Models | Gemini, OpenAI, Anthropic, Any model on OpenRouter (API keys or CLI subscriptions) |
| Vision | OmniParser V2, Gemini Computer Use, Accessibility Tree, 6 OpenRouter models |
| Automation | PyAutoGUI, platform adapters (Win/Mac/Linux), PinchTab CDP |
| Networking | WebRTC (aiortc), Cloudflare Tunnels, DTLS encryption |
| Security | Dual-Tool Evaluator, Docker sandbox |
cd contop-server
uv sync
uv run uvicorn main:app --host 0.0.0.0 --port 8000
cd contop-desktop
npm install
npm run tauri dev
cd contop-mobile
npm install
npx expo run:android # or: npx expo run:ios
http://localhost:8000) to see the QR codeFor detailed setup, platform-specific instructions, and configuration options, see the full documentation.
contop/
├── contop-server/ # Python FastAPI server + AI agent
│ ├── core/ # Agent, evaluator, signaling, pairing, skills engine
│ ├── tools/ # Vision backends, Docker sandbox, browser automation
│ ├── platform_adapters/ # OS-specific automation (Win / Mac / Linux)
│ ├── skills/ # Built-in skills (web research, IDE chat, CLI patterns)
│ ├── prompts/ # Agent system prompts
│ └── tests/ # pytest (unit + ATDD)
├── contop-mobile/ # Expo / React Native mobile client
│ ├── app/ # Expo Router screens
│ ├── components/ # ExecutionThread, ExecutionInputBar, RemoteScreen
│ ├── hooks/ # useWebRTC, useConversation
│ ├── stores/ # Zustand state management
│ └── services/ # AI settings, session storage
├── contop-cli-proxy/ # CLI subscription proxy (Node.js / TypeScript)
│ └── src/ # OpenAI-compatible proxy wrapping Claude/Gemini/Codex CLIs
├── contop-desktop/ # Tauri v2 desktop app
│ ├── src/ # Vite frontend (HTML/CSS/JS)
│ └── src-tauri/ # Rust backend, Away Mode, sidecar + proxy management
├── website/ # Next.js 15 marketing site
└── docs/ # Docusaurus 3 documentation
cd contop-server && uv run pytest # all server tests
cd contop-mobile && npx jest # all mobile tests
| Resource | URL |
|---|---|
| Website | contop.app |
| Documentation | docs.contop.app |
| Releases | GitHub Releases |
| Issues | GitHub Issues |
57 commits
Python
46.9%
TypeScript
45.5%
Rust
3.7%
HTML
1.3%
CSS
1.2%
Your Desktop, From Anywhere. AI-powered remote desktop control from your phone.
14
stars
57
commits
Python
primary language
Apr 9, 2026
updated
Your Desktop, From Anywhere
AI-powered remote desktop control from your phone
Contop turns your phone into an AI remote control for any desktop. Speak or type a command on your mobile, and an autonomous agent on your computer observes your screen, runs CLI commands, clicks buttons, fills forms, automates browsers, and streams progress back - all in real time over a peer-to-peer WebRTC tunnel.
No port forwarding. No VPN. No SSH. Scan a QR code and start working.
macOS (Homebrew - recommended):
brew install slopedrop/contop/contop
# Update to latest version
brew update && brew upgrade contop
No security warnings. Python dependencies install automatically on first launch.
macOS (manual):
Download the .dmg from Releases, open it, and drag to Applications.
First launch: right-click the app → Open → click Open in the dialog. This is standard for open-source apps without code signing.
Windows (Scoop - recommended):
scoop bucket add contop https://github.com/slopedrop/scoop-contop
scoop install contop
# Update to latest version
scoop update && scoop update contop
No SmartScreen warnings. Python dependencies install automatically on first launch. NVIDIA GPU with CUDA is auto-detected.
Windows (manual):
Download the .exe installer from Releases and run it.
SmartScreen may show a warning - click More info → Run anyway. This is standard for open-source apps without code signing.
Linux:
# AppImage (any distro)
chmod +x Contop*.AppImage && ./Contop*.AppImage
# Debian / Ubuntu
sudo dpkg -i contop-desktop_*.deb
Download from Releases.
Download the Android .apk from Releases.
Enable Install from unknown sources when prompted.
iOS is not yet available for public alpha.
https://github.com/user-attachments/assets/98705f2a-72f3-4e26-ae48-bbb889ec9c97
![]() Manual Control - direct touch control of the remote screen |
![]() Landscape Split View - live video beside the execution thread |
![]() Session History |
![]() Restored Session |
![]() Settings - Models |
![]() Settings - Security |
| Layer | Technology |
|---|---|
| Mobile | React Native 0.83, Expo 55, TypeScript, NativeWind v4, Zustand |
| Desktop | Tauri v2 (Rust + Vite), Win32 APIs for Away Mode |
| Server | Python 3.12, FastAPI, asyncio, aiortc |
| AI Agent | Google ADK, LiteLLM (multi-provider routing) |
| AI Models | Gemini, OpenAI, Anthropic, Any model on OpenRouter (API keys or CLI subscriptions) |
| Vision | OmniParser V2, Gemini Computer Use, Accessibility Tree, 6 OpenRouter models |
| Automation | PyAutoGUI, platform adapters (Win/Mac/Linux), PinchTab CDP |
| Networking | WebRTC (aiortc), Cloudflare Tunnels, DTLS encryption |
| Security | Dual-Tool Evaluator, Docker sandbox |
cd contop-server
uv sync
uv run uvicorn main:app --host 0.0.0.0 --port 8000
cd contop-desktop
npm install
npm run tauri dev
cd contop-mobile
npm install
npx expo run:android # or: npx expo run:ios
http://localhost:8000) to see the QR codeFor detailed setup, platform-specific instructions, and configuration options, see the full documentation.
contop/
├── contop-server/ # Python FastAPI server + AI agent
│ ├── core/ # Agent, evaluator, signaling, pairing, skills engine
│ ├── tools/ # Vision backends, Docker sandbox, browser automation
│ ├── platform_adapters/ # OS-specific automation (Win / Mac / Linux)
│ ├── skills/ # Built-in skills (web research, IDE chat, CLI patterns)
│ ├── prompts/ # Agent system prompts
│ └── tests/ # pytest (unit + ATDD)
├── contop-mobile/ # Expo / React Native mobile client
│ ├── app/ # Expo Router screens
│ ├── components/ # ExecutionThread, ExecutionInputBar, RemoteScreen
│ ├── hooks/ # useWebRTC, useConversation
│ ├── stores/ # Zustand state management
│ └── services/ # AI settings, session storage
├── contop-cli-proxy/ # CLI subscription proxy (Node.js / TypeScript)
│ └── src/ # OpenAI-compatible proxy wrapping Claude/Gemini/Codex CLIs
├── contop-desktop/ # Tauri v2 desktop app
│ ├── src/ # Vite frontend (HTML/CSS/JS)
│ └── src-tauri/ # Rust backend, Away Mode, sidecar + proxy management
├── website/ # Next.js 15 marketing site
└── docs/ # Docusaurus 3 documentation
cd contop-server && uv run pytest # all server tests
cd contop-mobile && npx jest # all mobile tests
| Resource | URL |
|---|---|
| Website | contop.app |
| Documentation | docs.contop.app |
| Releases | GitHub Releases |
| Issues | GitHub Issues |
57 commits
Python
46.9%
TypeScript
45.5%
Rust
3.7%
HTML
1.3%
CSS
1.2%