基于 Web 的移动端遥控器,通过局域网远程控制电脑端的 Claude Code CLI 工具。
后续考虑开发移动版。欢迎 PR。
受下图启发。
- 终端镜像 - 实时显示 Claude Code 输出,支持 ANSI 颜色
- 一键操作 - 接受、拒绝、回滚、压缩、查看成本等常用操作
- YOLO 模式 - 一键切换自动批准模式 (
--dangerously-skip-permissions) - 文本输入 - 点击🎤按钮打开对话框,输入任意指令
- 横屏全屏 - 启动时自动进入横屏全屏模式
- 双端控制 - 手机和电脑终端都可以操作 Claude Code
- 触觉反馈 - 所有操作支持震动反馈
- 复古 UI - 赛博朋克/工业风格界面
- Node.js >= 18
- 已安装 Claude Code CLI
- 电脑和手机在同一局域网
git clone https://github.com/swizardlv/claude_code_remote_desk.git
cd claude_code_remote_desk
npm install注意: 首次安装后如果遇到
posix_spawnp failed错误,需要重新编译 node-pty:npm install node-gyp npx node-gyp rebuild --directory=node_modules/node-pty
# 1. 进入你的项目目录
cd /path/to/your/project
# 2. 启动 Remote Deck(使用绝对路径)
node /path/to/claude_code_remote_desk/server.js例如:
cd ~/code/my-awesome-project
node ~/code/claude_code_remote_desk/server.js终端会显示二维码和服务地址:
╔══════════════════════════════════════════════════════════╗
║ CLAUDE CODE REMOTE DECK ║
╠══════════════════════════════════════════════════════════╣
║ Server running at: http://192.168.1.100:3000 ║
╚══════════════════════════════════════════════════════════╝
[Server] Working directory: /path/to/your/project
[Server] Waiting for client connection to start Claude...
[Server] Or press Enter to start Claude now (type "yolo" for YOLO mode).
📱 Scan this QR code with your phone:
█████████████████████████████
...
- Claude Code 退出后,按
Ctrl+C退出服务器 - 在 Claude Code 运行时,双击
Ctrl+C(500ms 内)强制退出
| 按钮 | 功能 | 发送命令 |
|---|---|---|
| ✓ 接受更改 | 确认操作 | \r (Enter) |
| 👍 批准操作 | 确认操作 | \r (Enter) |
| 🔥 YOLO 模式 | 切换自动批准模式 | 重启进程 |
| ✕ 丢弃 | 中断/拒绝 | \x03 (Ctrl+C) |
| ⏪ 重试 | 回滚到之前状态 | /rewind |
| 🎤 输入 | 打开文本输入对话框 | - |
| 💰 成本 | 查看会话成本 | /cost |
| 🗑️ 清除 | 清除对话 | /clear |
| ▲ ▼ | 菜单导航 | 方向键 |
| Enter | 确认/回车 | \r |
旋转旋钮滚动终端历史日志(本地操作)。
┌─────────────────┐ WebSocket ┌─────────────────┐
│ 手机浏览器 │ ◄───────────────► │ Node.js 服务 │
│ (xterm.js) │ │ (node-pty) │
└─────────────────┘ └────────┬────────┘
│
┌───────────────────────────────────────┤
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ 电脑终端 │ ◄────────────────► │ Claude Code │
│ (stdin/out) │ │ CLI │
└─────────────────┘ └─────────────────┘
// 输入命令
{ "action": "INPUT", "data": "\r" }
// 重启进程 (YOLO 模式)
{ "action": "RESTART", "yoloMode": true }
// 切换模型
{ "action": "MODEL_SWITCH", "model": "opus" }// 终端数据
{ "type": "TERM", "payload": "..." }
// 状态更新
{ "type": "SYS_STATUS", "yoloMode": false, "model": "sonnet" }- express - Web 服务器
- ws - WebSocket
- node-pty - 伪终端
- qrcode-terminal - 终端二维码
- xterm.js - 前端终端模拟
MIT

