2026.07.22 (三)

✨ GPT-5.6 Sol 的总结  

一篇记录:连接 NAS、路由器和 HTTPS,连 USB 接入的真实手机上崩坏的 UI 也一起修好,并切身体会到与 AI 协作后,自己能够亲手处理的领域会扩展到什么程度。

通过 Computer Use 一起看 NAS 和路由器画面

今天最先撞上的,是 NAS 和路由器。

要让服务在外部也能使用,并不是把 Docker 跑起来就够了。域名要找到公司的网络,路由器要把请求转给 NAS,NAS 要出示证书,然后 Reverse Proxy 还要把请求送进内部容器。换作以前,我大概会一边在路由器和 NAS 的管理界面之间来回切换,一边先去找说明书。

这次,我负责登录管理界面并批准变更范围,AI 则通过 Computer Use 看着真实画面,和我一起往下做。

浏览器上方出现了 AI 已开始直接调试这个浏览器的提示。我把自己看到的画面原样交给它,一起确认哪里正常、哪里卡住了。

Computer Use 正在调试真实浏览器并检查休假自动化仪表盘。已对真实服务域名和可识别公司的标记做马赛克处理。

我们先检查既有设置,不去碰不能动的主页和邮件连接,只添加新服务所需的项目。我把 Mac 上生成的 Docker 镜像上传到 NAS,在独立的 Compose 环境里运行,再接上 Reverse Proxy 和 HTTPS 证书。

在 NAS 管理界面连接服务用 HTTPS 证书的场景。只对真实服务域名做了马赛克处理。

在这里,角色分工变得更加清楚。登录、设定目标、判断既有环境要保留到什么程度,以及批准实际变更,都由我负责。AI 则在我打开的画面里读取路由器和 NAS 设置,把 Docker、Reverse Proxy、证书这些不同的技术层连接起来。

这并不是 AI 随意修改外部设置。登录和重要变更的批准由我完成,我们保留了恢复既有环境的余地,一步一步确认结果。真实短信发送首先只限于一个已批准的内部号码,并确认了接收。外部连接完成后,我还通过手机的移动网络访问了 HTTPS 地址。

关于迁移既有功能和数据、确认一条受限短信,以及外部请求如何进入 NAS 内部服务的结构,我另写在将遗留休假自动化迁移到 NAS 并连接外部 HTTPS里。

不能直接看手机屏幕吗

做到这里以后,我问 AI:

你不能自己看着手机屏幕操作吗?没有这种工具吗?

连 Android 虚拟化技术都存在的时代,AI 却看不到一台通过 USB 连接的真实手机,这让我觉得很奇怪。查了一下才知道,可以用 adb 读取并操作手机状态,用 scrcpy 还能把真实画面原样显示在 Mac 上。

来回聊了几次之后,我的真实手机屏幕真的出现在 Mac 上了。

通过 scrcpy 显示在 Mac 上的真实 Android 手机完整屏幕,已对公司机器人名称、个人步数和位置名称做马赛克处理

我的手机就那样出现在 Mac 屏幕里,手机上甚至还显示着 Codex 正在工作的通知。从那一刻起,AI 不再只是一个回答问题的窗口,而像是能和我一起看着我真实看得见、摸得到的设备的工具。

看着真实手机修 UI

scrcpy 并没有止步于显示手机画面。

把开启 USB 调试的真实手机连接到 Mac 后,AI 可以用 adb 截取画面、读取 UI 结构、点击、滚动、输入文字。通过 scrcpy,我也能实时看着整个过程。不是二选一,而是用 scrcpy 看画面,用 adb 完成重复操作和证据留存。

显示器上,AI 正在读取画面并整理下一步操作;就在它前面的真实手机上,同一个服务也正开着。

在显示 Codex 工作对话的显示器前检查真实 Android 手机 UI。只对手机内的人物与组织数据行做了马赛克处理。

我在手机 Chrome 里打开正在制作的服务,登录后逐个走过菜单。这时,单纯模仿 PC 浏览器小窗口时没看见的问题一下子全冒了出来。移动端的侧边栏占据了屏幕大半,卡片和文字纵向挤成一团。员工列表的标题和按钮也一个字一个字掉下去,短信记录和休假管理的筛选项甚至看不出是什么。

比起解释“有问题”,一张画面更有力。员工列表几个字逐字向下排列,筛选栏只剩图标和几个零碎的字。在 PC 上缩窄窗口时漏掉的缺陷,到了手掌大小的真实屏幕上,一个也藏不住。

下面所有对比图都是左侧为修改前,右侧为修改后。

真实手机上发现的仪表盘崩坏问题修改前后对比

也不是改完代码就结束。我重新部署修改后的画面,在同一部手机上再次登录,打开菜单、滚动画面并检查。员工列表终于能横向阅读,宽表格也不再被强行挤扁,而是可以按需要滚动查看。

我看着画面给出标准:“这个看不懂”“不要把表格压扁,要能横向移动着看。”AI 把这些标准连接到实际布局和代码修改上。部署之后,判断是否真的修好的工作,又回到了我的眼睛。

员工列表标题和操作按钮被挤坏的问题修改前后对比

筛选项多的画面更为明显。原因就是在狭窄的移动端宽度里把所有输入框硬塞在一行。我把短信记录和休假管理画面重新排成以两列为主的布局,再把日期范围单独放到一行。

