我合上电脑以后, 还有一台机器醒着

14 min

我合上 MacBook 的时候, 通常觉得今天的事情差不多了.

可有些事还得继续. 消息可能晚一点来, 手机上还会用到那些笔记, 刚配好的服务也不能跟着电脑一起睡下. 后来, 我把这些事情陆续交给了 Mini.

起初只是给它安排一点活. 多放一份资料, 多跑一个服务, 好像都不费什么事. 等到有一次连不上它, 我才开始逐项想: 哪些东西还在那里等着? 哪些事情也会跟着停下来?

一台机器在日子里的分量, 有时要等它没了回应, 才掂得出来.

把需要继续的事情留下

MacBook 跟着我走. 开发, 查资料, 看页面, 大部分看得见的工作都在它上面发生. 用完合起来, 放进包里, 很自然.

服务却不太懂这种自然. 它们需要进程继续运行, 网络保持连接, 文件待在约好的位置. 我可以换一个地方坐下, 一个等待消息的入口却不能每次都跟着重新安顿.

Mini 接过的, 就是这一部分.

我在上面部署过 AI 助手的消息入口, 配过后台任务, 放过需要远程访问的开发环境. 它们各有自己的服务和目录, 有些一直保留, 有些后来换了做法, 也有一些已经停掉. 比如早先的 CLI Remote 常驻服务, 后来就退役了, 没有为了凑一个功能清单继续挂在那里.

这也让我逐渐养成一种习惯: 想留一个服务之前, 先想想明天还用不用得上. 真要留下, 就把启动方式、日志位置和停止办法一并安顿好. 否则今天少敲的几条命令, 过一阵总会变成自己都认不出的后台进程.

我愿意让它常开, 是因为有些工作确实需要一个固定的去处. 至于我自己, 可以暂时离开屏幕.

我的笔记, 在那里另有一份

Mini 上最让我踏实的东西, 是知识库.

主要的整理仍然在 MacBook 上完成. 项目做到了哪里, 为什么没有采用另一个方案, 某次部署留下什么问题, 我们把它们写进 Markdown. 普通笔记通过私有 Git 同步, 需要单独保管的原始资料则走另一条私有传输路径.

Mini 保存已经同步过去的副本, 再通过一个独立的只读入口, 让 ChatGPT 能够搜索和查阅.

于是, 手机上问起一个旧项目时, 就有机会找到当时留下的记录. 不必先把 MacBook 打开, 再去翻某个文件夹, 把一段背景复制进聊天框. 前提当然是资料已经同步过去, Mini 和查询服务也都在线.

这个入口没有写文件和执行命令的能力. 它能翻阅允许范围内的资料, 不能顺便去改项目. 真正要维护知识库, 仍然走编辑、检查和同步的流程. 我喜欢这种安排带来的清楚: 查一条记录, 不必连同改动整台机器的能力一起交出去.

同步也有没完成的时候. 曾经 Mac 端已经推送, Mini 的 SSH 却连不上. 那次只能确认资料到了远端仓库, 不能替 Mini 说一句已经收到了. 再从手机查询, 读到的就可能还是之前的版本.

所以, 我不把常驻副本当成一句万无一失的保证. 更新有没有过去, 仍然要核对. 只是核对过后, 我知道那些费心整理的东西, 在笔记本之外还有一个可以找到的地方.

关于这套记录如何积累, 之前写过个人 Wiki; 至于 ChatGPT 怎样走到这个入口, 则放在对话之外, 是我的整个工作现场里. 这次再回头看, 才发现那两篇背后, 都站着这台小主机.

留一张没有收起的工作台

Mini 也承接了一部分开发环境.

代码放好, 依赖装好, 需要的服务按项目启动. 经由已经配置的远程通道, 可以访问对应的开发页面和后端. 这样换到另一台设备时, 至少不用先把整套环境从头搬一遍.

这里让我觉得方便的, 是事情可以停在一个能认出来的位置. 上一次在哪个分支, 环境用了什么版本, 哪个进程负责眼前的页面, 都有地方查. 接着做之前核对一遍, 比凭印象重新拼装从容得多.

早先还遇到过一个很小、很磨人的问题: 手机上的远程目录选择器能看见入口, 却进不去. 那时候才发现, 路径在终端里能用, 到另一个入口未必就一样. 后来把目录挂载的方式理顺, 手机上才真正走得进去.

这些麻烦不会出现在一张漂亮的配置表上, 却决定了我下次愿不愿意再用它.

当然, 开发环境留在 Mini, 也不意味着所有工作都适合挪过去. Mac 上的真机调试仍然需要 Mac, 某些界面也得在实际使用的设备上看. 我只把适合留在那里的部分留下, 不强求一台机器替所有设备过日子.

