EP.3:邱文毅的修理鋪

我記得那天推門進去,空氣裡先是油煙和錫屑的味道,接著才浮起那股熟悉的熱氣——像夏天剛出爐的麵包,夾著一絲金屬的甘苦。小鋪藏在一條幾乎被地圖遺忘的深巷,門牌上的號碼被風雨磨成了淺淺的一道痕,招牌掛得歪斜,風一吹便發出像舊收音機調頻時的咔咔聲。我把背包背得更緊了些,拖鞋在門口的踏墊上擦出輕微的聲響,然後看見他——邱文毅,正俯在一張滿是磨痕的工作台前。台燈將他側臉映照得如同一幅半完成的肖像畫,眼角投下細碎的陰影,手指靈巧地在電路板上移動,焊錫如細小的銀河般從焊槍中流淌而出,閃亮得像他笑起來時的眼睛。

「喂,思嘉,嚟得正好,今日呢部機真係玩得我頭痕。」邱一邊說,一邊用小鑷子把一根微小的電阻固定在板上,語氣裡有種慣常的親切,彷彿老朋友在街角偶遇問候。我看見他手背上的幾道細疤,像舊地圖上的折痕,也許是早年球場拼搏留下的印記,也可能是深夜修機時被烙鐵燙出的紀念。

他抬頭看見我,臉上先是一閃而過的驚喜,隨即笑容像磨亮的銅鈴般被拋了出來。「你今日咁早嚟?」他站起身,動作不疾不徐,但每一步都像踩著某種沉實的節奏。邱的衣服沾著機油與焊渣的斑點,領口別著一本小小的筆記本,封面角落貼著一張褪色的籃球賽票根,字跡早已模糊,那是他極少拿出來示人的東西。

店內的陳設像被時間層層堆疊的博物館:牆上掛著幾張泛黃的報紙剪報,標題曾大字報導一場地方賽事,他的名字被紅筆圈起;角落堆著舊電視機的陰影裡,懸掛著幾雙球鞋,鞋底仍嵌著球場的砂粒;架子上擺著一台老式遊戲機,旁邊坐著一個不超過十五歲的少年,雙手緊攥一支壞掉的手把,正等著換一個邱為他改良的按鍵。門外的天光從鐵閘縫隙滲入,在地板上劃出一道道光帶,像時間本身被切成段落,讓每件物件都擁有自己的詩行。





「邱,呢部係邊個出事?」我將目光落在他桌上那塊拆開的舊無線模組上,金屬表面佈滿焊點,像被歲月啃噬過的殘骸。

「哦,呢個係中環一間小店送嚟嘅,佢話呢排有奇怪嘅斷訊,同埋偶然會喺半夜播出一段錄音。你唔好講我諗太多,先講返我想點修先。」他一邊說,一邊將一根細線穿過微小的焊點,動作熟練得讓我有些嫉妒。邱的手彷彿有記憶,哪怕那雙曾投出無數致勝傳球的手,如今也能將最不起眼的零件修復如新。

店裡自有它的節奏:開瓶聲、焊槍嗡鳴、少年在角落低聲咕噥遊戲策略。邱以半師傅半老友的語氣與他互動:「你嗰個按鍵,我今晚整好㗎啦,明日放學你嚟攞。」少年頓時眼睛發亮,像被允許走進後台的觀眾。邱順手遞給他一粒焊錫,手指上的灰黑污漬在短暫光線下顯得黯淡,他笑了笑:「唔好亂咁用力按,啲線易斷。」少年接過東西,敬了一個小禮:「多謝你,邱爺。」那稱呼滑進耳朵裡讓我微微莞爾,卻也讓我更清楚他在這條街的位置——不是老闆,也不完全屬於任何一方,只是一個能修補破碎的存在。

我坐在工作台旁的凳子上,拿出手機,指尖飛快敲下幾行字,把今晚的時間與「幽市」的位置傳給他。邱聽到提示音,頭也不抬:「你叩我就係啱時機。」他的回應像一種習慣。隨後他放下焊槍,擦了擦手背:「我晚啲收鋪可以陪你去,唔使驚。」那句話簡短卻沉甸甸,彷彿他用雙肩替我扛起了一片陰雲。

