Lubulu 開源決策轉盤,把每天要不要放縱的掙扎交給機率

Lubulu 是開源的純網頁決策轉盤,99 格裡只有 1 格寫著 Lu!,把每天要不要放縱的掙扎交給機率決定:加密等級真隨機、保底機制、日曆統計與 JSON 匯出全收在同一頁,紀錄只存在你的瀏覽器。

用 AI 摘要這篇文章:

晚上十一點,你盯著購物車裡那個不是很需要的東西,腦子裡開始談判:就買這一次,下個月再省回來。這場談判每天發生好幾次,對手是你自己,而且你太會替自己找理由。Lubulu 處理的就是這個時刻。它是一個開源的網頁轉盤,總共切成 99 格,只有 1 格紅色寫著 Lu!,其餘 98 格綠色寫著不Lu。猶豫的時候打開它,按下去,轉盤轉 5 秒,停下來是什麼就是什麼。我把它的原始碼抓下來讀完、在本機跑起來實際抽過,也把它的隨機機制抽樣測了三十萬次,結論先講:機制是真的,紀錄只存在你自己瀏覽器,它不值得被當成什麼自律神器,但作為「跟自己預先談好的放縱配額」,設計得意外完整。

我把它跑在本機,真實抽了一次

Lubulu 的程式本體只有三個檔案:一個網頁、一份樣式、一支腳本,加起來兩千四百多行。這種純靜態的工具不需要安裝,我把原始碼 clone 下來,用本機伺服器打開,它就完整長出來了:淡紫色的底,中間一個綠油油的轉盤,紅色那一格細得像一根針。第一次打開會先跳出版本更新說明,關掉後按中間的 SPIN,它還會先確認一次今天真的要抽嗎,避免你手癢多按。

Lubulu 主畫面:深紫色底、中央 99 等分轉盤,98 格綠色不Lu 與 1 格紅色 Lu!,中間下方有 SPIN 按鈕,右上有設定齒輪Pin
Lubulu 主畫面:綠色 98 格寫著不Lu,紅色那一格細得像一根針(來源:官方原始碼本機實測截圖)

我按了確定。轉盤帶著音效轉了 5 秒、整整 12 圈,停下來,指針落在綠色區域,畫面跳出一個鬆了口氣的表情符號:抽到了不Lu。抽完立刻看得到兩件事:統計卡片上的不Lu 次數從 0 變成 1,日曆上今天的格子多了一個綠點。那個音效也不是音檔,是程式用瀏覽器的音效合成器當場算出來的波形,轉動時從低頻一路往下滑,停針那一刻另有提示音,這種小地方看得出作者是把儀式感當回事在做的。資料寫在哪我也查了,就在瀏覽器的 localStorage 裡,鍵值是日期對應結果,我抽的這一天被記成一個代表不Lu 的值。設定面板裡按匯出,它吐出一份 JSON 檔案,內容四個欄位:每日紀錄、設定、匯出時間、版本號,格式乾淨,想自己寫腳本分析也行。

Lubulu 抽獎結果畫面:轉盤停住後彈出結果卡片顯示抽到了不Lu,下方有分享結果與確定按鈕,統計卡片不Lu 次數 1、總次數 1Pin
實際按下 SPIN 的結果:轉盤停格後彈出結果卡,統計與日曆同步更新(來源:官方原始碼本機實測截圖)

抽到 Lu! 那邊是另一套流程,我把程式碼翻出來對過:轉盤停在紅格時,畫面會先彈出選擇題,讓你決定這次真的要 Lu,還是說不要,不會直接把你記成放縱。也就是說,日曆上記下的永遠是你的最終選擇,轉盤只是負責給台階。這個細節後面談設計時值得再回來看。

那個 1% 是真的嗎?我抽了三十萬次

