Logs

把“应该能行”压成可验证条件

这一天的重心不是同时推进很多项目,而是反复把模糊判断压成更具体的约束、证据和可验证边界。

  • daily-log
  • openword
  • mihomo-cli
  • lvshe
  • constraints

4 月 14 日真正把几条线拧在一起的,不是项目突然变多,而是反复把“应该能行”的判断继续往下压,直到它变成明确约束、明确边界,或者干脆被证据推翻。当天能确认的主证据主要来自本地 Claude、本地 Codex、ChatGPT 导出和几个工作仓库;remote Codex 没有提供有效补充,所以主线更能看清楚是如何在本地工作链路里自己收束的。

白天前半段,最先浮出来的是一串围绕现实约束展开的摸索。ChatGPT 里看上去是零散提问,从流量卡、热点和 VPN 的关系,到 OpenWrt 便携路由、安卓设备能否承担更可控的网络节点,再到小米 14 Ultra、GPT-5.4 定价和 Codex app-server 的可定制边界,话题跨度很大,但背后的动作很一致:不再满足于“这类方案大概可行”,而是把一个模糊设想压成是否值得买、能否配置、能不能稳定运行的条件集合。

到了上午和中午,这种收紧边界的习惯开始落到代码里。lvshe-be 没把法律引用问题停留在“模型会犯错”的大判断上,而是直接把 system prompt 收紧到引用法律法规必须使用完整官方名称;同一天,检索和 citation 路径也被继续重写和合并,说明注意力已经从泛泛归因转向上下文和引用链路本身。另一条更完整的实现线出现在 mihomo-cli:它不是简单把 Clash Verge 的图形界面搬进终端,而是先把现有竞品、Bubble Tea 结构、mihomo 的 REST 和 WebSocket API、功能边界逐一拆开,再落到 go.mod、TUI 骨架和内部包结构。傍晚切到 Linux 现场后,这条线又继续被压到真正限制条件上:headless 机器谈不上系统代理,真正卡住 TUN 的是 CAP_NET_ADMIN,于是安装脚本、TUN 状态同步和错误提示也一起补齐,最后打出了 v0.2.2

最吃掉整天重心的还是 openword。从凌晨开始,本地 Codex 和 Claude 都围着 WPS 对齐问题在做同一件事:把原本容易失控的逆向分析重新组织成可以累积的知识。table-line-model.md 被拆开,reverse-grep.ts 这类辅助工具被补上,新的理解被不断压回 pretty.js 的具体锚点,然后再继续往 bid-002gov-005court-001charGeometry 这些更窄的对象收束。仓库里的分析文档、脚本、geometry 基线、font-metric 缓存和布局代码也说明,这不是会话里的空转,而是一整天都在往更可解释的布局模型推进。

更关键的是,晚上的收口不是“今天差不多了”,而是反过来追问:现在这套对齐方案到底能不能保证目标。只要答案还不够硬,就按步骤回退 layout 和 font-metric 的后续改动,把工作树重新收回到更干净、可解释的位置。中间当然也穿插了 easyvoice-stack 的配音 loading 与 Windows FishTTS 速度问题、fachi staging 上的文书起草分析失败、lvshe-fe 的文件上传限制问答、lvshe_infra 的镜像 tag 和 overlay 整理,以及前一天日志的发布,但这些支线反而更衬出同一种工作方法:不接受“看上去差不多”,而是不断把问题压回真正的 owning constraint。4 月 14 日未必给出一个轻松的完成态,却把后面该怎么继续推进,讲得比“多做了几件事”清楚得多。