# 远程连接与移动端

> 把 iPhone 或 Android 配到这台电脑，在手机上继续会话，还可以查看并操作桌面。

Canonical page: /product/remote-control



<Takeaways>
  <li>
    Windows、macOS 和 Linux 的桌面端都有「设置 → 远程连接」
  </li>

  <li>
    手机上看的是这台电脑上的会话，内容端到端加密
  </li>

  <li>
    二维码、连接码和密码只交给要配对的那部手机
  </li>
</Takeaways>

远程连接让手机跟着这台电脑上的工作走：能看到「对话」和已打开项目里的会话，包括你在电脑上发起、正在跑的任务，也可以继续追问、回答提问或新建会话。中继只转发密文，不保存会话内容。

屏幕控制是另一件事，按每部已配对的手机单独开关。

以前用旧协议配过的手机不能继续用，需要重新配对一次。

## 前置条件 [#前置条件]

* 电脑上的 Astravia 能打开 **设置 → 远程连接**。三个桌面系统都有这个入口。
* 手机安装了能和这台电脑对话的 Astravia。iPhone 需要 iOS 26 或更新系统；Android 使用当前的 Astravia 客户端。
* 同一 Wi-Fi 可直连。不在同一网络时，需要打开 **允许在外网访问**，手机和电脑都能连上所配置的中继。
* 配对前看一眼屏幕上没有不该出现在手机里的内容。手机旁边的电脑图标右下角是绿色对勾时，这部手机能看到整块桌面。

## 配对 [#配对]

打开 **设置 → 远程连接** 后，页面会自动准备二维码，旁边写着大约多少分钟后更新。默认大约 10 分钟，过期、被用掉或点 **刷新** 之后会立刻换一张。一张二维码只给第一部扫到它的手机。

<Steps>
  <Step>
    ### 在电脑上打开配对页 [#在电脑上打开配对页]

    进入 **设置 → 远程连接**。系统安全凭据存储不可用时，页面会直接说明暂时无法配对，而不是给出一张无效二维码。
  </Step>

  <Step>
    ### 在手机上完成其中一种方式 [#在手机上完成其中一种方式]

    | 方式     | iPhone | Android | 什么时候用                                    |
    | ------ | ------ | ------- | ---------------------------------------- |
    | 扫描二维码  | 可以     | 可以      | 手机就在电脑旁边                                 |
    | 连接码和密码 | 可以     | 可以      | 人不在电脑旁。电脑上是 8 位连接码和 6 位密码，手机选 **用连接码连接** |
    | 手动输入地址 | 可以     | 可以      | 同一 Wi-Fi。填电脑显示的地址，两端会出现同一个 6 位验证码        |

    连接码需要 **允许在外网访问**，并且当前中继支持连接码。不满足时电脑只保留二维码，并说明连接码暂不可用。手动输入地址只能在同一局域网内进行；访客网络常常隔开设备，这时改用扫码或连接码。
  </Step>

  <Step>
    ### 核对验证码后再放行 [#核对验证码后再放行]

    手动输入地址时，电脑会出现 **等待你放行的手机**。手机上的 6 位验证码必须和电脑上的一致，再点 **允许这台手机**。不一致就点 **拒绝**。

    任何手机接入都会在电脑上弹出系统通知。不是你操作的，到 **远程连接** 里解除那部手机。
  </Step>

  <Step>
    ### 确认手机已经在线 [#确认手机已经在线]

    **已配对的手机** 里出现这部设备，并显示在线方式：P2P 直连、局域网直连或云端中继。之后可以关掉配对页，手机会记住这台电脑并自动重连。
  </Step>
</Steps>

macOS 第一次让手机从局域网连入时，系统可能询问是否允许传入连接，需要允许。iPhone 第一次访问局域网还会询问本地网络权限。

## 手机上能做什么 [#手机上能做什么]

电脑在线时，手机可以：

* 查看「对话」和各个项目里的会话，包括电脑上正在跑的任务。回答会持续同步，工具调用显示成卡片。
* 继续追问、中止当前这一轮，或新建一个会话。
* 回答电脑弹出来的提问。
* 发送图片和文件，按住说话把文字填进输入框，以及切换这个会话之后使用的模型和思考强度。

电脑离线时，手机仍能翻看最近缓存的 50 个会话，但不能发消息，也不能新建会话。

手机与电脑同一 Wi-Fi 时优先直连，连不上再走中继。空闲时连接会休眠。

## 查看并操作电脑屏幕 [#查看并操作电脑屏幕]

这部手机在线、并且 **允许在外网访问** 已打开时，名称旁边有一个电脑图标。右下角是绿色对勾时，这部手机可以查看并操作桌面；是红色叉号时不可以。点一下图标即可切换，默认是绿色对勾。

