项目截止日前的办公室,像一锅即将煮沸的浓粥。空气里弥漫着咖啡因过度代谢后的酸腐气、外卖餐盒里冷掉的油脂味,还有几十号人挤在一起呼吸产生的、带着焦虑的沉闷。键盘敲击声噼里啪啦,密集得让人心慌,偶尔夹杂着几句压低声音的争执,关于某个功能点的实现方式,或者某段文案的措辞。
陈屿把自己缩在工位的隔断后面,眼睛死死盯着屏幕上那份庞大的共享需求文档。他是这个“天穹”项目的主力前端,此刻正核对最后一批交互细节。文档悬浮在浏览器标签页里,背景是协同办公软件熟悉的淡蓝色界面,密密麻麻的文字、图表、截图挤在一起,像一片信息的丛林。
他揉了揉发胀的太阳穴,端起手边那杯已经凉透的速溶咖啡,灌了一大口。苦涩的液体滑过喉咙,没能带来丝毫清醒,反而让胃里一阵翻滚。连续两周的996,他的神经像一根绷到了极限的橡皮筋,随时都会断裂。
他移动鼠标,将文档滚动到“用户登录与鉴权”模块,准备确认一下第三方授权回调的细节。目光扫过一行行描述,手指在键盘上无意识地敲着。
突然,他的动作顿住了。
文档里,在描述微信授权登录流程的那一段落后面,多出来一行字。
一行他确定、肯定以及断定,几分钟前绝对不存在的字。
字体、字号、颜色,都和周围的文档内容一模一样,用的是最普通的宋体,小四号,黑色。但它出现的位置极其突兀,内容更是让人摸不着头脑:
“祂在看着入口。”
陈屿愣住了,第一反应是哪个同事手滑,或者恶作剧,在文档里乱打字。他下意识地看向文档右侧的实时协作头像列表——只有三四个亮着的彩色圆圈,显示着正在编辑的同事名字,离这个段落都很远。
他皱了皱眉,移动光标,选中这行莫名其妙的文字,准备删除。
就在他按下退格键的瞬间——
那行字,在他眼前,如同被无形的橡皮擦抹去一样,瞬间消失了。
不是被他的退格键删掉的,因为他的手指才刚刚按下去,甚至还没完全发力。
是它……自己没了?
陈屿的手指僵在键盘上,心里掠过一丝极其细微的、说不清道不明的异样感。是网络延迟?还是这破协同软件又抽风了?他最近确实遇到过几次编辑冲突或者内容丢失的bug。
他甩了甩头,没太在意,只当是个小插曲,继续往下看文档。
几分钟后,当他核对到“个人中心-设置页面”的功能描述时,那种异样感再次袭来。
在列举“推送通知管理”的选项时,文档里清晰地写着:
“1.接收所有通知”
“2.仅接收重要通知”
“3.关闭所有通知”
而在第三条后面,又凭空多出了一行:
“4. 接收祂的通知”
陈屿的后颈窝猛地一凉!又是“祂”!
这次他看得清清楚楚!这行字绝对不是之前就有的!
他猛地坐直了身体,心脏不受控制地加快了跳动。他立刻点击这行字,想看看编辑记录。协同软件通常会显示每一段内容的最后修改者和时间。
然而,鼠标悬停上去,弹出的提示框里,编辑者信息那一栏,是空的。修改时间,则显示着“刚刚”。
空的?怎么可能?只要是编辑,就一定有来源!
他立刻在文档的全局聊天框里输入:“谁在文档里乱加东西?什么‘祂’不‘祂’的?别捣乱,赶时间!”
消息发出去,几秒钟后,有同事回复:
“?”
“啥东西?”
“没看见啊。”
“屿哥你是不是太累了?”
陈屿死死盯着那行“4. 接收祂的通知”,它就像文当皮肤上长出的一块丑陋的瘢痕,刺眼地存在着。他再次尝试删除。
和上次一样,就在他按下退格键的刹那,那行字瞬间消失,仿佛从未出现过。
一股寒意,顺着他的脊椎悄然爬升。
不是bug。bug不会这么有“针对性”。这像是……某种刻意的、捉摸不定的……干扰。
他强迫自己冷静,深吸一口气,继续工作。但注意力已经无法完全集中,眼角的余光总是不由自主地扫视着文档的各个角落,警惕着下一处“异常”的出现。
果然,没过多久,在描述“数据缓存策略”的复杂流程图旁边,一片空白的区域里,毫无征兆地浮现出一行小字,像是用极细的笔尖刻上去的:
“缓存无效,祂知晓一切。”
陈屿的呼吸一窒。这一次,他甚至没有试图去删除,只是死死地盯着那行字。它静静地待在那里,带着一种冰冷的、嘲弄般的意味。
他感觉自己的手心开始冒汗。这不是恶作剧。恶作剧会有动机,会期待被发现,会有迹可循。这个……这个东西,它出现得毫无规律,消失得悄无声息,内容诡异莫名,而且……似乎只有他能看到?
他再次在聊天框里询问,语气更加严肃。得到的回复依旧是茫然和关切,有人甚至开玩笑说他是不是撞邪了。
陈屿关掉了聊天框,一种孤立无援的感觉攫住了他。他尝试截图,想把证据保存下来。然而,当他按下截图快捷键,打开画图软件粘贴时,截图里,那些诡异的文字所在的位置,是一片正常的、空白的文档背景。
它们只存在于实时滚动的、在线的共享文档里!无法被捕捉,无法被固定!
巨大的荒谬感和恐惧感交织在一起,让陈屿感到一阵眩晕。他靠在椅背上,闭上眼睛,试图平复狂跳的心脏。
是幻觉吗?是长期加班导致的精神紧张?还是……
他不敢想下去。
重新睁开眼睛,他决定忽略这些“干扰”,尽快完成自己的工作然后离开。他加快了阅读速度,几乎是跳跃着浏览文档。
然而,那个“祂”,似乎并不打算放过他。
异常出现的频率越来越高,位置也越来越刁钻。
有时,是某个功能按钮的命名被悄悄修改,加上了“献给祂”的后缀。
有时,是用户操作成功的提示语,变成了“祂已接收”。
有时,甚至是在代码注释块里,出现大段语焉不详、充满宗教狂热和晦涩隐喻的呓语,描述着某种“无处不在的注视”和“数据的献祭”。
文档,正在被一种无形的、充满恶意的力量,缓缓地……污染。
陈屿感觉自己快要崩溃了。他像是一个在雷区里穿行的人,每一步都小心翼翼,却不知道下一颗地雷会在哪里爆炸。那些不断出现又消失的诡异文字,像是一根根冰冷的针,持续不断地刺探着他紧绷的神经。
他再也无法专心工作。每一次鼠标滚动,每一次目光移动,都伴随着强烈的心悸和不安。
他猛地站起身,动作太大,撞得椅子向后滑开发出刺耳的噪音。周围的同事被惊动,纷纷投来诧异的目光。
“陈屿?你没事吧?”隔壁工位的同事探头问道。
“没……没事,我去趟洗手间。”陈屿声音干涩,几乎是逃离了自己的工位。
他冲进洗手间,拧开水龙头,用冷水狠狠泼了几把脸。冰冷的水刺激着皮肤,稍微驱散了一些混沌感。他抬起头,看着镜子里那个脸色苍白、眼窝深陷、眼神里充满了惊惧和疲惫的自己。
不是幻觉。绝对不是。
那份共享文档,真的有问题。
那个“祂”……到底是什么?
是黑客?是某种高级的病毒?还是……更无法解释的东西?
他靠在冰冷的瓷砖墙壁上,感觉浑身发冷。现在该怎么办?向项目经理汇报?说文档闹鬼?谁会信?只会被当成精神失常。
他失魂落魄地回到工位,瘫坐在椅子上,再也没有勇气去打开那个文档。
时间一点点流逝,周围的同事还在埋头苦干,键盘声此起彼伏。项目群里,项目经理在不断催促着进度。
陈屿感觉自己像被隔绝在了一个透明的罩子里,外界的喧嚣与他无关,他独自面对着那个隐藏在数据流深处的、不可名状的恐惧。
突然,他的电脑屏幕,毫无征兆地黑屏了。
不是断电,不是睡眠,就是纯粹的黑。紧接着,屏幕中央,缓缓浮现出一行惨白色的、像素化的、如同早期计算机终端显示的文字:
“你,看见我了。”
陈屿的血液仿佛在这一瞬间凝固了!他猛地向后一仰,差点从椅子上翻下去!
那行字就悬停在黑暗的屏幕中央,散发着幽幽的、冰冷的光。
这不是共享文档里了!这是他的本地电脑!他的操作系统!
它……它出来了?!
几秒钟后,屏幕恢复正常,回到了他的桌面。仿佛刚才的一切只是幻觉。
但陈屿知道,不是。
那个“东西”,已经不满足于只在共享文档里戏弄他了。它突破了界限,来到了他的面前。
巨大的恐惧像一只冰冷的手,死死扼住了他的喉咙。他颤抖着手,想要关机,想要逃离这个地方。
就在他的手指即将碰到主机电源键的瞬间——
他面前那台原本已经关闭了共享文档的电脑,浏览器自动弹出了一个新标签页!
页面里,显示的正是那份“天穹”项目需求文档!
而此刻,文档里的所有文字、图表、代码片段……全都消失了。
整个页面,被一行巨大无比的、血红色的、不断闪烁的字体占据:
“迭代开始。祭品,就位。”
祭品?!
陈屿的瞳孔放大到极致,无边的寒意瞬间淹没了他!
他猛地环顾四周,办公室里的同事们,依旧在埋头工作,对发生在他屏幕上、他身上的恐怖变化,毫无察觉。
只有他。
只有他看到了。
只有他……被选中了?
“迭代开始”……是指项目上线?还是指……别的什么?
“祭品就位”……祭品是谁?!是他吗?!还是……所有参与这个项目的人?!
陈屿再也无法忍受,他发出一声压抑不住的、如同受伤野兽般的呜咽,猛地推开椅子,不顾一切地冲出了办公室,冲进了电梯,冲到了楼下。
他站在车水马龙的街头,午夜的冷风吹拂着他滚烫的脸,却无法驱散他心底那彻骨的寒意。
他回过头,望向公司所在的那栋灯火通明的大厦。
它依旧矗立在那里,是现代商业文明的象征。
但陈屿知道,在那看似正常的光亮之下,在那无数跳动着的代码和数据流里,有一个冰冷的、无形的、被称为“祂”的东西,已经苏醒。
并且,刚刚对自己,发出了无法理解的、充满恶意的……通告。
而那份承载着所有人心血和期待的项目文档,此刻,或许已经变成了一个巨大的、诡异的……祭坛。
等待着一个无人知晓的、可怕的“迭代”时刻的到来。