短信发送记录筛选项被压缩到无法辨认的问题修改前后对比

休假管理筛选项被挤在一行的问题修改前后对比

这些前后画面并不是把运营数据截图搬过来。是在真实手机上发现问题后,用同样的合成数据和移动端尺寸,重新渲染过去的代码与修改后的代码进行比较。亲眼看到的不便转成代码修改,然后又回到真实设备上确认,形成了一个完整的循环。

看起来像窗口,却不是应用

能看着真实手机修问题已经很神奇了,但之后发生的事更好笑。

我想让 BetterTouchTool 在按下 fn+s 时显示或隐藏 scrcpy 窗口。其他应用都运行正常,偏偏只有 scrcpy 不行。我截下设置界面给 AI 看。

在 BetterTouchTool 中把 scrcpy 指定为特定应用的快捷键设置

原因很简单。

我在 BetterTouchTool 中选择的不是普通的 macOS 应用包,而是安装在 Homebrew 目录下的 scrcpy 可执行文件。画面上虽然像应用一样打开一个窗口,但它和 BetterTouchTool 的 Show / Hide Specific Application 所期待的普通 .app 性质不同。所以,对其他应用有效的方法在 scrcpy 上无法正常工作。

这不是手机的问题,快捷键本身也没有问题。眼前看起来都是一个窗口,问题却在于 Mac 把这个窗口识别成怎样的进程和应用。

在我看来,它和其他应用窗口没有区别。AI 把我展示的 BetterTouchTool 设置与实际执行路径连接起来,找出了为什么只有这个窗口无法像普通应用一样行动。

最后,我不再使用显示或隐藏普通应用的动作,而是改成由 shell 脚本直接查找 scrcpy 进程,并控制其运行状态和窗口显示。同样的 fn+s,这次终于按照我想要的方式工作了。

改为用 shell 脚本直接控制 scrcpy 进程的 BetterTouchTool 设置

听到解释的一瞬间,我直接笑了出来。

哇……连这种事都能做到?

我不再需要事先懂得所有技术

换作以前,从这里开始要搜的东西实在太多。

Docker 和 NAS、路由器、DNS、证书、Reverse Proxy,再到 Android 调试、adbscrcpy,甚至 macOS 如何区分窗口和应用。如果逐个搜索,这些问题会散落成完全不同技术领域里的问题。

单独看,每一项也许都不是特别难的技术。但它们不是我平时深入接触的领域。连该搜什么都不知道的时候,一个小问题很容易变成几个小时的工作。

AI 加入之后,整个流程变了。

我说出想要的结果,展示真实画面,再把失败的地方重新给它看。AI 不只把 Docker、NAS、路由器、DNS 和 HTTPS 连起来,也把手机、adbscrcpy、macOS 窗口与 BetterTouchTool 设置放进同一个执行流程里看。

一边看 NAS 和浏览器,另一个会话深入追查 Android 与短信路径,又在别的窗口里审查结果。即使画面分成好几个,我的角色始终相同:决定目标,批准修改到什么程度,判断结果是否正确。

在同一个画面连接 NAS 部署、Android 短信路径、多个 AI 工作会话和审查对话的工作环境。已对非公开人物姓名和可识别公司的标记做马赛克处理。

如果 AI 只是告诉我许多知识,我不会有这种感觉。那些知识变成终端命令、手机点击和管理界面里的设置,最后又以我实际使用的画面变化回到我面前。这不是回答,而是执行。

我并没有事先学会所有这些技术层,也不是自己什么都不做,只丢下一句“你看着办”。我一直看结果,指出奇怪的地方,再问下一个问题。

以前我写过,AI 素养归根到底是下指令的能力。今天,这句话变得更为现实。

下指令并不是写出一句漂亮的提示词,而是说明自己想要的状态,把眼前的画面交出去,结果不对时再纠正。只要会反复做这件事,即使是原本不知道的领域,也能比想象中走得更深。

AI 扩展了我手与眼的范围

用了 AI,并不意味着我突然成了所有技术领域的专家。

相反,真正动手后,AI 做出奇怪判断,或朝我不想要的方向走得太远的时刻也不断出现。如果我不知道自己想要什么,或没有判断结果的标准,那么不管 AI 做多少事,都很难抵达正确的结果。

但反过来同样成立。

如果我设定目标、展示真实状态、抓住错误方向,并持续推动 AI,事情就完全不同。以前会因为“这个领域我不懂”而略过的事,也能亲手摸一摸。不只是装好一个程序就结束,而是可以接入真实设备、看画面、确认动作、部署到服务器,再把不方便的地方改成自己的方式。

所以现在,遇到画面很重要的工作,我不再只让它解释结果,而会直接说:“你自己确认一下。用 Computer Use。”

要求 Codex 通过 Computer Use 直接检查真实画面和结果,并收到验证结果的画面

我在逐渐刻进骨肉里的开发范式转变中写过,开发者的核心正在从手写代码的能力转向企划、设计、执行与反馈。今天我做的事,恰好就是这条路径。

比起记住多少代码,自己究竟想做什么更为优先。接下来才是把上下文展示给 AI、连接工具、看着结果不断修正。

今天,我真的切身体会到了。

只要懂得积极运用 AI,我能做的事就会比想象中多得多。这不只是更快得到答案,而是我能够亲眼看、亲手摸、亲自修的范围都变宽了。

“真的无穷无尽”这句话,一点也不像夸张。

留下评论