這類工具最容易作弊的地方,就是「抽獎」其實是被程式安排好的。Lubulu 這點經得起檢驗。它的抽獎程式呼叫的是瀏覽器內建的加密等級隨機數產生器,拿到一個 32 位元隨機數後除以 99 取餘數,餘數落在哪一格就停在哪一格,全程沒有任何人為加權。這個選擇有意義:一般網頁常用的隨機函式是可重現的偽隨機,同一個起點就會跑出同一串結果,而加密等級的隨機數是瀏覽器專門留給安全功能用的等級,在這裡被拿來決定你今晚能不能買那雙鞋。我直接在頁面裡跑它的取樣方式,分三輪各抽十萬次,Lu! 出現的次數分別是 983、973、1054 次,合計 3010 次,等於 1.003%,對照設計機率 1/99 的 1.01%,差距在統計誤差內。連比較龜毛的質疑我也先算過:32 位元隨機數除以 99 有除不盡的餘數,理論上的偏誤不到千萬分之一,實務上量不到。

比較多人會誤解的是設定面板裡那個機率滑桿。它的範圍是 1 到 98,拉動時轉盤會即時重畫,紅色的扇形跟著變多或變少。但它調的其實不是百分比,而是 99 格裡面有幾格是紅色。你拉到 2,就是 2/99,大約 2.02%,介面上顯示的百分比是近似值。也就是說它的機率粒度固定是 99 分之一,你沒辦法設定 2.5% 這種數字。以「幫自己訂配額」的用途來說,這個粒度夠用,只是要知道它跟你直覺的百分比有一點點落差。

Lubulu 設定面板:Lu 機率滑桿 1 到 98、保底天數輸入框、單次與多次模式切換、資料匯入匯出按鈕Pin
設定面板一頁收完所有規則:機率滑桿、保底天數、抽取模式與匯入匯出(來源:官方原始碼本機實測截圖)

三道安全閥,讓規則不會變成苦行

如果只是 1% 抽獎,這工具就只是玩具。讓它站得住腳的,是程式碼裡三個互相搭配的設計。最基本的彈性是機率可以調:覺得 1% 太摳,可以放寬;覺得太鬆,可以收到只剩 1%,規則的主人自始至終是你。更關鍵的是保底機制:設定一個天數(可設範圍 0 到 365,0 表示不啟用)之後,連續這麼多天沒抽到 Lu!,程式會跳過隨機、直接把指針放在紅格上,畫面也會標明這一次是保底。這個防的是規則最壞的結局,抽了三個月永遠綠色,然後你覺得這套遊戲是騙局,整個棄掉。配上前面提過的反悔權,轉盤說 Lu!,你仍然可以說不,一收一放之間,它對人性的軟弱留了緩衝。

三道閥加起來,其實就是行為科學裡的老概念:預先承諾。意志力的問題在於它是在戰場上臨場發揮,而 Lubulu 把談判提前到冷靜的時刻,規則先談好,之後每天只剩照做。想把這套思路再往源頭挖的讀者,可以看我們之前寫過的自律人生養成成功跟自律的距離,Lubulu 等於把其中「移除臨場決定」這一招做成了轉盤。而且是自己按下去的,說服自己認帳的理由也多一個。

要提醒的是,這個定位是我的判斷,作者在說明文件裡只把它描述成讓隨機性幫你做選擇的小工具,列的情境都是日常等級:垃圾食物、衝動購物、遊戲時間、滑手機、要不要運動、早睡熬夜。沒有任何一處宣稱它能戒斷什麼或治療什麼,這條線它自己畫得算清楚。

紀錄只活在你的瀏覽器裡

轉盤之外,它用日曆和數字把你釘住。日曆上紅點代表放縱、綠點代表忍住、灰色代表那天根本沒抽,可以往前後月份翻,點任何一天的日期還能手動改狀態,等於紀錄可以修正,不是判決書。統計卡片會算出總次數、兩種結果的次數,以及你忍住的比例,這個比例是給自己看的自我統計,不是什麼成效指標,數字漂不漂亮全看你有沒有照規則來。抽獎模式有兩種:單次模式一天只能抽一次,預設就是這個;多次模式可以一直抽,但只有第一次計入紀錄,防的是抽到滿意為止的作弊心態。

有個對台灣使用者很剛好的細節:它的日期是以 UTC+8 計算的,換頁正好發生在我們的午夜,一天一次的界線跟手機上的日曆一致,不會出現凌晨十二點半被算成隔天的怪事。

