Logs

2026-04-01 日志

这一天的推进,主要是在不同系统里把职责、边界和真源重新放回该在的位置。

  • daily-log
  • openword
  • lvshe
  • codex-suite
  • word-fill

这一天最清楚的主线,不是同时开了很多项目,而是在不同系统里把那些原本被默认成立的前提一条条拆开,再放回各自真实的宿主、边界和真源上。凌晨先补完前一天的 daily scaffold,上午又把 codex-session-watch 推到能自动判断任务是否真的结束、是否需要续跑的状态,相当于先给自己的 AI 工作流补了一层“别在不可见状态里断掉”的能力。当天没有拿到更多外部来源证据,主线基本都落在本地 Codex 会话和仓库产物上。

白天最重的仍然是 openword。这条线已经不只是继续盯着 WPS 页面猜排版行为,而是在把那些只能靠样本和残余 hint 勉强解释的布局逻辑,持续压进通用规则、回归脚本和 runtime。当天最关键的变化,是把一个真实的 paragraphWrapHint 从配置债务变成了运行时能力,剩余 hint 继续下降;同时配套的提交和 probe 脚本也密集落地,说明这里做的不是一次性调参,而是在把排版系统往可复现、可验证、可继续推进的工程状态推进。

到了上午和中午,lvshe-fe 暴露的是另一类同样典型的问题。网页被装进桌面壳以后,浏览器导航栏原本兜住的那些退路都不见了,所以工作很快从“哪些页面会把用户卡死”转成“做一个只在桌面环境出现的统一返回栏”,再一路细化到环境变量、下载入口、构建依赖、返回栏尺寸、贴边方式和 hover 形状。中间还顺手把 CI 失败点定位到 lvshe 不该在构建期依赖 lvshe-desktop,下午又在代码评审里修了 AI 草稿页恢复本地缓存后 SSE 不再续连的问题。本质上,这几件事都在说明同一件事:原本被浏览器外壳、工作区关系和默认交互偷偷承担的责任,桌面化之后都得自己正面接住。

下午之后,codex-suite 把这种“重新画边界”的感觉推得更明显。用户一开始还在想 relay 方案,但很快意识到真正难用的不是换哪种网络拓扑,而是移动端一直背着本不该由它承担的 tailnet 责任。当天于是直接把 embedded mobile tailnet runtime 拔掉,改成让 Tailscale app 和宿主环境来承担这部分职责,并把改动直接推到了 main。旧责任切掉以后,新的缺口也立刻暴露出来:断连后用户会在无感状态里白打字,webview 里的文件选择拿不到宿主文件系统,本地图片、terminal、preview browser 这些能力也都不是网页天然拥有的。所以下半天并不是做完一次网络重构就结束,而是顺着新边界继续撞见更深的宿主能力缺口。

夜里 word-fill 的一次回写,把这一天的方向收得很干净。用户意识到最近把修改直接加在了 lvshe-fe/packages/shared,但按现在架构,这份 shared 其实只是从 lvshe-be 同步过来的镜像。于是最后没有继续在镜像上堆补丁,而是把改动和测试回写到 BE 的真源里。它看起来只是一天末尾的一次小修正,但其实把整天的方向说透了:无论是布局规则、桌面返回路径、移动端网络责任,还是 shared 代码的归属,问题都不在于“能不能先跑起来”,而在于东西到底该由谁拥有、该落在哪一层、又该怎样在出错时被看见。这一天真正的推进,基本都发生在这种持续的自我纠偏里。