还有一些流量, 要从它那里出去

那套折腾了很久的代理网络里, Mini 还承担着住宅出口的一部分工作.

需要走这条路径的流量, 经由隧道到达它, 再从住宅网络出去. 平时查资料、使用 AI 时, 我很少专门想到这一步. 页面打开, 请求返回, 注意力便回到正在做的事情上.

只有出问题的时候, 那段平日看不见的路才会重新显出来.

主机在线, 不代表隧道一定通; 隧道通了, 也还要看真正的请求能不能出去. 同一台设备上的两种连接方式, 更不能算成两套完全独立的保障. 主机断电或者住宅网络断了, 它们仍然可能一起失效.

把这些关系看清以后, 我对备用路径也就少了些想当然. 配置里多写一个名字, 并不能替我完成一次故障切换. 该试的时候, 还是得真的试.

Mini 在这里承担的责任挺重. 但我不愿意因此把它写成整套网络唯一的支点. 哪些流量依赖它, 出问题后怎样处理, 应该是明白的, 不能等到需要的时候才猜.

最后, 事情落到一盏灯上

如果一直说服务、隧道和副本, Mini 很容易显得离生活很远.

其实它也替我管过一盏台灯.

我们为自己的台灯做了独立控制程序, 又把相应的 Skill 放进 Mini 上的 Hermes. 查询状态、开关灯、调亮度和白光色温, 都有了具体的调用办法. Mini 通过厂商的云端协议与设备通信, 并不要求主机和灯待在同一个局域网里.

这件事也没有接上就成. 有一次新 Skill 已经装好, 旧会话却还不知道它的存在, 仍然往另一套工具上找. 换了新会话, 才真正读到新能力. 那一刻很能说明这些东西的脾气: 文件已经在磁盘上, 不代表正在和我说话的助手已经见过它.

后来查询和控制走通, 我也确认可以使用. 灯仍然是原来那盏灯, 桌面也没多出什么. 只是想调一下亮度的时候, 多了一种顺手的办法.

我很喜欢这样的结果. 前面花了不少时间读协议、试参数, 最后得到的便利却轻得很, 一句话就说完了.

至于没有弄清的功能, 就先留着. 这盏灯的白光档位已经确认, 任意 RGB 的控制方式没有足够证据, 我们便没有拿猜来的命令去试. 能把自己真正需要的几件事做好, 已经很够用.

它需要有人照看

写到这里, 容易把 Mini 想成一台永远安静工作的小机器. 实际上, 我们也查过它的掉线.

有一次翻启动记录和上一轮日志, 看到的是一次非正常关机留下的痕迹. 日志突然结束, 找不到对应的正常关机过程. 这些证据让供电中断、硬关机或强制复位成为可能的解释, 却不足以指认某一个外部原因.

那次让我记住, 远程能看到的东西终究有限. 有时可以确认机器发生过什么, 却还不知道机器旁边发生了什么.

所以, 给它安排工作, 也要给自己留下一点收拾局面的余地. 改之前保存旧配置, 更新后看实际服务, 同步失败就留下失败, 不让一个定时任务悄悄替我宣布成功. 暂时不用的服务停掉, 已经退役的入口清理掉. 下一次排障时, 少一个来历不明的进程, 就少一份猜测.

这些维护谈不上有趣. 相比装好一个新东西, 它们很少带来立刻可见的兴奋. 可我越来越觉得, 愿意做这些, 才算真正准备好长期使用一台常驻主机.

它替我留住工作现场, 我也得记得它需要电、网络、磁盘空间, 以及偶尔的一点耐心.

电脑可以合上了

现在回头看, Mini 的工作是慢慢添上去的.

先是一份资料, 后来是一个入口, 再后来, 连一盏灯也与它有了关系. 每一件单独拿出来, 似乎都不值得写一篇文章. 放在一起, 才看出它替我省掉了多少重新打开、重新连接、重新找一遍的动作.

我仍然会合上 MacBook. 有些事情留到明天, 有些念头过几天再说. 不是所有工作都该在夜里继续, 我也不想把每一点空闲都交给自动化.

只是那些已经安排好、确实需要继续的事情, 可以留在那里.

下一次拿起手机, 如果需要翻一页旧笔记, 那个入口还在. 如果想接着做一个项目, 工作台上也还留着上次放下的东西.

我便不用急着把电脑从包里拿出来.


本文根据截至 2026-09-19 的个人部署与使用记录整理, 不代表写作时对所有服务做了在线巡检. 私有地址、账户标识和凭据已省略.

↑ 回到顶部