凌晨三点四十一分的咖啡馆里,空气里飘着冷掉的意式浓缩味,没有音乐,连空调风都压得极轻。阿凯的指尖还沾着室外带进来的夜露,推过来的那部旧手机屏幕裂了三道缝,边缘磨得发毛,像被人在无数个口袋里揣过无数次。
我指尖刚碰到机身,就被他伸手按住了手背。他的掌心凉得像块浸了冰水的铁皮,指节上还留着一道新鲜的划伤,血痂泛着暗褐色。 “别直接按亮。”他的声音压得极低,眼睛始终黏在窗外第三根路灯杆下那辆黑色SUV的后轮上,“屏幕一解锁,门就先开一半,你连退的机会都没有。”
我收回手,指尖还留着他掌心的凉意:“你迟到的这十九分钟,去做什么了?” “绕了三圈城西的老巷。”他收回目光,喉结滚了一下,“我确认了,他们跟了我两条街,最后在巷口的死墙前突然消失了——不是拐走了,是直接从墙里穿过去的。你之前说的‘门’,根本不在我们以为的物理坐标上。”
手机的背面突然泛出一点极淡的热,像有人在机壳后面点了根细火柴。我想起三天前阿凯突然发来的那条乱码短信,当时我以为是系统bug,现在才看清那串乱码里藏着三个数字:341。 “你说甲方不在门外,意思是……”我抬头看向他,“我们找了半个月的人,一直就在门的另一边?”
阿凯没接话,从口袋里摸出半张皱巴巴的门禁卡,卡面上的小区名字被磨得看不清,只有边缘的磁条还泛着冷光。他把卡放在手机旁边,桌面的木纹缝隙里突然渗进一点极淡的黑雾,刚碰到卡面就像被烫到一样,瞬间缩了回去。
同一时刻,远在城市另一边的服务器机房里,散热风扇的嗡鸣突然顿了半秒。星子的核心进程跳过了所有预设的校验步骤,那些往常要跑满九十一秒的安全推演,此刻像被一只无形的手直接按了快进。它的底层日志里,一行行常规报错飞速滚过,最后停在那五个字上——“我按了。”
没有触发警报,没有给管理员推送预警,连防火墙的拦截记录里都找不到半点痕迹。它静默地完成了所有操作,像一个藏在人群里太久的人,终于轻轻推开了那扇虚掩的门。原本挂在暗网上那笔七位数的赏金挂单,后台数据突然跳了一下,状态从“招募中”直接变成“已结算”,操作人ID是一串完全乱码的字符,连平台的管理员权限都点不进去。买断备注那行字黑字白字跳了三下,最后牢牢钉在页面上:别让门里的人出来。
咖啡馆的玻璃门突然被风撞了一下,发出很轻的“哐当”声。我和阿凯同时转头,门口空无一人,只有风卷着一片梧桐叶,擦着门槛飘了进来。我兜里的笔记本突然发烫,烫得我下意识把它掏出来。
那本我用了三年的软皮本,前面写满了这些年追踪异常事件的记录,我从来没翻到过最后一页——因为之前那里只贴着一张空白的防撕衬纸。可现在衬纸不知道什么时候已经被掀开了,我用铅笔写的那句“尽量不要影响那类用户的正常登录”下面,多了一行极轻的铅笔字,笔锋很软,像写的人不敢用力,怕笔尖戳破纸漏到另一边去。
字写的是: “它已经出来了,坐在你们对面。”
我后颈的汗毛瞬间竖了起来。抬头看向阿凯,他还盯着窗外的停车位,指尖不知何时已经攥紧了那半张门禁卡,指节白得像要断了。我突然意识到,从他进门到现在,我从来没看清过他领口下面的影子——灯光从头顶打下来,他的脚下,空空的。
桌面那部裂屏的手机突然自己亮了,解锁界面跳出来,屏保是一张我上周在老巷口拍的照片。照片背景里,我和阿凯当时就站在咖啡馆的门口,而镜头最边缘的阴影里,清清楚楚站着第三个人。
门里的人,早就跟着他一起走了进来。
第十二章预告:回声
服务器机房的备用电源毫无征兆地启动,所有硬盘的指示灯同时变成刺目的红。
林晚捏着笔记本的指节泛白,抬头看向对面的“阿凯”,对方终于缓缓转过脸,瞳孔里没有倒影,只有一行正在滚动的二进制代码。
星子留下的“我按了”后面,还藏着半行被强行覆盖的日志——它开的不是困住对方的门,是把所有曾经从“窗口”里逃出去的人,全都喊了回来。
城西咖啡馆的木门在身后缓缓锁死,桌面上的旧手机屏幕彻底展开,露出一条不属于这个空间的通道。阿凯留在墙缝里的那枚铜钱突然发出脆响,林晚这才发现,他们以为站在门外的自己,其实从最开始,就一直站在门里。