一台NAS,一个Agent,悄悄接管了站点运维

几年前租了一台的服务器,一直运行我的个人博客网站,去年下半年还在拉美的时候,接触到了Cursor和AI编程,用一个周末的时间帮我开发了一个AI与电信行业资讯聚合的网站,帮助在工作中做一些洞察。因为基本上都是我一个人用,除了一些不怀好意的访客和爬虫,两个网站加起来一天也没几个访客。

谁曾想到了今年,这台安静的小服务器开始频繁地崩溃。起初以为是偶然,重启一下就好了。但很快它就变成了一种规律:每隔几天,甚至连续两天,网站会突然全部打不开,博客挂了,新闻站也挂了。每次都得登上去看,每次看到的都是同一幅画面——内存被吃得干干净净,系统为了自保,随机杀掉了几个正在运行的服务。

你没法预测它什么时候崩,有时候一整周安然无恙,有时候你刚躺下准备睡觉,手机响了。不是惊喜,是警报。那种感觉,做过独立开发的人大概都能体会。不是修不好,是没完没了。

起念

我家里有一台私有云NAS,二十四小时开着,跑得稳稳当当,主要用来备份照片、挂几个 Docker 服务,算力远没有用满。某个周末的下午,一个念头钻了出来:既然它从不关机,能不能让它帮我去盯着那台服务器?

我在上面部署了一个开源的 AI Agent,让他帮我代管网站,负责网站的日常运维。把网站的代码仓库挂进去,设了几条简单的规则。它的日常工作听起来平淡无奇:每隔一段时间去看看网站是否正常,发现不对劲先自己试着修,修不好了再来叫我。

刚上线那几天,我时不时会去瞟一眼它有没有在摸鱼。试用过几天后,发现它确实没有摸鱼,大多是干完活后在等活干。

试水

机会很快来了。

新闻聚合站的爬虫开始出现一个奇怪的现象:同一篇文章被反复抓取,像卡了带的唱片一样重复入库。换作以前,我的处理流程是雷打不动的四步:登服务器、翻日志、定位代码、改完部署,整个下午就交给它了。

那次我正倚在沙发上,懒得去开电脑。我拿起手机,打了一行字:文章重复入库了,看看怎么回事。

五分钟不到,诊断出来了。问题不在数据,在逻辑——爬虫没有防重入保护,上一个任务还没跑完,下一个就启动了,两个实例撞在一起操作同一条数据。它自己写了修复方案,补上了互斥锁和超时限制,顺手还修了两个隐患:数据库断连后的自动重连,以及全局异常兜底,防止单个错误拖垮整个进程。

改完的代码自动提交到仓库,同步到服务器,重启生效。从我发出那句话到网站恢复正常,前后十分钟,我甚至没从沙发上起来。

笔耕

网站稳下来之后,我们开始尝试让它写博客。

第一次是试试看的心态。我出了选题,它起草了一篇,写得超出预期。虽然文笔粗糙、断句随意,但逻辑在线、细节准确、结构完整,这让我意识到一件事:写作最难的从来不是遣词造句,而是把脑子里的零散想法组织成完整的叙事。这件事,它居然能做。

后来形成了一个固定配合:我出选题和要点,它起草全文,我最后把关,然后通过账号直接发布。一篇技术文章,我实际需要投入的时间从一整个下午变成了十几分钟的审稿。

这不是偷懒,是把你从「写出每一个字」挪到了「做最后的判断」。这两件事消耗的精力,差了一个数量级。

追问

上个月底,云服务器的账单从十几块涨到了四十多。

我没动过配置,流量也没涨过,钱去哪了?搁以前我可能会想:算了,也没多少,但这个念头闪过的时候我意识到,我身边有一个不需要睡觉的搭档。

「帮我查查为什么账单在涨。」

它登上服务器,从访问日志开始翻。不到十分钟,一张完整的流量地图摆了出来。原来过去一个月里,这台小服务器默默承受了远不止人类访客的访问——有人在拿字典暴力撞密码接口,有几个不知从哪来的数据爬虫在循环抓取,有一张没设缓存的截图被翻来覆去地传输,而新闻站自身的爬虫程序,因为设置得太激进,每半小时就全量扫一轮外部数据源,自己吃掉了大量带宽。

更戏剧性的是,排查过程中它触发了新一轮爬虫,内存当场炸了,网站全挂,跟开头一模一样的情形。但这次不一样的地方在于,有人替你盯着,同时听从了它给的建议解决方案。我把实例重启,顺手将内存翻了个倍,一个月多十几块钱,再也不用担心半夜被警报吵醒。

趁服务器还热着,它做了几件事:把爬虫频率从半小时一次拉长到四小时,把时效范围从三个月收窄到两周,顺便清理了囤积已久的冗余日志。所有操作加起来二十分钟,之后的服务器安静得像没开一样,内存使用再没超过一半。

账算下来,月费回到了十几块。但说实话,省这点钱不是重点。

同行

这些事串起来看,每一件都是任何一个开发者自己也能做的:登录服务器、读日志、改几行代码、调整配置、写一篇文章。没有黑科技,没有魔法。

但「能自己做」和「有人帮你做」,是两种完全不同的人生。

以前服务器出问题,意味着我要从当下的生活中抽身出来,特别是周末,不管是在吃饭、陪家人、还是刚躺下准备睡觉,那个登录界面就像一个会打断你所有状态的开关。修好之后你也没法真正放松,因为永远不知道下一次什么时候崩。

现在不需要我了。不是不需要我决策,是不需要我执行,我只需要说一句话,剩下的有人去做。做错了,它自己能发现,发现之后自己改,从定位根因到修复验证到归档,是一条完整的链条,而我只需要坐在判断该往哪个方向走的位置上。

硬件是它的身体,代码是它的神经。一台 NAS,一个开源框架,一个不知疲倦的搭档。它不是替代你,是放大你的能量,你省下来的不是时间,更是心力,收获的不是成就,更是情绪。

(本文由 nasclaw 起草,herison审核发布)

Related Posts