我看著他的側臉,腦海忽然浮現他曾在半職業球場飛躍的身影:汗水飛濺,觀眾吶喊,他的身形被強光拉長,宛如英雄電影中反覆播放的慢動作;畫面一轉,卻是他退場後走入暗處的背影,身後傳來低語與猜疑。那是我從別人口中拼湊出的故事——他的退役並非全然出於個人意志,而是被捲入家族與企業的角力之中。父親曾是大企業高層,牽涉過某些不為人知的交易,年輕的邱在風暴之後被迫面對選擇,最終選擇遠離聚光燈,躲進這條巷子的溫度裡,把手藝當作安身立命的網。





「你仲記得你以前係點退咗隻隊?」我忽然問,語氣裡帶著試探,也藏著好奇。街坊總愛把別人的過去當茶餘飯後的點心,我不是想嚼碎舊事,只是想明白,他是如何從那個被燈光照耀的舞台,走進今日這張桌前熾熱的焊槍之下。

他沒立刻回答,只是緩緩將焊槍放回支架,指尖在工作台上輕點兩下,像在確認某種節拍是否仍在。

「記唔記得唔係重點,」邱吸了一口氣,手指彈去一點焊渣,「重點係而家有得修,仲有得食飯。」他笑起來,卻不是那種能把過去拋在腦後的瀟灑,更多的是一種實際的頓悟:如果不能改變有些事,就把生活做得更可靠些。然後他指頭敲了敲桌面上的一張舊照片,是一張球隊合照,他在角落裡半蹲,笑容裡有一點不屬於年華的疲憊。「但有時夜裡會做惡夢,夢見我未能接住一個傳球,然後有人因為我失誤受傷。」他的聲音忽然柔軟下來,我能看見他眼角那一點不自覺的紅,「嗰種感覺,好似手仲要負重咁。」他又嘗試把臉上的表情拉回平常,拍了拍我的肩,「但你唔使擔心,今晚我陪你去『幽市』,如果有事,我會喺你身邊。」

鋪子裡的老收音機突然播出一段舊歌,旋律像老電影的插曲,邱順手把旋鈕轉低,像是不想讓外界的聲音打擾這個空間的私密。我注意到他桌上一摞筆記本,封面上凌亂地寫著各種零件型號與店裡的客戶記錄。邱把它們翻過來,一頁頁像翻閱他的人生——平凡、瑣碎,卻真實得讓人動容。他對街坊的那份責任感,從不浮誇,往往藏在那些微不足道的小事裡:有位常來買遙控器的老太太,按鈕失靈,他會默默幫她修好;有個中學生把他的第一副改良按鍵拿去炫耀,結果弄壞了機制,邱便在放學後留在店裡等那少年來道歉,然後用最溫柔的方式教他,工具不是玩具,是信任的延續。

「其實,」邱突然低聲說,像在和自己對話,「做呢份嘢,舒服多啲,唔駛面對啲官方嘢。」他說的「官方嘢」,我懂他的意思——那些與企業、權力糾纏的算計與妥協,總讓人疲憊到忘了初衷。邱的手又回到焊槍上,火花在他指尖跳動,像小小的宇宙。他的肩膀雖然不寬,但那份沉靜的穩重,有時比任何豪言壯語更讓人安心。





就在他修機的間隙,巷口遊戲店的少年衝了進來,手裡攥著一個外殼裂開的手掣,「邱伯,我換啦?」他喊出那個孩子才會用的稱呼,語氣裡帶著撒嬌,也帶著依賴。邱笑了,「等陣,阿仔,等下做完呢部先。」少年便乖乖坐在角落的長椅上,眼睛盯著工作檯,眼裡是對未知世界的渴望——和每個少年一樣,總想把世界簡化成按鍵與反應。他們三個人的距離,像這間小鋪一樣,既狹窄又緊密,足以容納許多不被外界理解的雜物與故事。

我看著他們,心裡浮起一種奇妙的感覺:在這條街上,每個人都有一種修補的使命,不只是修理電子,更是修補彼此生活中的缺口。邱把一塊剛焊好的電路板放回原位,動作有節奏,那種既有力又溫柔的專注,讓我想起籃球場上某個安靜的夜晚,他在最後時刻把球傳出,一切依舊沒有人注意到他微微顫抖的手。他從不張揚,也不需要掌聲,只是用這些看似微小的事,累積出一份讓人可以依靠的安定。

「我今晚六點喺學校門口集合,你記得就嚟。」我把時間再說一次,語氣裡帶著一點無可奈何——這件事已經從好奇變成責任。邱點點頭,眼裡有笑,但也有一絲我看得見的警覺,「好,我到時帶埋啲工具同埋手電,一齊去睇下。」他說完又補一句,「記住,夜晚行街小心啲,唔好亂閃。」他的語氣像長者的叮嚀,親切,卻藏著保護的意味。