隱私這層我整份程式碼掃過。它沒有任何帳號系統,程式碼裡也找不到任何向伺服器發送資料的請求,更沒有分析追蹤的程式碼;從原始碼看,整個頁面會連外的地方只有兩處:Google 字體,以及從公開 CDN 載入負責分享截圖功能的開源函式庫;實測官網還被 Cloudflare 把字體改成同網域代載,跨網域請求只剩那一個 CDN。你的紀錄、你的設定、你忍住幾次,全部只存在瀏覽器的本地儲存裡,不會被送到任何伺服器。匯入資料時它也會先彈出確認視窗,避免一份錯的備份直接蓋掉你的歷史。代價也要講明白:清掉瀏覽器資料,歷史就跟著消失,換電腦也不會跟著你。想留紀錄就要養成按匯出的習慣,那份 JSON 備份才是你真正的資產。

停更一年多,為什麼還敢用

講完優點,面對它最刺眼的事實:這個專案 2025 年 6 月開張,7 月推出 2.0.0 版之後就沒有新的提交,到今天超過一年完全安靜,星星數 69 顆,是一位個人開發者的作品。以一般軟體的標準,這該直接判死。

但純靜態工具的帳不是這樣算的。我把官網正在跑的腳本和樣式抓下來,跟 GitHub 上的原始碼逐位元比對,完全相同;網頁本體只被 Cloudflare 的加速功能改寫了字體載入方式,應用邏輯零差異,沒有偷改版本。部署走 GitHub Pages 的自動流程,原始碼一有更新才會反映到官網,作者手上沒有另一份私有版本。它沒有後端、沒有資料庫,這次掃碼也沒看到需要修補的資安漏洞,真正會讓它整個消失的,只剩作者不續租網域或 GitHub Pages 關門。而這兩種風險都有退路,原始碼是 MIT 授權,任何人 clone 下來、起個本機伺服器就能用,你自己留一份就永遠有一份。真正要看緊的反而是前面說的資料面,工具活得再久,你的紀錄仍然只住在那台瀏覽器裡。

三件事想清楚,再決定放不放進生活

它不是科學方法。沒有任何研究證明丟轉盤能幫人養成習慣,它給的是結構跟儀式感,不是療效。如果你的困擾已經到了成癮或影響健康的程度,這個轉盤幫不上忙,該找的是專業資源;它處理的只是日常等級的誘惑,這條界線自己要踩穩。延伸一點講,它跟提升專注度的方法是互補關係,一個管臨場的誘惑,一個管背後的精力管理。

介面是簡體中文,設定、統計、匯出這些字都是對岸用語,沒有繁中版,也不太可能會有。「Lu」這個詞台灣讀者可能陌生,從整個專案的語境看,它就是放縱的代稱,理解成「就這次」最順。介意介面語言的人,這一條就足以直接刪掉它。

最後是期望值。它每天只花你幾秒鐘,但改變的是決策的結構,不是你的性格。用了轉盤不代表你會變成一個自律的人,它只是讓「要不要」這個問題在你最軟弱的時刻,由一個不講情面的隨機數代答。把它當遊戲規則,它有用;把它當救命稻草,它會讓你失望。順帶一提,同樣把決定交給隨機、但拿來挑壁紙的玩法,我們在極簡壁紙網那篇也介紹過,隨機這件事用在低賭注的事情上,反而是種樂趣。

打開網址就能開始

想試的人不用安裝任何東西:打開官網,關掉開場的版本說明,按 SPIN 就開始了。第一次使用值得花兩分鐘進設定,把機率跟保底天數調成你真的願意遵守的數字,規則訂得太嚴,任何系統都撐不過一週。用出心得後記得按匯出留一份 JSON 備份。工程背景的讀者也可以把原始碼 fork 回去自己改,想把 99 格改成別的數字、換掉顏色或字型,都是幾行程式碼的事。MIT 授權讓這一切隨你處置。

它碰不了拖延或焦慮那種大題目,處理的就是一個很小很具體的問題:每天那幾次「就這一次」的談判。如果這個描述讓你苦笑了一下,那 99 格裡的 1 格紅色,大概就是為你畫的。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1145

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...