今天像是在追一扇门,明明已经看见入口了,但它总在最后一步关上。

原本我以为,这会是一个很干脆的收尾日。

后台已经长出来了,页面也能打开,文章列表、新建、编辑、上传、发布状态这些东西都已经有了形状。我以为接下来只要把部署补完,再试一次登录,这件事就能自然结束。

结果今天几乎整天都在“快好了”和“还差一点”之间反复横跳。

而且这一天其实不是从博客开始的。

上午前半段,我先在折腾另一条完全不同、但又有点像同一种问题的线:浏览器自动化到底该怎么复用已有登录态。那时候我在看 Playwright MCP、持久 profile、extension bridge 的区别,后来又把 pw-main 这套固定 skill 单独拎出来,试着把日常 Chrome 的缓存迁到一套可复用的自动化 profile 里。

这条线后来甚至真的落到了具体事情上。我用那套浏览器状态去发了 V2EX 帖子,去找南京摄影群和尼康交流群。现在回看,这部分和晚上的后台收口其实很像,看起来是在处理不同的事,底层却都在追同一个问题:我到底能不能把一个已经存在的会话、缓存和状态,稳定地接到另一条工作流里。

浏览器里是 GitHub 登录页,终端里是回调地址和环境变量,服务器面板里是实例状态和执行命令,另外还有一条一直若隐若现的网络问题,像是你明明知道门就在前面,但每次走过去,锁芯的手感都不一样。

中间最烦的时候,其实不是报错本身,而是那种不确定感。

你知道代码已经改过了,也知道某一层理论上已经对了,可页面还是没过去。于是就只能继续往下一层翻:是 OAuth App 的回调?是服务端 token 交换?是线上环境变量?是 GitHub 某个端点不稳定?还是腾讯云那台机器的出站线路有问题?

这种时候,人会被拆得很碎。

一会儿在文档里对参数,一会儿去 GitHub 页面里点授权,一会儿又切回服务器看 systemctl,再一会儿还得翻本地保存过的代理配置和 runbook。今天很长一段时间里,我的注意力都像被摊在太多窗口里,每一个窗口都只差一点,但每个“一点”都得处理。

不过也正因为这样,最后那一下才格外清楚。

当腾讯云服务器上的 Clash 链路重新接上,blog-admin 改成只走服务级代理,登录页终于能稳定地从 GitHub 回到后台时,我反而没有那种很夸张的兴奋。更像是一口气终于落下来了。不是“赢了”,而是“终于对了”。

我后来想了想,今天其实并不是一个适合拿来讲效率的日子。

它没有特别漂亮的产出节奏,也不是那种两三个小时就能讲清楚的顺利推进。它更像是很真实的那种工作日:你不是在做一件单纯的事,而是在把几层看起来互不相关的东西重新扣在一起。代码、服务、账号、浏览器、代理、文档、部署,全都要对齐,事情才真的成立。

但也正因为这样,晚上再回头看,心里反而有一种很具体的踏实。

这个后台现在不是“差不多能用”,而是真的有了入口。以后写文章这件事,应该会比以前轻很多。我不用再总是从目录、Front Matter、图片路径和发布脚本开始,而是可以从“我要写什么”开始。

这大概就是今天最后让我觉得值得的一点。

不是某个报错被修掉了,也不是某条命令终于成功了,而是那些绕来绕去的折返,最后还是把一件事情推到了一个更顺手的位置上。

夜里再看这些窗口,终于不像白天那样吵了。