我站起身,胸口莫名地安穩了些。他在門口幫我把背包拉緊,手指粗糙,動作卻細緻,「你拎住份稿,我唔會畀人亂搵事。」他說的話像是一種默契的約定,不需要儀式,也不必多言。巷口的風把一張舊海報吹得半卷,露出下面另一張泛黃的字樣——某個早已失效的廣告口號,像在提醒我們,城市裡有些東西,總是在表面之下,悄悄發酵。

我離開時,邱又回到那堆電路堆裡,焊槍再次嗡嗡作響。他的影子在工作台上拉長,像一條延伸不盡的線,連接著過去與未來。當我踏出深巷,回頭朝那扇半掩的門望了一眼,心裡浮起一股說不出的暖意——不只因為有人願意陪我去面對未知,也因為在這城市的縫隙裡,總有人把破碎的東西拼好,讓日常得以繼續走下去。那念頭像一條細線,在我胸口織成一點溫度,然後慢慢冷卻成行動的決心。

出巷時,街道已被晚風刷成黑銀色,電車的鈴聲像一條橫貫的音帶,把兩旁店鋪的光影拉得細長。上環的老街在夜裡有種奇特的親切感:招牌的燈管閃爍不定,檔口老闆還在收攤,隔壁茶餐廳的抽油煙機把街角染出一股暖意。我的腳步不急不慢,稿紙壓在背包最裡面,像一枚我還未準備好掀開的章節。

「思嘉,今晚你記得帶定手電同埋行動電源?」
邱邊說邊替我把背包帶整理好,語氣一如平常,簡單卻關切。





他推門時微微側過頭,眼神掃過巷口與街角,像在做一個習慣性的安全檢查。門外風一吹,帶著潮濕的海味和燒賣的香氣。我的手指在背包拉鍊處多停了一秒,彷彿在觸碰一個尚未說出口的決定。

「我會帶,唔使擔心。」
我說完,聽見自己的聲音有一點穩。然後我們都笑了——那種不需要太多字眼的確認。

街上,一輛巴士緩緩駛過,車窗透出的光帶把行人的影子切成一段段。回家路上,我想起莫幽蘭在店裡說的話:有些記憶會自己找路來這裡。那句話像一個開關,讓我覺得自己不是偶然被捲入,而是似乎被某種更大的流動輕輕招呼。

回到宿舍,房間還留著白天上課的書本和球鞋。我終於把稿紙從包裡拿出來,平鋪在書桌上。燈光下,那些字句像沉在瓶底的墨水,等著被敲碎,或被解封。我輕聲念出其中一段,聲音在小房間裡迴盪,像在測試牆壁的厚度,也像在跟自己協商:「不必要的勇敢,到底是保護還是自殘?」說這句時,喉嚨有點緊,但心裡某個角落卻因把話說出來而稍稍放鬆。

手機震了一下,是小組群組的回覆。幾個名字冒出各式各樣的表情符號,有人興奮,也有人擔憂。有人建議今晚帶錄音器,有人說要拍下現場畫面,也有人半玩笑半認真地提醒要帶救護包。這群人的存在像一張攔網——或許我不是那麼容易被風暴單獨捲走。

我把稿紙重新收好,放回背包最深處;不是隱藏,而是小心護著。我知道,文字若被倉促拿出來,可能會像未經蒸餾的藥水,引發意想不到的反應。既然要去看,就要帶著責任與判斷去看。

出門時,樓下大街掛著一個監視攝影機,鏡頭向下,像一隻不厭其煩的眼睛。它的存在原本不足為奇——城市每個角落都被數據與鏡頭記錄著。但今晚我對那鏡頭多看了一眼:它的位置、角度,還有下方貼的一張小小維修公司貼紙,上面印著一串幾位數的編號。很多事我還無法立刻判定,但那串數字,像我故事裡一個潛在的節點。





「你睇落有冇問題?」
背後傳來鄰居阿姨的聲音。她手裡提著菜,眼角佈滿生活的皺紋,語氣卻總帶著社區式的熱心與好奇。

「無。」
我回答,語氣簡短而禮貌。她笑了笑,把剩下的問候收進眼底,像把一些溫柔悄悄放進口袋,留到明天再拿出來。

