第 1 章 — 凌晨三點的委託
雨是從五月初就沒有停過的。
梅雨季的台北像一塊吸飽水的海綿,從天空到地面都浸得發軟,連呼吸都帶著潮氣。赤峰街這條巷子白天是文青與觀光客的攝影熱點,到了凌晨卻會褪回它原本的樣子——老公寓斑駁的外牆、騎樓下生鏽的鐵捲門、以及防火巷裡永遠散不去的霉味與貓尿騷味混雜在一起的氣味。
沈知夏的工作室就在這樣一棟沒有電梯的老公寓二樓,沒有招牌,沒有在社群網路上登記地址。鐵窗外是一小方被雨水敲得發亮的浪板屋頂,對面是另一棟公寓同樣生鏽的後陽台,兩棟樓之間夾著一道僅容一人通行的防火巷。那是台北被遺忘的縫隙,白天堆滿腳踏車與廢棄的保麗龍箱,入夜後則成為流浪貓的王國。
工作室只有八坪大,卻被她收拾得極為乾淨。一張從木材行訂製的長桌靠窗擺放,上頭永遠放著一盞暖黃色的銀行燈、一台老舊卻被擦拭得發亮的筆記型電腦、一整排按照年份排列的牛皮紙檔案盒,以及一盒盒沒有拆封的原子筆與鋼筆墨水。牆角有一個小小的流理台,瓦斯爐上永遠溫著一壺水,旁邊的馬克杯裡插著幾支已經乾掉的乾燥尤加利葉。空氣裡有淡淡的紙張與松木混合的味道,那是她用來掩蓋霉味的方式。
二十九歲的沈知夏,已經在這裡住了七年,也做了七年代筆人。
她的工作很難向外人解釋。在晚安信箱那個半公開的地下互助網路裡,她的代號是「夏」。不接急診,不接商業文案,只接一種委託——替那些已經決定要告別世界的人,寫下最後一封信。不是遺書的格式制式化,而是把那些卡在喉嚨裡、沉在胸口重得讓人無法離開的「殘響」,翻譯成能夠被讀懂的文字。
沒有人教過她這算不算一種能力。她只知道,當一個人坐在她對面,哪怕對方一句話也不說,她就能聽見那些沒有說出口的話在空氣裡嗡鳴,像潮濕的衣物一樣沉重。她的工作就是把那份重量,用最適當的詞語、標點與留白,重新打包,讓委託人在唸出或謄寫一次之後,能夠變得輕一點,輕到足以走過那個地方。
那個地方被晚安信箱裡的人稱為「渡口」。
凌晨三點零七分,雨聲正是最密的時候。
沈知夏是被聲音吵醒的。不是雨聲,也不是防火巷裡野貓打架的嘶吼,而是一聲極為清晰、近乎刺耳的電子提示音。
叮咚。
那是她為預約系統設定的專屬提醒。為了避免錯過任何一筆委託,她刻意選了一個與日常手機通知完全不同的音效,空靈卻尖銳,像玻璃杯輕輕碰撞的聲音。此刻在寂靜的雨夜裡,那聲音顯得過於響亮,直接將她從淺眠中拉了出來。
她皺著眉從床上坐起身,長髮因為睡眠而有些凌亂地貼在頸側。工作室兼住家,她的床就隔著一道布簾在書桌後方,幾步之遙。她沒有開大燈,只是伸手按亮了桌上的銀行燈,暖黃色的光暈在雨灰色的凌晨裡暈開。
筆記型電腦的螢幕原本是休眠狀態,此刻卻自動亮起,冷白色的光映得整個房間都有些慘淡。
晚安信箱的後台介面是她自己用最陽春的程式架設的,介面乾淨得近乎簡陋,只有黑底白字的列表。最上方有一行紅字在閃爍,那是系統預設的「緊急且無法更動」標籤。
她的心跳莫名漏了一拍。
這種標籤,只有在委託人勾選了「已確認時間且無法撤回」時才會出現。過去七年,她只看過三次,每一次都代表著委託人已經下定決心,並且時間非常迫近。
她點開那筆置頂的委託。
然後,她的呼吸停住了。
【委託編號:20260514-0307-YG】
【委託人姓名:沈知夏】
【預定渡口開啟時間:2026年05月14日 06:00】
【寄件人:年糕】
【狀態:已確認/無法取消/無法修改】
【備註:殘響標記已完成,請於十二小時內進行轉譯,逾期將自動歸檔。】
沈知夏盯著螢幕,一時間以為是自己睡昏了眼花。她伸手用力揉了揉眼睛,再看一次。委託人那一欄,黑色細明體清晰地印著三個字——沈知夏。她的名字,她的身分證字號末四碼自動帶入的驗證資訊,甚至連她當初為了架設這個系統而隨手上傳的大頭照,都被系統自動抓取,縮成一吋大小貼在欄位旁邊。照片裡的她穿著白色的襯衫,笑得有些僵硬,那是三年前拍的。
而寄件人那一欄,只有兩個字。年糕。
荒謬感像冰水一樣從頭澆下,隨即被一種更深、更黏稠的寒意所取代。
年糕。
她緩慢地轉過頭。
那隻胖虎斑貓不知何時已經醒了,正安靜地坐在她的鍵盤上。牠的體重壓得筆電的轉軸發出輕微的吱嘎聲,尾巴像一條柔軟的圍巾,妥貼地圈住自己的腳掌。牠琥珀色的瞳孔在螢幕冷光的反射下,像兩顆浸在水裡的玻璃珠,一瞬也不瞬地看著她。
窗外的雨還在下,雨水順著鐵窗的縫隙滲進來,在窗台上積成一小灘水漬。年糕的腳掌是濕的,在鍵盤的空白鍵與 Enter 鍵之間,留下了四枚小小的、帶著雨水氣味的梅花形腳印。那氣味不只是雨水,還混雜著防火巷裡青苔與鐵鏽的腥氣,一種只有在凌晨的河濱公園或打烊後的自助洗衣店才會聞到的、屬於「縫隙」的潮濕味道。
「年糕……?」沈知夏的聲音沙啞得連自己都嚇了一跳,「你怎麼——」
她沒有說完。因為年糕沒有叫。
這件事本身,就是最不正常的事。
七年前的那個颱風夜,她在赤峰街後巷的紙箱裡撿到牠。那時的牠瘦得只剩一把骨頭,眼睛被感染黏在一起,雨水把牠橘白相間的毛全部打得貼在身上。收容所的志工說,這隻小虎斑的聲帶天生缺損,這輩子都不會發出聲音。沈知夏把牠抱回來,用針筒一滴一滴餵奶,取名叫年糕,因為牠總是軟綿綿地黏在她腳邊,像一塊剛蒸好的、溫熱的年糕。
七年來,年糕真的從未叫過一聲。牠餓了會用頭去頂她的膝蓋,想撒嬌會直接跳上她的胸口用呼嚕聲震動她的肋骨,生氣了會用爪子不輕不重地拍她的手背。牠的沉默是一種習以為常的背景音,沈知夏甚至已經忘記貓原本是會叫的動物。
可是現在,這份沉默卻讓她感到刺骨的恐懼。
因為在晚安信箱的守則裡,有一條只有代筆人才知道的附註:守門者一族以沉默為代價,換取在生死之間行走的能力。牠們一生只能對人類說九句話,每說一句,就會消耗一條命。每一次預警,都是以生命為代價的燃燒。
而年糕,已經七年沒有說過話了。
沈知夏猛地回過頭,手指有些顫抖地抓住滑鼠,試圖去點那個「取消委託」的按鈕。游標移過去,卻顯示一個灰色的禁止符號,旁邊跳出一行小字:「此委託由守門者直接標記,無法由轉譯者單方面撤銷。」
她不死心地想去修改時間,系統同樣彈出警告。她甚至直接打開後台的程式碼頁面,想要強制刪除這筆資料,卻發現寄件 IP 的位置顯示——
127.0.0.1 / 內部網路 / 來源裝置:SHIHHSIA-STUDIO-02
那是她這台筆電的本機位置。
這筆委託,是從她的工作室內部,從她眼前的這台電腦,甚至可以說,是從坐在鍵盤上的這隻貓身上,發出來的。
一股暈眩感毫無預警地襲來。
不是熬夜的頭暈,而是一種更深層的、彷彿靈魂被往下拽的沉重感。年糕在這時輕輕往前探出鼻尖,碰了碰她冰冷的手腕。那觸感柔軟而潮濕,卻讓沈知夏像是被電流竄過一般,整個人僵在原地。
潮濕。
無邊無際的潮濕從那個接觸點蔓延開來。她彷彿在一瞬間被拉進了另一個空間——不再是溫暖乾燥的工作室,而是凌晨三點、無人的捷運月台。慘白的日光燈滋滋作響,空氣裡有雨水倒灌進地下道的霉味,月台的盡頭是一片濃得化不開的灰白霧氣。她看見月台的長椅上,坐著一個穿著白色襯衫的女人,低著頭,長髮遮住了臉,肩膀因為壓抑的哭泣而微微抽動。那女人的腳邊,放著一雙被雨水浸濕的布鞋。
那是她自己的鞋。今天早上脫在玄關的那雙。
那個女人的背影,重得像一塊吸飽水的石頭。
沈知夏猛地抽回手,大口大口地喘氣,額頭上已經滲出一層薄汗。那是殘響的重量。她替無數人轉譯過殘響,卻從來沒有感受過自己的殘響。那份重量是如此熟悉又陌生,像是她這七年來所有未說出口的話——對七年前在醫院走廊裡沒有來得及說再見的母親,對那個在她最需要時轉身離開、只留下一張紙條的前任,對每一個深夜裡她告訴自己「沒關係,我可以自己來」的瞬間——全部被壓縮、發酵、腐敗後,凝結成的實體。
年糕依然看著她,琥珀色的眼睛裡映出她蒼白的臉。牠的眼神太過平靜,平靜到近乎悲憫。
沈知夏這才發現,自己的手腕上,剛剛被年糕碰過的地方,留下了一個淡淡的、像是水漬乾掉後的白色痕跡。那痕跡的形狀,隱約像一枚小小的貓掌印,正隨著她的體溫,緩慢地變得冰涼。
明日清晨六點。
距離現在,只剩下不到三個小時。
不,是十二小時。系統顯示的是明日清晨六點,也就是說,她還有將近二十七個小時?不,備註寫著請於十二小時內進行轉譯。時間的邏輯在恐懼中變得混亂,但無論如何,那個標記已經開始倒數。
她一直以為,代筆人是站在渡口外的人,是擺渡者的助手,是替人點燈的人。她從未想過,有一天,自己的名字也會出現在那本死亡名單上,成為被擺渡的對象。
而為她按下確認鍵的,竟是那個她以為會陪她一輩子、永遠不會說話的家人。
工作室的暖黃燈光在這時輕輕閃爍了一下,像是電壓不穩。窗外的雨聲忽然變得很大,大到她聽見防火巷裡傳來一聲極輕的、像是門被風吹開的吱呀聲。
年糕從鍵盤上站了起來,肥厚的身軀靈巧地一躍,無聲地落在地板上。牠沒有看她,而是徑直走向門口,那扇通往防火巷的、已經很久沒有打開過的後門。牠的影子被銀行燈拉得很長,很長,長到在牆壁上扭曲、延伸,最後竟隱約形成了一道拱門的形狀——一道由影子構成的、通往某處潮濕縫隙的門。
牠在門前停下,回過頭,用那雙琥珀色的眼睛最後看了她一眼。
沈知夏的手機,在這時又發出了一聲提示音。
不是預約系統的叮咚,而是一封新郵件的通知。寄件人那一欄,空白。主旨只有一行字:
「妳還記得,七年前妳沒有寫完的那封信嗎?」
讀者留言