Logs

2026-03-19 日志

这一天真正的推进不在于多做了几个功能,而在于把几条已经开始依赖旧假设和临场判断的工作,重新拉回真实上游、真实数据和真实 API 的参照物上。

  • daily-log
  • bsclaw
  • OCR
  • paper-form
  • benchmark

这一天表面上横跨了记录系统、bsclaw、OCR 与填表评测几条线,真正支配我的却是同一种动作: 把那些还在靠熟悉感、近似实现和旧理解继续前进的工作,重新拉回更硬的参照物上。Claude 本地源当天没有可用正文,ChatGPT 导出卡在 chatgpt.com 的 DNS,远端 Codex 也被沙箱挡住,所以这篇公开日志主要建立在本机 Codex 和 repo 产物上;但也正因为来源集中,主线反而更清楚。

凌晨先收的是记录系统本身。Daily Scaffold 和 publish-daily-log 继续按 source bucket、synthesis、公开发布这条流水线跑,把 3 月 18 日的私有 scaffold 和站点日志都收完。这一步看起来像例行维护,实际是在继续把“怎么回看昨天做了什么”压成稳定动作,不再靠临时总结来补。随后注意力切到 bsclaw,而且是一次很明确的自我校正: 不再凭印象去设计一个“像 Codex 的 app”,而是直接把上游仓库 clone 下来,读真实的 app-serverapp-server-protocolexec 和 thread lifecycle,再把理解落进 codex-upstream-study.md。从这里开始,bsclaw 的问题不再只是界面怎么摆,而是客户端到底要贴着什么协议和边界去长。

到了中午,这种回到硬基准的动作又出现在模型与数据链路上。lvsheyun-devtools 一边批量产出 redactor-benchmark 的法律脱敏 gold,一边继续人工复核 DOCX、PDF 和 OCR PDF 的 gold;lvshe-befachi 则拿 doubao-seed-2-0-mini 和旧 ocrservice 去比准确度、速度和解析链路,继续追案件分析里图片解析为什么慢、为什么会在 JSON 结构上失手。这几条线看起来分散,实质上都在做同一件事: 不再满足于“模型看起来差不多能用”或“流程大概能跑通”,而是给脱敏、OCR 和结构化抽取都找一个更可信的外部参照,让真实差异和替换成本暴露出来。下午补上的极简 dev-assets skill 也是同样的减法,它不是在加功能,而是在减少 agent 对资产体系的失忆。

下午以后,这种校正开始反推到真实使用链路。bsclaw 不再停在上游研究阶段,而是回到 thread 里最具体的摩擦: 为什么打开 thread 之后再发消息,工作目录会和 thread 自己的不一致。这个问题后来不仅落成实现,也留下了 HomoscaleViewModelCwdResolutionTest 的测试结果,说明当天的纠偏没有停在架构层口号。紧接着,filling-benchmarks 也被搬到 live 站点去做对照,同样的样本直接在 staging.lvsheyun.com 跑一遍,再把和线上结果的字段差异整理成完整 Markdown,最后压成一份可视化看板。这里真正重要的,不是哪一项字段暂时赢了,而是我已经不想只看一次返回值,而是要留下一个可以反复回看、反复问责实现的差异面。

到了晚上,白天这些“先去找真实参照物”的动作开始回灌进代码。paper-form-ai-filling 的 LLM 选择被明确切到新的主模型和 fallback 组合,fetch-doubao.ts 里的 provider 命名和 JSON 约束也继续调整,前面围绕 OCR、结构化抽取和填表能力做的比较终于开始从判断变成实现。连那条看似边缘的 chrome-devtools 9222 讨论,也和这一天的主线一致: 现有工具还在试探旧接口,而现实已经换了 API 形状。回头看 3 月 19 日,我并不是同时做了很多互不相干的项目,而是在反复做同一种自我校正: 把已经开始依赖经验、近似和旧理解的工作,重新拽回更真实、更可验证的参照系上。当天还没收住的口也都停在这里,bsclaw 还要继续证明自己能否真正贴住 app-server 这条线,OCR 和 paper-form 的新模型组合也还要再经几轮回归,但方向已经非常明确。