自托管 Web 端必须使用 Cloudflare Workers 及其 D1/KV/Durable Objects/R2 绑定,不支持普通 VPS;新设备首次连接需在宿主机屏幕上手动点击 Approve 才能建立会话;桌面端也可直接下载签名安装包,无需 npm。
9remote
decoluaApache-2.0活跃维护在手机或浏览器上远程操控 Claude Code、Codex、Gemini CLI 等编码 Agent,也能远程控制 Mac/Linux/Windows 桌面,随时随地进行 vibe coding。
📱 Terminal in Your Pocket — Control Claude Code, Codex, Gemini CLI & your Mac/Linux/Windows from any phone or browser. Vibe coding from anywhere. Alternative to MobileCLI, Claude Remote, vibe-remote, MuxAgent.
npm i -g 9remote
9remoteREADME 未说明具体硬件要求;宿主机支持 macOS、Windows、Linux,客户端支持浏览器、iOS/iPadOS 与 Android。
把整台开发机装进口袋,用手机或浏览器远程跑 Claude Code、Codex 等 AI 编程代理
在手机或浏览器上远程操控 Claude Code、Codex、Gemini CLI 等编码 Agent,也能远程控制 Mac/Linux/Windows 桌面,随时随地进行 vibe coding。
核心能力
- 在单一界面运行 Claude Code、Codex、Gemini CLI 等 30+ AI 代理
- 通过 WebRTC 直连实现 60fps 远程桌面串流,延迟低于 20ms
- 提供多窗格终端、语法高亮编辑器与可视化 Git diff 的远程 IDE
- 内置 Service Worker 桥接,零配置把 localhost 预览推到手机
- PTY 守护进程保持 shell 与长时间构建在断网或关标签后存活
容易踩的坑
- v3.0.319Remote Desktop 3.0.31最新正式版2026-09-28 · 2026-09-28 13:54 UTC
- Fix first-run "install failed" on Windows/macOS: npm install now retries, falls back to the npmmirror registry, and honors HTTPS_PROXY
- Node.js runtime download: retry + mirror fallback
- Setup steps now logged to ~/.9remote/setup.log for troubleshooting
- First release shipping latest.json — in-app auto-update is now live for macOS + Windows
- macOS (universal), Windows x64 (setup + portable). Linux: unchanged from 3.0.30
- v3.0.309Remote Desktop 3.0.302026-09-28 · 2026-09-28 12:39 UTC
查看更新说明
- First release with Linux builds: .deb (x64/arm64) and AppImage (arm64)
- Docs & README refresh; CLI 3.0.30 on npm — agents self-update from the web UI
- macOS (universal), Windows x64 (setup + portable), Linux (deb + AppImage) included.
- v3.0.299Remote Desktop 3.0.292026-09-28 · 2026-09-28 09:17 UTC
查看更新说明
- Fix: PTY daemon no longer holds buffers of exited sessions
- Fix: reclaim leaked AI chat processes
- Improved device approval & host management
- License is now Apache-2.0
macOS (universal) and Windows x64 installer included.
- v3.0.39Remote Desktop 3.0.32026-09-21 · 2026-09-21 03:59 UTC
查看更新说明
Desktop app for macOS and Windows (v3.0.3).
macOS —
9Remote-macos-universal.dmg(Intel + Apple Silicon). Signed with Developer ID and notarized by Apple. IncludesacceptFirstMousefix for macOS trackpad tap-to-click responsiveness.Windows —
9Remote-windows-x64-setup.exe(installer) or9Remote-windows-x64-portable.exe(portable). - v3.5.99Remote Desktop 3.5.92026-09-15 · 2026-09-15 14:01 UTC
查看更新说明
Desktop app for macOS and Windows.
macOS —
9Remote_3.5.9_universal.dmg(Intel + Apple Silicon). Signed with Developer ID and notarized by Apple — opens without warnings.Windows —
9Remote_3.5.9_x64-setup.exe(installer, recommended) or9Remote.exe(portable, run straight from the file). Neither is code-signed, so SmartScreen will warn: click More info → Run anyway.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
9Remote — Remote Everything, Vibecode Everywhere
Your entire dev workstation in your pocket. A remote IDE, 60fps desktop stream, visual file explorer, live mobile emulator, zero-config localhost preview, and every AI harness in one UI — Claude Code, Codex, Gemini CLI & 30+ agents — on PC, Web, iPad, or phone.
Codex CLI looks like 1995? Claude Code's TUI hurts? Forget them. Same agents, one UI you'll actually love.
⚡ Quick Start
1. Run with npm (Recommended)
npm i -g 9remote
9remote
2. Or Download Desktop App
- macOS (Universal DMG): 9Remote-macos-universal.dmg (Intel + Apple Silicon, signed & notarized)
- Windows (Setup EXE): 9Remote-windows-x64-setup.exe (Installer, x64)
- Windows (Portable EXE): 9Remote-windows-x64-portable.exe (Portable, no install)
- Linux: deb x64 · deb arm64 · AppImage arm64
3. Or Get Mobile App
- iOS / iPadOS: Download on the App Store
- Android: Get it on Google Play
Scan the QR code from a phone (or open the URL) and you're on your machine's shell — over WebRTC or WebSocket, through an encrypted tunnel that closes when you stop the host.
📱 Supported Platforms
| Platform | Host (Your Machine) | Client (Anywhere) | Download / Access |
|---|---|---|---|
| macOS | ✅ | ✅ | Download .dmg or npm i -g 9remote |
| Windows | ✅ | ✅ | Download .exe or npm i -g 9remote |
| Linux | ✅ | ✅ | Download .deb / .AppImage or npm i -g 9remote |
| Web Browser | — | ✅ | https://9remote.cc/login (Zero install, any browser) |
| iOS / iPadOS | — | ✅ | App Store / Web PWA (Supports iPad keyboard & trackpad) |
| Android | — | ✅ | Google Play / Web PWA (Fullscreen dev mode) |
✨ 8 Superpowers
- Every Harness, One UI: Run Claude Code, Codex, Gemini CLI, Cursor CLI, Aider & 30+ AI agents in a single UI, with live artifact inspector (HTML, Markdown, Mermaid).
- Every Screen, Everywhere: Seamless across PC, Web, iPad keyboard shortcuts, and mobile touch dev keys (
Esc,Tab,Ctrl,Alt, arrows). - 60fps Remote Desktop: Ultra-smooth screen streaming with hardware acceleration and <20ms latency over direct WebRTC.
- Full Remote IDE: Multi-pane terminals, integrated code editor with syntax highlighting, visual Git status & diff viewer.
- Live Mobile Emulator: Interactive remote stream for Android Emulator and iOS Simulator straight on your phone.
- Zero-Config Localhost Preview: Built-in Service Worker bridge streams
localhost:3000to your mobile browser without port forwarding or ngrok. - Visual File Explorer (Path-Jailed): Fuzzy search files (⌘⇧P), touch drag-and-drop transfers, and file management safely jailed to your workspace.
- Persistent PTY Daemon: Background daemon keeps your shells and long-running builds alive even when switching networks or closing tabs.
🛡️ Zero-Trust Security Architecture
9Remote uses 3 layers of zero-trust defense:
- Split-Key Pairing: The key is split into HEAD and TAIL. The relay server only brokers the handshake with HEAD and never knows your secret TAIL.
- Direct WebRTC P2P: Data flows directly device-to-device with X25519 + AES-256-GCM encryption.
- Physical Host Approval: New devices cannot connect until you physically click "Approve" on your computer screen.
sequenceDiagram
autonumber
participant Client as Mobile / Web Client
participant Server as 9Remote Signaling Relay
participant Host as Host Machine
Host->>Server: 1. Register HEAD (TAIL stays private on Host)
Client->>Server: 2. Request Host lookup with HEAD
Server-->>Client: 3. Return Host Public Key (Relay steps aside)
Note over Client,Host: Direct P2P Connection (WebRTC DataChannel)
Client->>Host: 4. Send encrypted TAIL (X25519 + AES-GCM)
Note over Host: Host verifies TAIL secret
Host-->>Host: 5. Physical Security Prompt: "Approve Device?"
Note over Host: You click Approve on host screen
Host-->>Client: 6. Secure P2P Session Established (<20ms latency)
📂 What's in here (Monorepo)
host/— the Node.js CLI that runs on the machine you want to reach. Serves PTY terminals (daemonized), streams the screen over WebRTC with dirty-tile diffing, and exposes a jailed file explorer. Published to npm as9remote.web/— the Next.js client UI + signaling/session API, deployed to Cloudflare Workers (OpenNext) backed by D1. Terminal data does not flow through it — clients connect to the host directly.desktop/— Tauri wrapper around the host for native macOS, Windows and Linux desktop apps.gitbook/— the docs site.
The transport protocol (host/transport/ and web/shared/transport/) is implemented twice, mirrored on both sides — change one, change the other.
🌐 Self-hosting the web app
The web app runs on Cloudflare Workers and needs a Cloudflare account (the free tier works). Plain-VPS hosting is not supported — the code uses Workers bindings (D1, KV, Durable Objects, R2).
# 1. Copy the example config and create the resources it references
cp web/wrangler.toml.example web/wrangler.toml
npx wrangler d1 create 9remote
npx wrangler kv namespace create OTA_KV
# fill the printed ids into web/wrangler.toml
# 2. Secrets: copy web/.dev.vars.example → web/.dev.vars, fill in your values,
# then push them to the Worker
npm run secrets:sync
# 3. Deploy
npm run web:deploy
The host itself runs anywhere Node runs — no Cloudflare dependency.
✍️ Code signing policy
- Release binaries are built by the maintainers from the tagged commit of this repository — a release tag always points at the exact source its binaries were built from.
- macOS apps are signed with an Apple Developer ID and notarized.
- Windows installers are Authenticode-signed with a certificate from SignPath Foundation (free code signing for open source).
- The
9remotenpm package is published from this repository by the maintainers. - A binary whose signature does not match the publishers above, or that cannot be traced to a tag here, did not come from this project — do not run it.
📄 License
Apache License 2.0 — see LICENSE. Free to use, modify, and distribute, including commercially. The "9remote" name and branding are not covered by the license.