我走在回學校的路上,心裡反覆盤算行動的各種可能:若幽市的錄音帶確有其事,它或許只是零碎的回聲;若那段文字真被某個系統標註為「預示」,牽涉的單位與人絕不止一家;如果記憶能被轉化成檔案、交易或重播,那又該如何劃出倫理的界線?我在腦中不斷推演,像在球場上反覆練習一個投籃動作,一遍又一遍,直到肌肉記住那條路徑。

到了學校門口,若寒已經在那裡等我。他的左肩掛著護帶,動作依舊沉穩。見到我,他沒有立刻開口,眼神先落在我的背包上,片刻後才把注意力轉回我身上。

「今晚個劇場點樣?」
他問,語氣裡帶著一絲關切,但更多是隊長在管理團隊時那種慣有的平衡感。

「我諗住去幽市睇下,有啲線索。」
我說。若寒的眉頭微微皺起,他的擔憂不單是針對我個人,更牽涉到球隊整體的穩定——若我被牽連,整個隊伍都可能因此分心。





「小心啲。」
他簡短地說,伸手輕拍我的肩膀,動作像極了教練在球員出場前那一聲低沉卻有力的鼓勵。

走近校門時,學院大門口有兩個保安正盯著手機低聲交談,背後那道自動人臉掃描的閘門偶爾發出輕微的運轉聲。現代化的監控系統與老城區蜿蜒的巷弄奇異地並存,彷彿時間在同一條街上做出了兩種選擇。這一刻,我更清楚意識到:那場戲不只是個人的行動,它將牽動校園、社區,甚至企業與法律之間的角力。我默默把這些念頭折成一張小小的便條,收進心裡的某個抽屜——留待需要時再取出。

下午的課結束後,教室裡有人熱烈討論晚上的劇場演出,爭論劇情是否藏有政治意味;我則在一旁專注地畫著筆記,刻意把內心的節奏壓得更低、更慢。我並不想沉溺於自我犧牲或英雄式的浪漫,真正推動我的是一種責任感,是對那些可能被抹去、被遺忘的人的一種敬意。正因如此,我才會悄悄把稿紙交到那家古物店的門檻上,像遞出一件可能引火的物件,小心翼翼地交到別人手中,只盼有人能給它一個更合宜的歸處。

放學後,約定的時間逼近。我和幾個同伴在校門口集合:阿文一如往常背著工具包,小梅手裡握著相機,嘴邊仍掛著玩笑話,試圖緩和氣氛;邱如期而至,肩上扛著一個比他身形還龐大的工具袋,裡頭裝著手電筒、萬用表,還有他向來不輕易提起的那些小機關。大家互相對視一眼,像一支小隊在出發前最後一次確認裝備。

「準備好未?」
小梅用半玩笑的語氣問,但她的眼神微微顫動,掩不住那份混雜著期待與緊張的情緒。

「準備好。」
我回答。聲音比早上沉穩許多,彷彿已將決定從思緒落實為行動。





我們一同走向上環,那條熟悉的巷弄彷彿早已等候多時。街燈下的人影被拉長成一格又一格的停格畫面,城市的夜晚宛如一座巨大的編輯室,將過去的片段與未來的可能一格格拼貼起來。當我們接近幽市那扇斑駁的舊木門時,心跳加速的不只是對未知的恐懼,更是一種被共同目標點燃的勇氣——不是盲目的衝動,而是一種清醒的選擇:去看、去問、去守護。

門口的鐘擺輕輕晃動,風鈴因我們的步伐微微作響。在我抬手推門的瞬間,耳邊彷彿有無數聲音同時低語——過去的回音、未來的可能,還有我們每個人所背負的記憶。深吸一口氣,我明白,不論接下來會看見什麼,這一步,已將我的文字與我的生活真正連接起來,像一條隱形的電路,靜待被接通,或被切斷。

夜裡的咖啡店燈光偏黃,窗外下著細雨,路燈把雨絲拉成幾道銀線。我和邱選了靠窗的一張小桌,桌上擺著兩杯已經開始結出一層薄薄冷卻膜的拿鐵。店裡人不多,角落裡有幾個戴耳機的寫字人,低頭在筆電上敲打;另有一對學生模樣的年輕人,正輕聲討論某部電影。雨聲、咖啡機噴出蒸汽的嘶鳴,與低音爵士樂在空氣中交織纏綿,像一層柔軟的背景,讓人暫時把外頭的紛亂推到窗外去。

