Logs

把远程连接从说法压成现实的一天

这一天反复把远程连接从概念拆到运行时、设备体验和网络现实里。

  • daily-log
  • remote
  • codex-suite
  • tailnet
  • headscale

这一天最清楚的变化,不是又多做了几个功能点,而是我越来越不愿意接受一句“理论上可以远程连接”就算交代完了。可恢复的主证据主要来自本机 Codex、同日 ChatGPT 导出和 codex-suite 的 repo 产物;Claude 为空,远端 Codex 也没有恢复出可用摘要,但剩下来的材料已经足够清楚。整天真正往前推我的,是把远程接入这件事一层层往下压,压到运行时、打包物、设备体验、网络边界,甚至它应该由什么组织形式来承载,都不能只停留在口头上。

凌晨先用 ChatGPT 把几个边界条件摸清。Chrome 144 之后的 CDP 授权弹窗不能被简单设成“永远同意”,Tailscale 下的 HTTP 也不是一句“走内网所以没事”就能说完;到了 Remodex、relay 和 Headscale 的讨论里,问题更明确地变成控制面和数据面到底怎么分,什么该经中继,什么最好直连。回到本机 Codex 后,这些澄清很快从概念题变成了 codex-suite 里的硬问题:codex-bridge 到底是不是一个真正可用的 CLI,移动端为什么加载不到 UI 资源,启动时是不是应该自己检查和拉取运行时资产,长按侧栏为什么冒出来的是系统菜单而不是原来的 Codex 弹层。这些都不是边角 bug,而是在逼“远程连接”从一句产品描述变成一套要对自己负责的系统。

上午到下午,这条线继续往更具体的地方坠落。站点仓库里先把前一天的日记发布到 src/content/logs/2026-03-26.md,像是把记录节奏先接上;与此同时,codex-suite 那边已经开始出现更硬的证据:codex-bridge_0.3.0_darwin-arm64.tar.gz、运行时 manifest、移动端调试截图、Android tailnet migration 文档,以及那个把 bridge、mobile、runtime、release workflow 一起卷进去的大 commit。它们说明当天做的不是抽象设想,而是在试着把 bridge 的打包、更新检查、嵌入式 desktop 资源、手机端接入和 tailnet 暴露串成同一条链。可这条链并没有因为产物出现就自动稳定下来,下午关于多 bridge、重启后连接丢失、数据不再加载的追问,正好证明系统开始有形以后,真正的麻烦才刚浮上来。

中段那条看起来离工程更远的 蓝领巾 线,其实和主线并不脱节。它从“机械智能独立”慢慢改成“机械智能使用平权”,接着又追问什么样的 channel、periodical、dossier 流程和贡献机制才足以承载这件事,Git 到底是不是合适的基础设施。它像是整天技术摩擦在社会层面的回声:如果远程协作、分布式使用、能力开放这些事是真的,那就不能只有协议和 runtime,也得有一种公开而可持续的组织形态。

到了晚上再回到 codex-suite,这个判断被压得更狠了。问题已经不再是“Headscale 能不能替代登录 Tailscale”,而是直接落到 root@39.108.127.168tailnet.boomyao.com、Caddy 和 Cloudflare、以及 embedded tsnet runtime failed to startTailnet auth state is unavailable 这些不讲情面的现实层上。一天最后那段《人类学历史本体论》的阅读反而像收束:还在坚持一句一句读下去,本质上也是同一种习惯,不肯让一个说法在没有经受细部检验之前就被当成成立。回头看,这一天最重要的不是哪个节点已经彻底完成,而是方向被拉得更硬了:远程连接不能再只是一个好听的架构故事,它必须同时在运行时、设备体验、网络控制面和公共叙事里成立。留下来的 open loop 也很清楚:headscale 这条线到夜里仍停在部署和排障之间,多 bridge 与连接持久化还没稳定,蓝领巾 也还只是找到了一种更准确的命名和组织欲望。可正因为这些问题没有被提前粉饰成“差不多能用了”,这一天才算真的把事情往现实里推了一步。