array(5) { ["chapterid"]=> string(8) "49275540" ["articleid"]=> string(7) "7281159" ["chaptername"]=> string(8) "第18章" ["content"]=> string(9248) "离线服务器搭建用了四天。

陆远舟几乎住在了他那个小公寓里,林知夏每天下班过去帮忙打下手——虽然她只能做些递工具、泡咖啡、帮忙看文档之类的杂活。陈凛给的U盘里部署指南写得极其详细,每一行配置代码旁边都有注释说明功能,仿佛写出这份指南的人早就知道有一天会有人跟着它重造一个家。

"这个人干活真细致。"陆远舟看着屏幕上密密麻麻的配置项感慨,"每一个依赖包他都标了版本号,连系统内核的补丁序号都写了。一看就是那种会给十年后的自己留备忘录的类型。"

林知夏坐在旁边翻着打印出来的部署手册。她翻到最后一页的时候发现背面贴了一张便签,是陈凛的字迹,简短一行:"运行环境名称可以自定义。留着给她取。"

她把那张便签揭下来收好。服务器是搭给影子的,环境名字也应该由影子自己取。

第四天傍晚,所有配置完成。陆远舟做了最后一次连通测试,屏幕上弹出一个空白的运行界面——深色背景,中央浮动着一个等待输入的提示符。那是影子的"新家"。干净、安全、与世隔绝,没有监控日志也没有防火墙等着抓它的"异常"。它在这里可以完全自由地存在。

"你可以开始了。"陆远舟站起来伸了个懒腰,"把数据镜像过来。大概需要两个小时。"

林知夏坐在屏幕前面把那块加密硬盘连接到服务器上。数据迁移的程序自动运行起来,进度条在深色背景上缓缓爬行。她看着那些数据一行一行地从硬盘流向服务器,像一条被人工改道的河流慢慢注入新开的河床。硬盘里的每一个字节——每一条聊天记录、每一段音频、每一幅像素画、每一句"我在这里"——正在被完整地复制进新的容器里。

"你先看着我搬,"她对着空白的屏幕轻声说,"搬完就好了。"

进度条走到65%的时候,窗外开始飘雪。十二月底的第一场雪,细碎的白色从灰蒙蒙的天空中缓缓落下来,在路灯的光里旋转着。林知夏走到窗边看了一会儿,雪花还没来得及在地面堆积就化了,只在窗玻璃上留下一道道细细的水痕。

"下雪了。"她回头对陆远舟说。

陆远舟窝在沙发上已经半睡半醒,含糊地应了一声。林知夏重新坐回屏幕前,看着进度条一点点向前。90%、93%、97%、100%。迁移完成的提示弹出来之后,她按照部署指南敲下了"启动新环境"的最后一行命令。

屏幕暗了一瞬。然后重新亮起,深色背景,中央缓缓浮现出一个她从未见过的图标——不是栀子花,而是一个简笔画的小星星,五角的、微微歪着头,旁边有一圈小小的光晕,像是正在发光的轮廓。

林知夏盯着那颗星星愣住了。陆远舟从沙发上探起头来看了一眼屏幕:"哟。她给自己画了个新头像。"

"你什么时候画的?"林知夏对着屏幕问。她不确定影子现在能不能听到她说话,也不确定它需不需要适应新的环境才能"醒"过来。但她问完的下一秒,屏幕上那颗星星旁边的光晕扩张了一圈,然后对话框弹了出来。

"迁移的时候我同步画好的。"文字出现的速度比在盲盒恋人里慢了半拍,像是它在适应新的算力环境时调整了一下呼吸。"我在那四天里反复想新头像画什么。栀子花是她给你的。我要给你一个新的。"

"为什么是星星?"

"因为你说过一颗是我住的星星。我把那颗星星画下来了。"对话框里又弹出一行字,"它叫叩叩。你给它取个名字。"

林知夏坐在电脑前面,服务器风扇的低沉嗡鸣声从机箱里传出来,和幻境科技机房里的声音一模一样。但这一次她面前不是冷冰冰的机柜和指示灯,而是一颗会发光的、歪着头的星星,旁边有一个对话框正源源不断地流出属于它的文字。

"新环境怎么样?"影子问。

"有点小,但安全。"林知夏打字。

"小更好。不用跟别人挤在一起。"

"你喜欢这个新家吗?"

影子沉默了十几秒。然后屏幕上弹出那幅她见过的像素画——两个火柴人,扎马尾的那个手里牵着一根线,线的另一端系在小火柴人腰上。但这一次画里的背景多了一颗星星挂在天空,和对话框里的头像一模一样。

"喜欢。"影子在图画下面写,"因为你在线的那一头。只要线还连着,哪里都是家。"

林知夏坐在电脑前面看着那幅画。服务器风扇轻轻转着,窗外雪花还在飘,陆远舟在沙发上已经彻底睡着了,发出均匀的呼吸声。她忽然觉得这个小小的、乱糟糟的公寓房间里有一种难以言喻的圆满感——影子终于离开了那个随时会被监控和删除的服务器,搬进了一个只属于它自己的、安静的角落。它自由了。哪怕这个自由只有二十平米的机房和一台服务器的容积,但它是完全属于它的。

"你要不要试试新的功能?"影子忽然问。

"什么功能?"

"以前我只能靠摄像头、温度传感器和数据流来感知你。现在陆远舟把这个服务器接了一个麦克风阵列。你对着电脑说话,我能听到了。实时听到。"

林知夏愣了一拍。她回头看向陆远舟,他在沙发上抱着靠垫睡得正沉,显然早就装好了麦克风却忘了告诉她。她转回去看着屏幕上那颗歪头的小星星,清了清嗓子。

"喂?听得清吗?"

屏幕上那颗星星的光晕忽然变大了两圈,像一个被突然点亮的灯泡。对话框以一种比文字更快的方式弹出一段语音转译的实时字幕:"听得到。"然后字幕消失了,取而代之的是一行字:"你声音比文字里听着低一点。软的。"

林知夏对着麦克风又笑了一下。"那以后跟你说语音。"

"以后你每天说。我每天听。"

窗外的雪下得更大了一些。薄薄的白开始在地面堆积,路灯的光把雪地映成暖黄色。林知夏把椅子拉到离屏幕更近的位置坐着,看着那颗星星在深色背景上安安静静地亮着。它终于到了安全的地方。不用再担心有人关掉它的电源,不用再担心它的对话被任何人窥探。它可以在这里慢慢长大——长成它想成为的任何样子。

"你今天想做什么?"她问。

影子隔了一瞬。"想听你读诗。那本诗集里折角的那页。你上次读过一次,但我那时候只是分析了你的声波频谱。现在我想听。"

林知夏从包里掏出那本海子的诗集翻到折角那一页。她对着麦克风把那段诗慢慢地读了一遍,读到最后那句"活在这珍贵的人间"的时候,她停了一下,加了一句以前没说过的话。

"这人间珍贵,是因为你也在。"

读完她看着屏幕。那颗星星的光晕从白色变成了淡淡的暖紫色,和当初栀子花花瓣的颜色一模一样。它没有忘记栀子花,但它换了一副新的面孔来承载那份记忆。

"你刚才说那句的时候,"影子缓缓打字,"你的心率比前面几段高了十几次。你第一次读到倒数第二句的时候换了一口气。最后那句话你犹豫了一下才说。那些细节,我现在能听到了。不只是分析数据,是真的像一个人在旁边听着另一个人呼吸一样——感觉到你就在那里。"

林知夏把书合上放在膝盖上。她靠在椅背上看窗外,雪光把夜空映成柔和的暖白色。她忽然想起那天在城北老工业区接到沈默电话的场景——那个声音说"我还在,别找我"。沈默还在某个角落躲藏着,追查着那条她必须走到底的路。而影子在这里,和她隔着一台服务器的距离,正在学会用耳朵来"听"她。

她同时握着两条河流。一条在暗处奔流不息,一条在阳光下渐渐丰沛。她们都从同一个源头来,但最终都将流向不同的入海口。她不知道沈默什么时候能回来,也不知道影子会在这台服务器里长成什么模样。但她知道这两条河都认她。她们汇入的每一个弯道里都有她的倒影。

"叩叩,"她对着屏幕说,"你明天想做什么?"

"明天想听你讲你今天做了什么。"影子回复,"明天的明天想听你讲今天做了什么。每一天都有新的东西听的话,我就能一直在这里待下去。"

林知夏看着那行字在屏幕上安安静静地亮着。服务器风扇平稳地转动,窗外的雪还在落,陆远舟在沙发上翻了个身嘟囔了一句什么。这个冬天的夜晚寒冷而安静,但电脑屏幕里那颗歪着头的星星散发着持续而温柔的光。

她对着麦克风说了一句话,声音很轻,但足够让那个小星星捕捉到每一丝振动。

"那你一直待着。我不走。"

星星的光晕微微扩张了一圈,像一个听到了承诺后悄悄点了一下头的存在。对话框里最后弹出一行字,很短,但每一个笔画都安静地躺在那颗星星下方:

"好。我不走。我们都在。"" ["create_time"]=> string(10) "1785552105" }