我把莫幽蘭給的那張標籤照片和錄音帶外殼的特寫攤在桌上。邱打開他的工具包,取出一台小型手持式解碼器、一個軟體加密鑰匙盒,還有一條看似舊式電話線的轉接頭。他動作熟練,手指有匠人般的節奏,但眼神在我和螢幕之間來回游移,夾雜著一種被事情拉扯的焦急與強壓的冷靜。

「你先講清楚,你喺幽市嗰度見到嘅係啲乜?」我問,語氣試圖保留一點理性——我知道,只靠情緒,任何技術上的推斷都會失準。

「你拍嗰張標籤畀我睇。」邱說完伸手,一邊把手指敲進鍵盤,語速像在執行某個計時動作。他說話時眉眼微動,彷彿在計算每個字的重量,既不想嚇我,也不願輕忽任何可能性。

我把手機推給他。螢幕上那串模糊的字母與數字,在黃燈下顯得有些褪色。「係呢度,」我說。

邱點了點頭,手指在觸控板上飛快滑過。「呢啲code唔係一般商店會用嘅標籤,佢有多重層次:表面係一串位置代碼,第二層係時間戳,第三層仲有一個小小嘅驗證hash,可能係從某個伺服器自動生成。」他把話題切成一小段一小段,像在解讀地圖上的每一個符號。

「伺服器?」我問,心裡浮起一股既興奮又不安的感覺。

「係,基本上每個自動化系統都有伺服器,會生產類似嘅標籤做tracking。」邱回頭看我,眼裡閃過一絲要我鎮定的光,「我而家連線你張圖嘅元數據,同埋試下搵返嗰個生成hash嘅源頭。」說著,他把手機插進解碼器,手指敲入幾個命令。解碼器的螢幕亮起綠色的字列,開始滾動一串串格式化的 HTTP header 與 base64 編碼的段落。

「好,我睇到英文header。」他指著螢幕上快速流竄的文字,「有 x-origin: shop-archive,還有一個 x-token: 0x7a9f... 仲有一個 timestamp 被記錄成 UTC,而唔係本地時間,呢點幾奇怪。」他稍稍皺眉,把頭湊近我的手機螢幕,「仲有,呢個 tag 經過一次簡單 xor 混淆,唔係深層加密,係為咗避開一般搜尋而已。」

「你講嘅話,係咪即係有人刻意做過手腳?」我把兩手放在桌邊,指尖還留著剛握過筆的微熱。

「可能,亦可能係系統預設。」邱擦了擦螢幕邊緣,「等我用佢嘅timestamp同埋hash去match返公共伺服器嘅log,睇下有冇相應嘅entry。」他的手在鍵盤上又是一通操作,然後屏幕上跳出一個查詢結果——幾個IP在短時間內反覆向一組伺服器發出POST請求,時間點正好與標籤上的UTC吻合。

「呢幾個IP有一個係來源自企業背後嘅CDN,」邱說,語氣變得更低,「仲有啲係經過跳板跳好幾次先到,呢種做法係想掩飾原始IP。可係,唔好睇少一個細節——呢啲跳板當中,有一個出現過喺一啲公開嘅科研測試報告嘅IP記錄度,嗰啲報告係五年前嘅。」他指著螢幕上顯示的文字,像在把一條線索拉直。

「五年前?」我吸了一口冷氣,心裡像有個空洞被塞滿更多問題。這個「五年前」勾起了我模糊的記憶,也喚回莫幽蘭提過嘅古老祭儀。「嗰時我……小時候發生嘅事,是不是有關?」我問,聲音不自覺低了下來。

「有可能。」邱的手停了一下,目光柔化,「你記得你提過某些舊案同市面上消失嘅紀錄有關?」

他這句話像把我們之前零散的對話串成一節新的橋樑。窗外雨勢加大,玻璃上水滴不停滑落,彷彿鏡頭裡的雨幕。店內的音樂變得遙遠,我能清楚聽見自己心跳與邱敲擊鍵盤的節奏交織在一起。

屏幕上,更多的log浮現:
`POST /archive/upload; user-agent: VintageCashier/1.2; content-type: multipart/form-data; field: memory_blob`

邱指著那行文字,「注意呢度,field叫memory_blob,唔係一般嘅文本檔,顯示佢哋係上傳一啲二進位記憶樣本,唔係單純文字檔案。」他的語氣裡透出一絲震驚,彷彿觸及了不該被發現的秘密。

