Code Remote

要求

  • 一台 Mac 或 Windows 10/11 电脑。Linux 预计可以运行,但尚未经过测试。
  • Node.js 22 或更高版本,仅在用 npm 安装时需要。安装脚本在你的版本足够新时会使用它,否则会专门为 coderemote 下载一份;Homebrew 自带一份。
  • 一个 GitHub 或 Microsoft 账号,用于登录 Microsoft Dev Tunnels。
  • iPhone 上的 Code Remote 应用,目前在 TestFlight 上处于 Beta 阶段(申请邀请)。

你不需要 SSH、开放端口、VPN 或 VS Code。

1. 安装 CLI

macOS 和 Linux

安装脚本,在终端中运行。当你的 Node.js 为 22 或更高版本时会使用它;否则会把 Node.js 下载到 ~/.coderemote/runtime,仅供 coderemote 使用,并把它加入你的 PATH。

安装

curl -fsSL https://raw.githubusercontent.com/CodeRemoteApp/coderemote/main/install.sh | sh

更新

coderemote update

Windows

安装脚本,在 Windows 10 或 11 的 PowerShell 中运行。当你的 Node.js 为 22 或更高版本时会使用它;否则会把 Node.js 下载到 %USERPROFILE%\.coderemote\runtime,仅供 coderemote 使用,并把它加入你的 PATH。之后请打开一个新的终端。

安装

irm https://raw.githubusercontent.com/CodeRemoteApp/coderemote/main/install.ps1 | iex

更新

coderemote update

npm

适用于任何装有 Node.js 22 或更高版本和 npm 的系统。pnpm、yarn 和 bun 也可以。

安装

npm install -g coderemote

更新

coderemote update

Homebrew

在 macOS 和 Linux 上,从 Code Remote 的 tap 安装。Homebrew 会一并安装 Node.js。

安装

brew install coderemoteapp/tap/coderemote

更新

brew upgrade coderemote

用 coderemote --version 检查是否成功。在 Linux 上,终端支持会在安装时编译:如果失败,请参阅在 Linux 上安装失败。

2. 共享一个文件夹

进入你想从手机访问的文件夹,启动智能体:

$ cd ~/projects/my-app
$ coderemote up

首次运行会自行完成设置:

  1. 它会把 Microsoft 的 Dev Tunnels CLI 下载到 ~/.coderemote/bin(仅一次,并校验签名)。
  2. 它会打开浏览器让你用 GitHub 登录。要改用 Microsoft 账号,请在 up 之前先运行 coderemote login --microsoft。
  3. 它会为这台电脑创建一个私有隧道,并打印一个二维码。
✔ Starting agent
✔ Checking dev tunnels sign-in
✔ Connecting to the relay

  Sharing: /Users/you/projects/my-app
  Access:  sign-in required as you (GitHub)

  Web:  https://…devtunnels.ms/#token=…
  App:  vsremote://pair?url=…&token=…

  [QR code]

3. 配对你的 iPhone

用 iPhone 相机扫描二维码,或点按应用中的 + 并在那里扫描。然后应用会要求你通过系统浏览器,用电脑所使用的同一个 GitHub 或 Microsoft 账号登录。通行密钥和"Sign in with Google"都可以使用。

就这样。共享文件夹的文件、Git 和终端现在都在你的手机上了。

  1. Quick setup 第 1 步:用 npm install -g coderemote 安装 CLI
  2. Quick setup 第 2 步:用 cd ~/projects/my-app 进入你的项目
  3. Quick setup 第 3 步:用 coderemote up 启动智能体
  4. Quick setup 第 4 步:扫描二维码
应用会在 Quick setup 中带你走完同样的步骤。

二维码和链接中包含你的访问令牌,不要把它们发布到任何地方。如果泄露,请运行 coderemote rotate-token。

日常使用

保持终端开启

coderemote up 在前台运行。按 Ctrl+C 或关闭窗口即可停止共享;终端会话会随之结束。

保持电脑唤醒

休眠的电脑无法回应手机。在 Mac 笔记本上,请在 caffeinate 之下启动智能体,这样 Mac 在它运行期间会保持唤醒:

$ caffeinate -i coderemote up

在 Windows 上,请设置 Settings › System › Power,让电脑在接通电源时不进入睡眠。

Windows 上的终端

你从手机打开的终端运行 PowerShell:安装了 PowerShell 7 时是 pwsh,否则是 Windows PowerShell。

重启后配对依然有效

隧道 URL 和令牌在多次运行之间保持不变,所以已配对的手机会在你下次运行 coderemote up 时自动重新连接。只有在 rotate-token 之后才需要重新扫描。

更新或卸载

有新版本时,coderemote up 会在配对链接下方告诉你。coderemote update 会以你安装 coderemote 的方式安装它:使用 npm(或 pnpm、yarn、bun)、Homebrew,或安装到安装脚本自带的 Node.js 中。再次运行安装脚本也能达到同样的效果。

$ coderemote update

要卸载,先停止智能体,然后移除 coderemote 及其文件夹,其中保存着令牌和隧道设置:

macOS 和 Linux,通过脚本安装

$ coderemote stop --all
$ rm -rf ~/.coderemote

然后删除脚本添加到你 shell 启动文件(~/.zshrc、~/.bashrc 或 ~/.profile)中的 # coderemote 行。如果脚本使用的是你自己的 Node.js,那它是通过 npm 安装的:还要运行 npm uninstall -g coderemote。

Windows,通过脚本安装

PS> coderemote stop --all
PS> Remove-Item -Recurse -Force ~\.coderemote

然后在 Edit environment variables for your account 中,从你用户的 Path 里移除 %USERPROFILE%\.coderemote\runtime\bin。如果脚本使用的是你自己的 Node.js,那它是通过 npm 安装的:还要运行 npm uninstall -g coderemote。

npm

$ coderemote stop --all
$ npm uninstall -g coderemote
$ rm -rf ~/.coderemote

Homebrew

$ coderemote stop --all
$ brew uninstall coderemote
$ rm -rf ~/.coderemote

删除 ~/.coderemote 会把这台电脑的隧道留在你的 Dev Tunnels 账号上。要连它们一起删除,请先用 coderemote tunnels 列出,并在移除 coderemote 之前,用 coderemote tunnels delete <id>... --force 删除这台电脑的隧道。