顾承骁醒得比闹钟早。
不是因为睡得够好,而是窗边已经有一双冷月一样的眼睛先睁着了。白夜狼蹲在旧公寓那扇朝东的小窗前,背脊上的蓝色光带压得很低,像一截还没彻底亮起来的夜。临海市的天幕刚从灰里泛出一点白,远处高架桥下传来第一班清扫车的轰鸣,像有人在城市骨头缝里推着一天慢慢醒来。
“六点十二。”白夜狼说,“你还有四分钟迟到资格。”
顾承骁躺在床上没动,抬起一只手盖住眼睛,声音带着刚醒的哑。
“你就不能像个正常搭档一样,先说声早?”
白夜狼回过头,月白色的金属耳尖轻轻一动。
“早。”它停了一秒,又补上一句,“但你再不起来,白衬衣会来不及熨平。”
顾承骁这才笑了一声,翻身下床。
房间不大,东西也不多。靠墙的架子上放着驱动器维护盒、两本还没来得及还的旧案卷、一盆已经被他养得半死不活的绿植,还有昨晚回来时随手搁下的一小只纸袋。纸袋有点皱,提手上还挂着便利店促销的红色小票。
白夜狼看了那纸袋一眼。
“那是什么?”
顾承骁正在系袖扣,闻言偏头看它,表情有点不太自然。
“礼物。”
白夜狼沉默了一下。
“我没有生日记录。”
“我知道。”顾承骁把袖口抚平,走过去把纸袋拿起来,“谁规定只有生日才能送礼物?”
里面装的不是玩具,也不是什么高端维护零件,而是一块被他自己改过的识别牌。底板用的是一枚报废执法徽,边缘磨得很圆,正中嵌了一片很小的月白反光片,背面刻了几行歪歪扭扭的字。
——白夜夜巡,闲人让路。
白夜狼盯着那行字,蓝色光带无声亮了一格。
“这不符合标准装备规范。”
“我又没打算给你报备。”顾承骁蹲下来,抬手去碰它颈侧的卡槽,“别动,我试试大小。”
白夜狼没有躲。
它只是站得更稳了一点,任由那块月白识别牌被他卡进肩颈护甲旁边的空位。金属轻轻一扣,旧警徽和机械狼的冷白装甲贴在一起,看起来竟意外地合适。
顾承骁端详了两秒,满意地点头。
“行,还挺像那么回事。”
“像违规改装。”
“那也是我亲手改的。”他笑着拍了拍它的肩甲,“万一哪天我先被系统一脚踢出去,至少还有块牌子能证明,你跟我走过夜路。”
白夜狼安静了几秒。
它没有说“不会有那一天”,也没有说“这没有必要”。它只是低头看了看那块小小的识别牌,然后转过身,尾端轻轻碰了一下桌上的驱动器。
驱动器核心闪了一瞬,投出一条新的夜巡路径。
不是官方地图上的蓝色常规线,而是一条细得近乎隐秘的银白路线。它避开了拥堵主街,穿过几条旧巷、一家二十四小时药店、一座总爱误报的老楼,还有一条靠近排水管道边缘、常常会传来低频敲击声的窄桥。
顾承骁愣了愣。
“这是……”
“回礼。”白夜狼说,“非系统推荐路线。未登记。无授权存档。仅供你一人查看。”
顾承骁盯着那条线看了一会儿,笑意慢慢淡下来,落成一种很轻的、近乎郑重的神情。
“你现在越来越像会送礼物了。”
白夜狼语气平稳:“只是路径校准。”
“行。”他站起身,把驱动器扣回腰侧,“那我收下了。”
早餐还是楼下街角那家老店。老板娘认得他,每次看见他穿白衬衣来,都先问一句今天是不是又值夜班。顾承骁一般说“差不多”,然后拿两个肉包一杯热豆浆,再顺手带一份没什么必要、但他总会买的卤牛肉边角料。
白夜狼蹲在靠门的位置,脊背灯带压得很暗,尽量不引人注目。
老板娘起初怕它,后来熟了,偶尔还会多送一小碟切碎的肉,说是“给你家大狗的”。
顾承骁一开始纠正过几次,说这不是狗。后来发现纠正没用,也就由着去了。
他把卤肉碟推过去。
白夜狼低头嗅了嗅。
“油脂过量,盐分偏高,不建议列入长期补给。”
“尝一口又不会工伤。”
“我没有进食刚需。”
“可你每次都会吃第二口。”
白夜狼抬眼看他。
顾承骁咬着包子,含糊地笑:“我有证据。”
它最终还是低头咬了一小块。机械颌部的咬合声很轻,几乎像某种精密仪器的确认键。咽下去以后,它停了两秒,像在分析。
“味道怎么样?”顾承骁问。
“不稳定。”白夜狼说,“但比标准营养膏更像活着的东西。”
顾承骁笑得差点呛着,赶紧低头喝了口豆浆。
“你这评价挺高。”
“这是事实,不是评价。”
吃完回去,他没有立刻出门,而是把维护箱搬到客厅地板上。
白夜狼昨夜在旧城区跑得太深,后腿护甲外侧蹭出一道细裂。裂口不大,不影响行动,但顾承骁看见就手痒,不处理掉总觉得心里别扭。白夜狼大概也知道他这毛病,进门后就自觉在地毯边趴下来,把受损那一侧转向他。
顾承骁蹲下去,戴上薄手套,用小号拆解钳一点点撬开外壳卡扣。
“你们维护中心没教过你们自己别乱修吗?”白夜狼问。
“教过。”顾承骁头也不抬,“还教过值班骑士不要把私人维修工具带回家,不要私改驱动器,不要走非系统路线,不要在下班时间继续看案卷。”
“你几乎全犯了。”
“所以我现在还住这种老公寓。”他笑,“一看就是前途有限。”
白夜狼没接这句。
它低头看着他手上的动作。顾承骁手很稳,拆件、清灰、补缝、重新压合,每一步都做得熟,像不是在修一只机械狼,而是在给某位沉默寡言的老搭档处理擦伤。
修到一半,白夜狼忽然说:“你左肋昨夜撞伤了。”
顾承骁动作一顿。
“这你都记着?”
“你呼吸时会短暂停半拍。”白夜狼平静道,“出拳幅度也比前天少三厘米。”
顾承骁叹了口气。
“你有时候真不讨喜。”
“但判断准确。”
“这倒是。”
白夜狼抬起前爪,把一支小型医用喷雾从维护箱另一格拨出来,推到他手边。
顾承骁看着那瓶喷雾,半天没说话,最后还是认命地接过来,掀起衣摆对着侧肋喷了一下。药雾冰得他倒吸口气。
“你现在也越来越像我爸了。”
“如果你的父亲能有效降低你未来二十四小时的动作迟滞,我不介意这个类比。”
顾承骁忍不住笑。
阳光一点点从窗边挪进来,落在地板和白夜狼的爪边。那块新装上的小月牌也反了一道很淡的光。顾承骁重新扣好最后一枚卡扣,伸手在它颈后拍了拍。
“好了。”
白夜狼站起来,轻轻抖了一下肩背。护甲重新咬合的声音干净利落,像一场小小的确认。
它绕着客厅走了一圈,停下。
“修复完整。”
顾承骁把工具一件件收回盒里,头也不抬地说:“那当然,我手艺一直不错。”
“你上次装反了一枚感应片。”
“那是意外。”
“你还让它短暂把拖把识别成可疑目标。”
“……你记性能不能别这么好?”
白夜狼眼里的月色似乎浅浅亮了一下。
上午本来难得没任务。
顾承骁洗完杯子,刚打算把昨夜带回来的执法记录再过一遍,终端就响了。不是正式强制派遣铃,而是一条低优先级社区协查提示。
【旧城区十九巷,疑似设备误报。】
【目标类型:老式机械肺居家终端异常。】
【危险评估:低。】
【建议:移交社区维护,延后处置。】
顾承骁盯着屏幕看了两秒。
“设备误报。”
白夜狼站到他身边,蓝色光带轻微流动,开始同步读取那条信息。
“系统判定为低优先级。”它说,“建议等待两个小时后的民用维护班。”
顾承骁没动。
“但?”
白夜狼沉默了很短的一瞬。
“音频底噪里有人为压低的呼吸声。”它说,“还有第二个心跳,频率偏快。”
顾承骁已经去拿外套了。
“那就不是设备误报。”
“按流程,你现在没有被要求前往。”
“嗯。”
“按规定,你可以把判断上交,等待值班组接手。”
顾承骁把白衬衣最上面那粒扣子扣好,低头抚平衣领。动作很慢,也很熟,像每一次真正要往脏地方去时那样,先把自己收拾干净一点。
“你知道的。”他说。
白夜狼看着他。
“我知道。”
十九巷比系统地图上更旧。巷口监控坏了一半,路灯白天也亮着,明明是早晨,光却灰得像前一夜还没退完。楼道窄,电梯停在四楼不动,墙上贴着几张早已过期的社区维修告示。
顾承骁跑上楼时,白夜狼先一步跃到走廊尽头,耳尖立起,锁定一扇虚掩的门。
门里传来压得很低的咳嗽声,还有金属过滤器过载后断断续续的嗡鸣。
顾承骁推门进去,看见一位上了年纪的女人靠在椅边,胸口连着老式机械肺接口,脸色已经有些发白。旁边站着个十来岁的小男孩,手里抱着拆开的滤芯,眼圈急得通红,却死死忍着没哭。
“别怕。”顾承骁半蹲下去,先看接口,再看呼吸阀,“社区没来?”
女人勉强笑了一下,声音发虚:“终端说……已受理。”
白夜狼已经绕到设备后方,伸爪拨开外壳。
“不是误报。”它冷静道,“过滤芯老化,回路堵塞。再延后二十七分钟将出现低氧性昏迷。”
顾承骁立刻动手,把备用滤芯接上临时接口。男孩想帮忙,手抖得厉害,递工具时差点掉在地上。顾承骁接过来,顺手拍了拍他的肩。
“做得很好了。”
小男孩怔了怔,像没想到会先听见这句。
两分钟后,机械肺重新顺畅运转,女人的呼吸终于稳下来,脸色慢慢回了一点血色。她靠在椅背上,像从水底被捞上来似的,闭着眼缓了很久,才低声说谢谢。
顾承骁没有立刻站起。
他看见桌上摆着一张维修申请回执,申请时间是昨晚十一点四十。终端底部还跳着一行极小的灰字:因区域响应等级调整,您的请求已自动延后。
他眼神沉了一寸。
白夜狼也看见了。
“需要上传异常判断吗?”它问。
顾承骁沉默两秒,把那张回执拍了照,又把终端延后提示完整录入自己的私人备份。
“传。”他说,“但先传给我自己。”
白夜狼没有多问。
它只是把那份数据分出一条未公开副本,单独锁进那条新生成的夜巡路径里。
小男孩站在旁边,一直盯着它看。等顾承骁起身时,他才小声问:“它是警犬吗?”
白夜狼抬头看他。
顾承骁笑了一下:“比警犬贵。”
男孩被逗得终于笑出一点声,随后又看见那块挂在它肩甲边的小月牌,忍不住伸手指了指。
“这个也是你给它的吗?”
顾承骁低头看了一眼,嗯了一声。
“好看。”男孩说,“像真的会走夜路的东西。”
顾承骁没有接话。
他只是伸手摸了摸白夜狼的后颈。隔着装甲,指下仍能感觉到一点冰凉又稳定的触感。
出楼时,旧城区开始下雨。
雨不大,却密,落在水泥台阶上很快积出一层薄薄的亮。顾承骁没撑伞,白夜狼也不需要。它沿着楼梯往下走,金属爪尖落在积水里,留下一串极浅的月白印子,又很快被新的雨点打碎。
顾承骁走在它旁边,忽然开口。
“今天这条路,不在系统推荐里。”
“是。”
“也不在我值班表里。”
“是。”
“但我们还是来了。”
白夜狼看着前方被雨冲得发亮的旧巷,声音低而平稳。
“因为这里有人。”
顾承骁笑了笑,把外套领口往上提了一点。
“你现在说话越来越像个正常搭档了。”
白夜狼没有否认。
雨一路跟着他们回到公寓楼下。顾承骁先把白夜狼带进浴室,拧开温水,半蹲着把它爪缝里的泥和旧巷里的灰一点点冲掉。白夜狼站在那儿,偶尔甩一下尾巴,水珠溅到顾承骁裤脚上,像一场很克制的报复。
“别乱动。”顾承骁说。
“你也在淋雨。”
“我等会儿再洗。”
“优先级错误。”
顾承骁笑出了声。
“行,那下次咱俩一起排队。”
白夜狼没再说话,只安静低着头,看他把自己每一道关节都冲净。等顾承骁终于把毛巾搭到它背上,它肩甲边那块小月牌已经被洗得发亮,静静贴在冷白装甲旁边,像某种很笨、却也很真的归属证明。
夜里,顾承骁洗完澡出来,头发还滴着水,人已经困得眼皮发沉。
他把今天新备份的那份延后维修记录锁进私人档案,又抬头看了眼桌边的驱动器。那条白夜狼给他的非系统夜巡路径还静静亮着,像一根细细的银线,穿过城市地图上那些常被忽略的角落。
顾承骁靠在沙发里,声音有点低。
“你说,这城里到底还有多少这种‘设备误报’?”
白夜狼趴在门边,抬起眼。
“很多。”
“那你今晚还守吗?”
“你明天没有正式值班。”
顾承骁闭着眼笑了笑。
“我问的是你。”
白夜狼安静片刻,目光越过他,看向窗外被电子暮色和细雨一起浸湿的夜。
“月光会迟到。”它说,“但不会撤岗。”
顾承骁没再应声。
他已经快睡着了,手却还搭在腰侧驱动器边,像哪怕在梦里也准备听见某个不合规的求救。
白夜狼守在门口,没有动。
楼下雨声未停,旧城区的夜路一条一条浸在水里,像很多还没被写进报告的句子,安静等着有人经过。
而那块小小的月白识别牌,在黑暗里反出一点很淡的光。
像有人认真地替一场又一场夜巡,留下了名字。