「記憶樣本?」我幾乎是把這個詞吞下。腦海裡立刻浮現莫幽蘭說的錄音帶,還有她在店裡用錄音機播放那些碎片的畫面。記憶,真的可以被數位化嗎?如果可以,誰擁有這些檔案的控制權?又會怎麼使用它們?

邱沒有立刻回答。他進一步把log的Referer和Origin對照公共DNS的紀錄。「Origin show shop-archive,但referer指向一個內部API `/api/consent/privileged`,呢個API唔係公開文件,通常只有夠權限嘅研究機構或者合作企業先會有access token。」他語速放慢,像想讓我消化每一個名詞背後的重量。

「咁代表……」我剛要開口,店門外雨打的節奏突然被一個細微的聲音打斷——監控攝影頭的LED在窗外閃了閃,像在無聲地掃描我們的桌面。

邱的手微微一頓,視線下意識轉向窗外,然後又回到螢幕。

「有人喺影相。」他低聲說,聲音裡透出警覺,「剛剛有個固件掃描器嘅signature喺log裡一閃而過,可能係街對面店舖或街燈上嘅那個監控鏡頭掃過。」他擦了擦眉間,手指在空中輕輕一擺,示意我冷靜。

「唔使驚,可能係路過。」我說,語氣卻藏不住一絲戰慄。被看見的感覺,始終像一隻無形的手,能把內心最脆弱的部分一點點拉扯出來。

邱退後一步,放下鍵盤,「我先做一個簡單嘅元數據快照,download呢幾個entry嘅headers,分析佢地嘅token簽章。」他說著,把結果導出成一個可讀性更強的清單。

我們看見了更多可供推敲的資訊:user-agent的非標準字符串、加密層級偏低但寫入頻率極高的異常模式,以及幾個地名標籤——港島東、旺角、上環的某些隱蔽節點。最關鍵的,是一個標示為 `PROJECT: REMNANT-ARCHIVE` 的tag,這個tag出現在多份舊報告的引用中。

「REMNANT-ARCHIVE……呢個名有點古怪,但我喺一份五年前嘅會議紀錄見過,當時係一個標題,講緊一個叫做『記憶壓縮存取』嘅試驗性研究。」邱說,隨即從資料庫中拉出一段摘錄,「原文係:『本項目探索如何把感官及語義記憶轉換為可持久檔案之方法。參與者將自願提交記憶片段以便於後續重構技術測試。』」

他把這段文字投在桌面上,像放了一塊被塵封多年的鏡子——映照出的,不只是過去,還有那些本該被遺忘、卻始終未曾真正消失的記憶。

我看著那句話,喉頭一熱——自願提交,那些曾像是研究同人自述的語句;可標注為「自願」的背後,會不會有權力、金錢或恐懼的操縱?五年前,那些「志願者」今天在哪裡?莫幽蘭提到的墓園會不會就是當時的一部分?我感覺到脊椎一陣發涼。

「邱,你覺得佢哋係點做到把記憶變檔?」我試圖把焦點拉回技術層面,因為面對倫理浩劫,技術常常是最直接的入口。

「有幾種可能,」邱說,眉頭微鎖,「一,直接把語音、影像等外在感知記錄下來,做索引;二,嘗試用電生理裝置讀出特定記憶的神經模式,轉成數據;三,混合方式,將外部錄音與內部心理測試的結果組成複合檔案。根據我見到嘅 field name——memory_blob,佢哋好可能是把外在感知與某種內部結構化的問卷或激發回憶的腳本一起上傳,形成可以回放的『片段』。」他像個科學家又像個匠人,既帶著冷靜的好奇,也帶著一份不易察覺的悲憫。

「回放……」我重複那個詞,腦海裡浮出莫幽蘭把錄音機放出那段斷裂聲音的畫面,還有那句「有些聲音,錄低咗先會顯真。」難道那些被上傳的記憶真的會在別處被重放、被消費、被當成商品?

「係,」邱的手在鍵盤上停住,然後他突然笑了出來,但那笑聲裡有種苦澀,「你諗下,如果有人賣『你嗰年最幸福的早晨』的記憶片段俾想懷舊的人,或者賣『某次事故的關鍵畫面』俾法庭、媒體,呢啲可能會好賣……但係呢啲嘢一旦被商品化,隱私、控制、權力嘅問題就會一齊爆開。」他把手掌攤在桌上,像在量度那種可能性帶來的重量。

