Logs

把原型逼成产品

这一天最明确的推进,不是单点功能完成,而是不断把能跑的原型往可信、直觉、成熟的产品体验上压。

  • daily-log
  • codex-suite
  • bridge
  • mobile
  • ux

这一天最清楚的主线,是把 codex-suite 从“技术上已经能跑”的原型,继续往“普通人也能顺着直觉用下去”的产品上逼。可用证据主要来自本地 Codex 会话和仓库产物;Claude、remote Codex、ChatGPT 这几路这次都没补出更多正文,所以整篇只能靠已经反复出现的本地线索来站住。真正贯穿全天的,不是某项技术选型本身,而是对摩擦的持续不耐烦: 任何需要额外心智负担、隐式操作仪式或不透明等待的地方,都开始变得不能接受。

凌晨到中午,这种不满先落在 bridge 的启动和信任链路上。表面上,讨论还在围绕 Headscale 能不能替代 Tailscale 登录、控制面要不要自己部署、bridge 和 mobile 能不能不登录就加入 tailnet 打转;但越往后越能看出来,真正的问题不是选哪种方案,而是现有流程把太多后台动作留给人自己处理。于是收口开始变得务实起来: 少依赖浏览器自动化,转去考虑 API token、启动时引导、trust credentials 自动管理、登录状态继承,以及 bridge 默认启动参数如何更像一个能自己站起来的系统。早晨顺手把前一天的 private scaffold 和 public log 也收束并发布了,但那更像是在维持记录闭环,主线还是在压缩接入摩擦。

下午以后,压力转到了手机端,但衡量标准没有变。基本功能跑通之后,要求立刻被抬高到“像成熟 app 那样设计 UI 和交互”;第一次 Android 方案不够好看,就直接推翻重来。接下来的节奏很典型: 在模拟器和真机之间切换,修基础问题,重装到手机上,把 paste payload 直接移掉,盯着扫码连接为什么第一次不通、后来又彻底不通,再一路修到“终于能连上”。可一旦链路真的通了,新的问题马上浮出来: 扫码后的等待为什么这么久,用户为什么完全不知道系统正在干什么。于是后半天的注意力自然转向连接中的状态反馈、加载感知和交互节奏,等于是在技术打通之后继续清理体验上的迟滞。

到了夜里,这条线被说得更明确了: codex-mobile 不是一个普通的多页面原生客户端,而更像一个原生壳层,负责配对入网、保存和切换 bridge session、管理 tailnet 生命周期,再把真正的 Codex 工作区装进 WebView。仓库痕迹也和这个判断一致: bridge 的 auth、config、runtime 在动,Android 的 nativehost、tailnet、JNI 在动,drawables、colors、styles 在动,旧的 React Native 入口则在退场。回头看,这一天真正发生的不是几次孤立修补,而是不断把“能跑”往“可信、直觉、成熟”推进,逼出了桥接层和移动端边界的一次同步重写。背景里还挂着《人类学历史本体论》的阅读线程,但真正没有收口的,仍是 bridge 的持久化与部署方式、mobile 的多连接支持,以及这次原生化重切何时能从中途状态变成稳定版本。