Run OpenCode, Codex, Cursor, and Claude Code from your phone.
Sesori is the mobile cockpit for your AI coding sessions — OpenCode, Codex, Cursor, and Claude Code.
Leave your laptop. Take the session.
Get started · Docs · How it works · Architecture · Security · Contribute
Install in 3 steps
1. Download the Sesori app
Requires iOS 15 or later, or Android 8.0 or later.
2. Install the Bridge CLI on your machine
The Bridge is a small source-available command-line tool that connects the app to OpenCode, Codex, and Cursor.
macOS / Linux:
curl -fsSL https://sesori.com/install.sh | bash
Windows (PowerShell):
irm https://sesori.com/install.ps1 | iex
Prefer npm or bun? You can also bootstrap the Bridge with npx @sesori/bridge or bunx @sesori/bridge. It installs the same managed runtime under the hood.
3. Start the Bridge
sesori-bridge
Sign in with the same account on your phone and your machine. The two pair automatically over the encrypted relay, even on different networks.
Full walkthrough: prerequisites, OpenCode setup, headless VM instructions, and troubleshooting are in docs/GETTING_STARTED.md.
What you can do
| Feature | What it means |
|---|---|
| Browse projects & sessions | See your OpenCode, Codex, and Cursor projects and every active session from your phone. |
| Keep agents moving | Answer questions, approve steps, and stop or restart tasks without returning to your desk. |
| Review code and PR status | Read diffs and keep tabs on pull requests without opening your laptop. |
| Voice or type | Talk to your assistant naturally or use the keyboard — whatever works in the moment. |
| Real-time notifications | Get pinged the moment your AI needs you back or a long-running task finishes. |
| End-to-end encrypted | Your code, prompts, and responses stay between your phone and your machine. |
How it works
A lightweight Bridge runs on your laptop alongside OpenCode. It connects to a relay server over WebSocket, and your phone connects to the same relay. The relay routes encrypted traffic between them — it never sees your application data.
graph LR
OC["AI Assistant<br/>on your machine"] -- "HTTP + SSE" --> B["Bridge CLI<br/>your laptop"]
B -- "WSS · E2E encrypted" --> R["Relay Server<br/>cloud router"]
R -- "WSS · E2E encrypted" --> M["Sesori App<br/>your phone"]
Your laptop and phone perform an ephemeral X25519 key exchange, then encrypt every message with XChaCha20-Poly1305. The relay only routes opaque binary frames.
Dive deeper: docs/HOW_IT_WORKS.md
Why you can trust it
- End-to-end encryption. All application data between your phone and laptop is encrypted with XChaCha20-Poly1305.
- Ephemeral key exchange. Each connection uses a fresh X25519 Diffie-Hellman keypair; the relay never holds the room key.
- Local-first. Your source code, prompts, and AI responses stay on your machine. We only store the account and routing metadata needed to pair your devices. Push notification previews may include a short snippet of an event; see docs/SECURITY.md for details.
- Source-available bridge. The Bridge and the client protocol are in this repo. You can audit the code that runs on your machine.
- Source-available license. Released under the Functional Source License, Version 1.1, Apache 2.0 Future License (
FSL-1.1-ALv2).
Security details: docs/SECURITY.md
Supported AI assistants
| Assistant | Status | Notes |
|---|---|---|
| OpenCode | Available | Deep native integration. |
| OpenAI Codex CLI | Beta | Enabled by default in an upcoming release. |
| Cursor | Beta | ACP-based Cursor plugin; enabled by default in an upcoming release. |
| Claude Code | Beta | Native stream-json integration; enabled by default in an upcoming release. |
Repository overview
sesori_apps_monorepo/
├── bridge/ # Pure Dart workspace — Bridge CLI + backend plugins
├── client/ # Flutter workspace — mobile & desktop shells
├── shared/ # Cross-product crypto & protocol primitives
└── docs/ # Deep-dive guides
bridge/appis the headless CLI that runs on your laptop.bridge/sesori_plugin_*packages implement support for each AI assistant backend.client/appis the Flutter mobile shell.client/desktopis the in-development desktop companion.shared/sesori_sharedholds the encryption primitives and wire types used by both sides.
Full architecture: repo structure, dependency graph, and layered design are in docs/ARCHITECTURE.md.
Built for developers
- Plugin system. New AI assistant backends live in their own plugin package without touching the mobile app or core bridge.
- Headless bridge. The Bridge is usable without a GUI, ideal for remote machines, VMs, and server setups.
- Cross-platform. Mobile apps run on iOS and Android. Bridge CLI runs on macOS, Linux, and Windows.
- Encrypted by default. No optional VPN, no tunnel setup, no exposed ports on your laptop.
For where the project is headed, see docs/VISION.md and docs/ROADMAP.md.
Want to hack on it? See docs/CONTRIBUTING.md.
License & support
This repository is source-available under the Functional Source License, Version 1.1, Apache 2.0 Future License (FSL-1.1-ALv2).
- Docs: docs.sesori.com
- Discord: discord.gg/5KBC8dV9uR
- Email: [email protected]
- Issues: GitHub Issues
Download for iOS · Download for Android · Read the Quickstart