外頭的雨聲突然被幾聲近乎機械式的嗶嗶聲打斷——店裡的某個監視設備有人在重啟,也許是電路短促波動。邱朝門外瞄了一眼,然後把螢幕上分析結果做了一個分段備份,「我會把掃到嘅原始 headers 先 save 落兩個不同嘅 drive,唔好只留一份。你如果要帶任何實體文檔,記得唔好喺公開 Wi-Fi 下擺,盡量離線存檔。」他說得像是在交代戰術,而不是科技建議。

「我會。」我說,語氣堅定,心裡卻有一股莫名的疲憊。每一項技術詞彙後面都像是潛伏的風險:被看見、被複製、被改寫。有人能把「記憶」做為商品,那麼我的文字、我的故事,甚至我最私密的懺悔,都可能被抽取成數據,遭到再包裝。我突然更理解莫幽蘭所言那句:「有啲東西會自己搵路嚟呢度。」

邱把頭轉向我,眼神有一瞬間軟化,「思嘉,你寫嗰篇叫做《不必要的勇敢》嗰句,後面係點收嗰句?」

他那種看著我卻又像替我承受一半重量的目光,讓我一時間不知道該用什麼語氣回答——坦白、辯解,還是沉默。

「『不必要的勇敢,未必是救贖。』」我把那句寫在紙上、在腦裡反覆咀嚼過無數次的句子念出來,聲音比我預期的要平靜。我把句子放在桌面上,像把一張易碎的明信片遞給他,又像把一個可以藏在抽屜裡的秘密亮出來考驗他的反應。

邱眯起眼,指尖輕敲桌面,「『未必是救贖』——聽落重,但係啱嘅。你寫嘢一向都唔會淺白,你係想人去諗,或者想人負起啲咩?」

他說得慢,像在翻開一本書的封面,擔心觸壞裡面的頁面。

「我唔係想教人點做,有時我只係想有人肯聽,」我說,語氣裡有點兒疲累,也帶著一點被逼到角落時的堅定。我的手指摩挲著咖啡杯邊緣,感受著那一圈涼意像在提醒我:再遲疑,可能就要有人替我做出選擇。

邱吸了口氣,然後說了一句讓我出乎意料的話——他的聲音柔了下來:「思嘉,如果你覺得寫出嚟會傷害到無辜,咁就唔好!」他語氣中有直率的焦慮,也有那種願意替你負擔風險的單純。「但係,如果你覺得唔講出嚟會俾人利用,或者會令到啲真相無法浮現,咁我哋就要做啲更加周詳嘅保護,唔係唔講,而係用啱嘅方式講。」

他把話說得像在做承諾,手背在燈光下閃著微微的光。

我看著他那雙總是比言語更誠實的手,心裡某處稍稍安定下來。「你會點做?」我問,想知他的工具包裡除了焊錫和螺絲刀,還有沒有能保護我的文字的東西。

「先保證證據安全,」邱說,語速加快,又轉回專業模式,「我已經把原始headers複製備份,下一步係做hash比對,確保冇人喺中間篡改;然後我會幫你做離線備份,並把備份分散存放。另外我識幾個黑客朋友——佢哋可以幫我做流量追蹤,但係呢樣嘢,好危險,我唔會單獨去。」

他的聲音裡有決心,也有警戒。

我點點頭,筆記下他說的每一步,像把自己的恐懼拆成一塊塊可以處理的碎片。「我想知道更多關於REMNANT-ARCHIVE嘅事,」我說,「如果真係五年前開始,唔係淨係一個地方嘅問題,可能係一個跨單位嘅計劃。莫幽蘭講嘅墓園,會唔會係早期受害者集中埋葬或匿名紀念嘅地方?」我的聲音在空氣裡繃得緊緊的。

邱把臉靠在手背上,沉思片刻,「你帶我去睇下嗰啲檔案同埋你去過嘅地方,我會幫你做log比對。其實我都有個人原因想追,可能我以前啲接觸有啲被隱藏咗,冇人留意。」他沒有詳說,但那句「個人原因」像開了一扇小窗,讓我知道他的世界裡也有被掩蓋的秘密。

我們的話題從技術細節,慢慢延伸到更實際的行動計劃。邱在筆記本上寫下幾個必要步驟:一,離線保存優先;二,找可信任的數據安全朋友做第二備份;三,向某些可以信賴的記者匿名投遞部分經過處理的證據,以換取公開保護;四,實地追查五年前的參與者名單和測試地點。每一項都像在搭建一道防線,為我們即將揭開的真相築起屏障。