打开后，手机可以进入全屏桌面：轻点、拖动、滚动和打字都会作用到这台电脑。Android 从首页或设置进入；iPhone 从首页抽屉、设置，或长按 App 图标选 **远程控制** 进入。切成红色叉号会立刻断开画面，手机仍能看会话。

只有手机打开这个页面并停在前台时，电脑才截屏；离开页面或切到别的 App 就停下，macOS 的录屏指示灯随之熄灭。这需要手机和电脑都是本版本：旧版手机连着时画面会一直开着，iPhone 也看不到旧版电脑的桌面。

在 macOS 上，Astravia 需要 **屏幕录制** 权限才能显示画面，需要 **辅助功能** 权限才能接收点按和键盘（系统设置 → 隐私与安全性）。缺哪一项，手机会直接说明，电脑上也会弹出通知，点一下打开对应的设置页。授予屏幕录制后需要重启 Astravia。

在 iPhone 上，整块屏幕像触控板一样用，画面内外都可以：单指移动光标，轻点点击，双指轻点右键，按住半秒后移动即拖动。双指捏合缩放画面，双指移动平移放大后的画面。光标跟手移动、始终可见，形态与电脑上一致（箭头、I 型、手形）；放大后只有双指才会移动画面。暂时没有滚动手势，需要时拖动滚动条。键盘上方一排补上了 Esc、Tab、方向键和 ⌃ ⌥ ⌘ ⇧：点一下作用于下一个键，连点两下锁定。**粘贴** 会把 iPhone 剪贴板里的文字打到电脑上。外接键盘的快捷键直接生效。只有远程桌面这一页能横屏。

远程画面经中继建立连接，之后在手机和电脑之间直连传输，所以只关外网访问、或手机显示离线时，电脑图标不会出现。直连建立后，会话和聊天也会走这条连接。有些网络无法直连：这时会话照常经中继使用，手机会说明当前网络看不了桌面。Agent 自己的执行模式、工具权限和确认流程不受这个设置影响。

## 外网访问和中继 [#外网访问和中继]

**允许在外网访问** 默认开启。关掉之后，手机只能在同一 Wi-Fi 下连接。

旁边的设置可以更换中继地址、先测试再保存，或恢复默认。地址要以 `wss://` 或 `https://` 开头。测试会说明这个地址能否连通、是不是兼容的 Astravia 中继，以及是否支持连接码。

更换之后，当前二维码会刷新。已经连着的 Android 会自动改用新地址。当时不在线的手机，要等下次在同一 Wi-Fi 下连上这台电脑，才会拿到新地址。电脑如果使用自建中继，用连接码配对时要在手机上打开 **电脑使用的是自建中继**，并填同一个地址。

## 安全 [#安全]

* 二维码、8 位连接码和 6 位密码都是一次性的配对材料。不要发到聊天、截图、Issue 或项目文件里。
* 会话在手机和电脑之间端到端加密。中继看不到正文。
* 手动配对必须在电脑上核对验证码。扫码只对第一部手机有效。
* 完全退出电脑上的 Astravia 后，依赖它的会话同步和远程画面都会断开。

## 解除配对 [#解除配对]

在电脑上对那一行点 **解除配对**，或在手机的电脑设置里解除。电脑上的会话都保留。

* iPhone 会清掉这部手机上缓存的会话，之后要重新配对。
* Android 会留下手机上已经同步的会话，可以继续翻看，但不再更新；重新扫到同一台电脑后会接着同步。

## 连不上时 [#连不上时]

1. 看电脑是否仍在运行，设置页有没有报错。休眠或退出都会让手机离线。
2. 二维码或连接码过期时，等它自动更新，或点 **刷新**。不要复用已经用过的码。
3. 手动输入地址失败时，确认两端验证码一致，并且手机和电脑在同一个不会隔离设备的网络里。
4. 同一 Wi-Fi 正常、出门就失败时，检查 **允许在外网访问**、中继地址，以及网络是否拦截 WebSocket。
5. 会话正常但手机没有桌面画面时，确认这部手机在线、外网访问开着，并且它旁边电脑图标的右下角是绿色对勾。缺少 macOS 权限或当前网络无法直连时，手机上会直接说明。

<Continue>
  <ContinueLink href="/reference/security-and-data/" title="安全与数据边界" description="理解手机配对、模型和本机数据之间的边界。" />

  <ContinueLink href="/product/settings/" title="设置参考" description="按当前设置页查找远程连接和其他入口。" />

  <ContinueLink href="/troubleshooting/" title="故障排查" description="手机连不上时，和其他故障放在同一张排查表里。" />
</Continue>
