苹果生态一直有一道隐蔽的夹缝:Sidecar(随航)能把 iPad 变成完整的扩展屏或镜像屏,却始终不肯让你把 Mac 桌面上正在运行的某一个特定窗口,原汁原味地单独扔给 iPad 操作。

开发者 Noah Saffer 开源的应用 Sill 试着把这道缝隙撬开。Sill 是一套纯点对点的流式传输工具,没有中转服务器,也不设账号系统。它做的事情很纯粹:在 Apple Silicon Mac 上指定任意一个窗口或整张桌面,利用硬件直接编码并推送到 iPhone 或 iPad 上,对端则通过触控、外接键盘或 Apple Pencil 回传控制。两端均免费且按 Apache License 2.0 协议开源,iOS 版已在 App Store 上架,版本号同步迭代至 0.5.1。

Sill 端到端零服务器工作流 Mac (Host) ScreenCaptureKit VideoToolbox HEVC 单窗口 / 虚拟屏捕获 传输链路 TLS 1.3 本地加密 USB / P2P / VPN 依赖 TCP 连接 iPad / iPhone 硬件 HEVC 解码 最高 120 fps 渲染 触控与键鼠反向映射

避开整屏虚拟,直切窗口捕获

多数远控软件习惯将操作系统整体打包,先虚拟一块完整屏幕,再把所有像素压缩推送。这种重资产路径对带宽和性能都有要求。

Mac 端被遮挡的窗口图层经底层提取,在平板端完整独显(示意图)
Mac 端被遮挡的窗口图层经底层提取,在平板端完整独显(示意图)

Sill 选择了一条轻便路径。它严格限制在 Apple Silicon 芯片硬件上,要求 macOS 14 和 iOS/iPadOS 17 起步。在宿主端,Sill 借助 macOS 原生的 ScreenCaptureKit 捕获特定窗口图层,直接送入 VideoToolbox 调用芯片内置的媒体引擎做硬件 HEVC 编码。只要两端处于同一局域网、通过 USB 数据线连接,或者借助自建的 Tailscale 网络,画面就能以极低算力开销推送到移动设备。

这套架构给出的纸面参数相当激进:针对 ProMotion 屏幕支持最高 120 fps 刷新率,码率跨度提供 7 档调节,从节省流量的 Low 档 4 Mbps 一路放宽到局域网极限的 150 Mbps。为了在 iPhone 上舒服操作,Sill 甚至允许通过辅助功能自动拉伸窗口尺寸,或者调用私有接口把串流窗口放置在独立的虚拟显示器上,哪怕 Mac 上的窗口被其他软件层层遮挡,串流出来的视频流依然维持独立刷新。

关键参数规格 120 fps ProMotion 极限帧率 150 Mbps Extreme 档峰值码率 0 元 开源与无内购

商业软件在这块市场扎根已久。主打专业手绘与低延迟扩展的 Duet Pro 年费约 79.99 美元,老牌远控工具 Screens 5 的终身买断费用则在 199.99 美元上下。对只需要把开发终端、聊天面板或单一监视窗拉到 iPad 上的用户而言,动辄数百元的商业工具往往买回了过剩的控制面板。Sill 用苹果现成的底层积木,免费补足了这个纯粹的单任务投射场景。


精巧设计背后的工程代偿

免费与精巧通常伴随着边界。当我们跳出无服务器串流的叙事去审视代码与协议,会发现 Sill 为了轻量化,放弃了相当多的关键底座。

手写笔仅被映射为基础光标,大角度倾斜也无粗细与压感变化
手写笔仅被映射为基础光标,大角度倾斜也无粗细与压感变化
取巧易得一时之利,底盘不稳则行之难远。

首先是传输协议的选择。Sill 的传输层目前强依赖 TCP。在局域网内或带宽充足的 USB 链路上,TCP 的重传机制尚能掩盖偶发延迟;但一旦离开本地局域网,通过外网或 VPN 异地组网,丢包必然引发头部阻塞与画面抖动。GitHub 社区里的 Issue #123 呼吁转向 QUIC 或 UDP,正是因为纯 TCP 无法支撑真正对抗弱网的低延迟流式体验。

方案投射粒度传输与网络典型成本
Sill单窗口 / 桌面本地局域网 / Tailscale 自建免费开源 (Apache 2.0)
Sidecar扩展整屏 / 镜像苹果私有直连协议硬件自带
Duet Pro整屏虚拟 / 画板商业云中转 + 直连约 $79.99 / 年
Screens 5完整桌面远控专用中继 / VNC约 $199.99 买断

功能断层同样清晰。Sill 当前完全不支持音频流传输,你在 iPad 上看到的视频播放窗口是一台纯粹的哑巴机。其次,尽管它支持 Apple Pencil 操作,但笔尖仅仅被映射为基础光标,不具备压感与倾斜度感知,这意味着它不能用来替代数字绘图板。

在系统边界处理上,Sill 也保留着早期开源项目的生涩。Issue #108 指出在没有连接物理显示器的无头 Mac 上配对码可能无法显示;Issue #101 则记录了宿主端窗口关闭或异常中断时,平板端画面极易卡死或变为空白。

  • 风险.早期的 0.3.1 及更早版本在本地与直连场景下完全没有数据加密与身份校验;虽然从 0.4.0 起升级为 TLS 1.3 并加入配对认证,但若在设置中关闭强制配对,局域网内的任意设备仍能直接接管 Mac 控制权。

加上项目内部可选的每日更新检查会向代码托管平台暴露 IP 地址与版本信息,且整套工程未经过第三方代码审计,将它暴露在非受信任的公共网络中依然需要保持审慎。

  • 建议.将 Sill 视作局域网内延伸 Mac 视野的高帧率辅助屏幕,而非承担生产环境的专业远程控制中枢。它把系统原生 API 的潜能发挥得相当漂亮,但要填平从极客玩具到稳定生产力工具之间的鸿沟,音频回传、现代 UDP 传输协议以及更鲁棒的异常熔断机制,都是绕不过去的功课。