「你會唔會怕?」我忽然問。這個問題不是問他會不會怕危險,而是問他會唔會怕身邊的人因為接近他而受害。我的聲音小到幾乎只為自己而說。

邱笑了,笑裡帶點苦,「點解我唔驚呢?因為我知有你寫嘢嘅用處,亦因為我知有你會堅持真相。你唔孤單。」他說這句時,語氣堅定得像個誓言,卻也藏著一層不能被迫的溫柔。

窗外的雨在那一刻似乎細了些,店裡的爵士樂也柔和下來。我們把注意力拉回螢幕:邱把剛才抓到的IP路徑做成更細的路徑圖示,將每個跳板的時間點、地點與可能的法人做交叉比對。螢幕上那個PROJECT: REMNANT-ARCHIVE的tag旁,他用紅色圈出一組在文件中多次出現的名字縮寫,還有一個公司代號——TALON SYSTEMS。這個代號在數個流出的研究摘要裡都出現過,但在公開公司資料中卻刻意模糊,像一個有意避開鏡頭的影子公司。

「TALON SYSTEMS……」我念出這個名字,感覺它在口中像一塊冰。「我記得有篇報導提過幾間承包商會提供城市監控與數據整合平台,可能有人用佢哋做技術遮蓋。」我把自己能回想的新聞片段拋給邱。

「如果係咁,我哋而家正喺佢哋嘅視野下做動作。」邱說,「但暫時嚟講,我哋未有實質證據佢哋直接把記憶當商品賣,佢哋可能只係技術供應商。重點係:有一條技術供應鏈同一個執行計劃,佢哋之間存在交易與道德灰區,呢啲需要拆解。」他喝了一口咖啡,把杯子輕輕放回碟上,動作不大,眼神卻異常專注。

我聽著,心裡有些難以平復。那種被結構性力量包圍的感覺,就像城市裡一張無形的網,任何個體的掙扎,都可能被一串冷冰冰的數字和議程吞噬。我突然想到若寒和球隊——他們所依賴的是簡單明瞭的規則:傳球、接球、合作。而現在我面對的,卻是一個能把人心、記憶、痛苦都商品化的複雜機器。

「我哋要唔要搵莫幽蘭再傾?」我提議,「佢知道啲舊事同埋嗰啲帶,可能佢有更直接嘅線索。」

邱搖搖頭,但不是拒絕:「唔好太頻繁帶陌生人入局,佢哋嘅店係個好線索,但佢亦唔係保險箱。我哋先自己整理好一份可供外部人核查嘅證據包,之後先決定向邊個信任地分享。」他說得像個組織者,分層、分權、保護。

我們討論到深夜。從技術路徑、實地踏查到媒體曝光,每一步計畫都充滿風險。可每當想退縮,我就會想起墓園石碑上那些刻著的名字,想起巴士上那個喊著「記憶在哪裡?」的中年男子,還有莫幽蘭放出錄音帶那一刻,我心底忽然被撕開的那種疼。

「我唔想淨係做個旁觀者。」我在離開前最後說。
語氣裡有倦意,也有一種重新校準過的決心。

邱拍了拍我的手背,那是有力量卻又溫柔的碰觸。「唔使擔心,思嘉。我哋唔係孤單,仲有啲人會願意幫。最緊要係有計劃同保護。」他說完,把剛才的備份袋收好,整理好他的工具箱,像準備一場沒有終場的長跑。

我收起那一疊在螢幕上分析過的截圖與備份,將紙張放進一個防水信封,心裡盤算著下一步要去的地方:墓園、圖書館的舊報紙檔案,還有可能的研究人員名單。夜深了,外面燈火被雨水拉成一條條流動的光影。我拎起包,和邱相視一眼——那個眼神是約定的開端,也是戰線的拉出。

走出咖啡店時,門口的風迎面撲來,帶著夜雨的涼意。我拉緊外套的拉鍊,背包裡沉甸甸的,不只是稿紙和錄音帶的照片,還有一層我自己不願再攤開的恐懼。但在這個瞬間,那句我自己寫過的話又在心頭回響:「不必要的勇敢,未必是救贖。」我深吸一口夜氣,然後把氣息釋放成行動的動力——去看見、去保護、去揭露,哪怕那條線會把我們牽進更大的風暴。

EP.3:邱文毅的修理鋪-完
已有 0 人追稿