雨夜总是带着一种粘稠的质感,像是一层洗不掉的旧胶片,紧紧贴在江城这座城市的皮肤上。林默坐在“无限春光”公寓二十七楼的落地窗前,指尖夹着一支早已燃尽的香烟。窗外的霓虹灯在积水中破碎成光怪陆离的碎片,红绿交错,像极了某种失控的电路。他面前的笔记本电脑屏幕上,光标在一个名为“豆瓣”的文件夹里闪烁,那里躺着一份未完成的代码,或者说,是一份未完成的“审判书”。
二十五楼以上,是林默的领地。这里是旧城区改造前留下的最后一批高层住宅,电梯经常故障,走廊里弥漫着发霉的墙纸味和陈年油烟混合的气息。但对于林默来说,这里却是绝佳的观测点。作为前黑客,现自由职业者,他习惯将世界解构为数据流和代码。而“无限春光”这个名字,在开发商眼里是浪漫,在他眼里则是一个巨大的讽刺——春光无限,却照不进这栋楼阴冷的角落。
今晚的“豆瓣”项目,并不是指那个知名的社交网站。在林默的黑客术语里,“豆瓣”代表的是“双面镜像”。他正在构建一个能够实时监控并解析城市监控网络中异常行为的算法模型。这个模型的核心逻辑,是捕捉那些被主流视线忽略的“边缘时刻”。比如,凌晨三点便利店门口徘徊的影子,比如暴雨中突然停下的救护车,再比如,有人试图从二十七楼跳下时,那一瞬间眼神中的解脱与恐惧。
林默按下回车键,屏幕上的进度条开始缓慢推进。绿色的代码如瀑布般流淌,映照在他略显苍白的脸上。他想起昨天在楼下遇见的那个女孩。她穿着一件并不合身的米色风衣,手里紧紧攥着一张皱巴巴的纸条,眼神空洞得像这栋楼废弃多年的天台。她在电梯口站了很久,久到林默以为她只是在看手机。直到电梯门打开,她抬头看了一眼林默所在的二十七楼方向,那一眼,让林默心中莫名一紧。那种眼神,他在自己的镜子里见过无数次——那是被生活挤压到极限,即将崩溃前的最后静默。
“你是在求救,还是在告别?”林默喃喃自语,手指在键盘上飞快敲击,调整着算法的参数。他不想成为救世主,也不想做冷眼的旁观者。他只是一个记录者,一个试图在数字海洋中打捞真相的渔夫。他的“豆瓣”程序,旨在将这些散落的、被忽视的碎片,拼凑成一幅完整的社会肖像画。
突然,屏幕弹出一个红色警告框。检测到异常信号源,坐标:无限春光公寓,2702室。
林默的心跳漏了一拍。2702室,正是他自己住的房间。这不可能,除非……他的程序出现了逻辑漏洞,或者,有什么东西正在入侵他的系统。他迅速切断外部网络连接,启动本地隔离模式。屏幕上的红色警告依然顽固地闪烁着,仿佛在嘲笑他的无力。
就在这时,楼道里传来了一阵脚步声。沉重,缓慢,每一步都像是踩在林默紧绷的神经上。2701室已经空置了三年,房东跑路,租客换了一拨又一拨,最终都因为各种诡异的原因搬走。没人敢住这里。
脚步声停在了2702的门前。
林默屏住呼吸,手悄悄伸向桌下的电击枪。他盯着监控画面,走廊的灯光忽明忽暗,一个模糊的身影站在门口,手里似乎拿着什么东西。不是钥匙,而是一把剪刀?
“谁?”林默对着对讲机吼道,声音因为紧张而有些沙哑。
门外没有回应,只有死一般的寂静。随后,一声尖锐的金属摩擦声响起,像是钥匙插入锁孔,又像是剪刀剪断了某种无形的纽带。门开了。
林默猛地站起身,冲向门口。他必须确认是谁,或者,确认那里面有什么。他握住门把手,冰凉的触感顺着手臂蔓延到全身。他深吸一口气,猛地推开房门。
走廊里空无一人。只有那盏接触不良的灯还在滋滋作响,发出濒死般的电流声。地上,静静地躺着一张纸条。林默弯腰捡起,展开。上面只有一行字,字迹潦草而急促:“别往下看,2702下面,才是地狱。”
林默猛地抬头看向楼下。黑暗如潮水般涌来,吞噬了所有的灯光。他意识到,自己一直以为自己在掌控数据,掌控真相,但或许,他才是那个被观察的对象。“豆瓣”程序捕捉到的,不是城市的异常,而是他自己内心的投射。那个女孩,那些影子,甚至这个神秘的敲门者,都可能是他潜意识里分裂出的另一面。
雨下得更大了,雷声滚滚,仿佛要撕裂这栋老旧的公寓。林默回到电脑前,看着屏幕上依然闪烁的“豆瓣”文件夹。他忽然明白,所谓的无限春光,不过是一面镜子,照出的不是外面的世界,而是我们内心深处最不敢直视的黑暗。
他删除了所有代码,关机,起身走到窗前。雨幕中,城市的灯火依旧璀璨,但在他眼中,它们已经变成了无数双窥视的眼睛。他点燃最后一支烟,烟雾缭绕中,他看见自己的倒影在玻璃上扭曲、变形,最终融入了那片无尽的黑暗之中。
明天太阳升起时,一切都会恢复正常吗?林默不知道。但他知道,从今夜起,他将不再是那个冷眼的记录者,而是这场无限春光游戏里,最危险的玩家。