Tai 開源 Windows 時長統計器,把每天的時間花去哪裡記在本機

Tai 是開源的 Windows 軟體與網站使用時長統計器,用前景視窗事件記錄每個程式用了多久,資料存本機 SQLite 不上雲端。這篇整理它的統計機制、隱私邊界、停更兩年多的現況,以及安裝前該知道的取捨。

用 AI 摘要這篇文章:

在 Windows 上想弄清楚「今天的時間到底花去哪」,手機有螢幕使用時間可以看,桌機卻沒有內建答案。會找到 Tai 的人通常接著想問三件事:它怎麼知道我在用哪個軟體、紀錄會不會被傳上雲端,以及一個最後版本停在 2023 年底的工具,現在裝到底行不行。這三個問題的答案都攤在 Tai 的原始碼、GitHub issue 和瀏覽器商店頁面上,下面逐項回答,收在一份安裝前的取捨清單裡。

先給結論:如果你用的是 Windows,想要一個免費、把資料留在本機的使用時長統計器,而且能接受版本凍結、問題不一定有人修的現實,Tai 值得一試。若你要的是持續更新、有正式支援的產品,它從頭到尾都不是那種東西,這一點連開發者自己都沒有打算掩飾。

焦點在才算數:Tai 對「使用」的嚴格定義

Tai 是一位獨立開發者以 MIT 授權釋出的 Windows 工具,2021 年 11 月出現在 GitHub,累積 5,094 顆星、246 次 fork,12 個版本的安裝包合計被下載 52,552 次。它做的事情跟手機的螢幕使用時間同構:記下你在每個軟體待了多久,換算成每日與每週的圖表,也能統計網站瀏覽時間。

它對「使用」的定義比直覺嚴格:不是程式開著就算,而是視窗取得焦點才開始計時,失去焦點就停止。切去別的視窗、離開座位被判定休息、螢幕進入鎖定,都會暫停記錄。行為設定也圍繞這個定義展開:可以只統計白名單裡的軟體、用處理程序名稱或網址的正規表示式過濾特定目標、把多螢幕工作時的其他螢幕程式設成關聯處理程序同步計時,還能依安裝路徑自動歸類,或替統計項目取好記的別名。

介面走的是輕量路線。官方說明文件的截圖顯示,主畫面分成「今日」與「本週」兩個視角,最上方是應用程式與網站兩張「最為頻繁」卡片,各列出前三名與進度條;側邊欄依序是統計、詳細、分類幾個入口,淺色底配綠色強調色,整體是乾淨俐落的現代桌面 App 樣式,不像傳統免費工具那種塞滿按鈕的控制面板。

Tai 官方介面截圖:主畫面提供今日與本週視角,列出應用程式與網站最常使用的項目與時長Pin
Tai 官方說明文件的介面截圖,以今日與本週兩種視角呈現應用與網站的使用頻繁項目與停留時長。

如果你真正想管的是分心而非記錄時間,專注類工具或針對特定網站的專注腳本會更直接;Tai 的價值在於先誠實記下現況,怎麼改進是看完報表之後的事。

幾個行為設定在實務上也比看起來有用。白名單模式適合反過來想的人:與其記下所有軟體再事後過濾,不如只統計你真正在意的那幾個工作程式,報表乾淨得多。關聯處理程序是為多螢幕工作流設計的,把輔助螢幕上的參考工具掛到主工作程式下面,時間不會因為焦點在兩個螢幕之間移動而被切碎。過濾規則支援正規表示式,想把通勤時開著的通訊軟體整段排除,一行規則就夠。

它怎麼知道你用了多久:系統鉤子與瀏覽器擴充兩條線

軟體端的機制寫在 Core 專案的 AppObserver.cs:程式啟動時呼叫 Windows 的 SetWinEventHook,只訂閱前景視窗切換這一種事件。每次你把焦點換到別的視窗,它就記下「哪個程式、從幾點幾分、用了多久」。有使用者直接在 issue 問統計原理,開發者在 2026 年 7 月回覆得毫不隱晦:用 Win32 API 鉤住視窗啟用事件,並附上原始碼路徑讓人自己查證。

這個機制有兩個實務影響。Tai 的執行檔在應用程式清單裡直接聲明 requireAdministrator 等級,說明文件也寫明不以管理員身分執行會統計不到部分軟體,因為一般權限的程式看不到以更高權限執行的視窗。另一個影響是「人還在不在電腦前」的判定:Tai 架了低層鍵盤與滑鼠鉤子,配合電源事件與工作階段切換通知來決定暫停或恢復;從程式碼看,鉤子只消費按鍵按下、雙擊、滾動這類事件型別,沒有把按鍵內容寫進任何地方。對「會不會順便變成鍵盤側錄」這個疑慮,原始碼給的是明確的否定答案。

在場判定還有一段值得細看的設計。每五分鐘 Tai 會檢查一次鍵盤滑鼠有沒有動靜,都沒有時,它不會直接判定你離開,先去聽系統有沒有正在播放聲音:連續偵測約半分鐘,有聲音就繼續計時,畢竟看影片、聽音樂時本來就不太動鍵鼠。但聲音連續播超過兩小時仍沒有鍵盤輸入,它就認定人早走了,把剩下的時間還回去。這套規則解釋了兩件事:為什麼追劇時的統計仍然合理,也為什麼偶爾會出現螢幕鎖定後多計一段的爭議,邊界案例本來就難做到零誤差。

網站瀏覽是另一條線。瀏覽器不會把分頁狀態告訴任意程式,所以 Tai 另外提供名為 Tai Sentry 的擴充,在 Chrome 線上應用程式商店上架(Edge 可直接共用同一套),安裝數約 4,000、評分 4.6。擴充在資訊清單裡只申請分頁權限,作用是把目前焦點分頁的網址、標題與停留秒數,透過本機的 WebSocket 連線(127.0.0.1 的 8908 埠)送回 Tai 本體,連線狀態反映在擴充圖示的彩色與灰階。要在設定裡手動開啟網站統計功能,這條線才會啟動。擴充要求 Chrome 116 以上版本,近年版本的瀏覽器都符合,不算額外門檻。

擴充的原始碼也在倉庫裡,幾個設計細節值得記下:它每十秒發一次心跳,防止新版 Chrome 把背景 Service Worker 休眠掉;通知失敗的紀錄會進佇列,之後每十秒重送一次;連續重連失敗五次就自行進入睡眠,等 Tai 回應再醒。反方向也有訊號:當 Tai 判定你離開電腦,會廣播睡眠通知給擴充,讓兩邊的時鐘一起停。兩個元件合計幾百行程式碼就串起這件事,沒有雲端中介。

資料放哪、會不會上傳:一個明文 SQLite 檔案與兩條對外連線

Tai 把統計寫進程式目錄下 Data 資料夾裡的 data.db,格式是未加密的 SQLite,可在設定裡匯出成 Excel 能直接開的 xlsx 與通用 csv,要進一步自己畫圖或對帳都拿得走原始資料。沒有帳號系統,沒有雲端同步,整個專案也找不到遙測或分析框架的蹤影,依賴清單是資料庫、報表匯出、本機 WebSocket 這類本地用途的函式庫。

官方說法寫得相當滿:說明文件聲稱除了主動檢查更新之外完全沒有其他網路請求,也不會收集上傳任何資訊;倉庫裡另有一份隱私聲明,列出它處理的內容是網頁標題、網址、訪問時間與時長、網頁圖標。對照原始碼,這句話在純軟體統計下成立:整個專案會對外連線的地方只有兩處,一是更新檢查,打 GitHub 的公開 API,而且要到設定頁手動觸發;二是網站圖示的抓取。

第二處則是宣稱裡沒有點破的例外:隱私聲明雖然把網頁圖標列為處理內容,卻沒有提到取得圖示的方式是對造訪過的網站發出請求。開啟網站統計後,Tai 會把你造訪的每個網站的圖示抓回本機快取,請求對象是該網站自己的圖示網址,存檔名稱帶有年月,等於每個月對同一網站重抓一次。這不構成資料外洩,但你造訪過的網站與其 CDN 有機會看到一次來自你電腦的請求。換句話說,「完全沒有其他網路請求」的適用範圍,是不開網站統計功能的使用者。

Tai Sentry 瀏覽器擴充在 Chrome 線上應用程式商店的頁面,顯示約 4,000 位使用者與評分Pin
Tai Sentry 擴充在 Chrome 線上應用程式商店的頁面,約 4,000 位使用者安裝,負責把焦點分頁資料送回本機的 Tai。

還有一個原始碼看得到、任何文件都不會提的細節:那個本機 8908 埠的 WebSocket 服務沒有做來源驗證。就程式碼而論,本機上的其他程式、乃至瀏覽器裡的網頁,理論上都能連上這個埠塞進假紀錄;實際影響僅止於攪亂你自己的統計數字,伺服器端沒有任何往外送的邏輯。對多數人這比較像知識而非風險,但知情本來就該是安裝前的標配。

停更兩年九個月之後:版本凍結,開發者還在 issue 區回話

時間線先攤開。Tai 的活躍期集中在 2022 到 2023 年:從 2022 年 10 月起一年多裡擠出 12 個版本,光是 2022 年 11 月的 1.4.0.0 就有 7,303 次下載。壓軸的 1.5.0.6 發布於 2023 年 12 月底,之後再沒有新版本,那個安裝包至今累積 31,159 次下載。2024 年整年零提交。2025 年 6 月,開發者補上凍結後唯一一次提交,內容是在說明文件頂部加了兩行「廣告位出售」,附一組以 base64 編碼的聯絡方式。原始碼主線距離 1.5.0.6 標籤只多出兩個提交,一半是別名長度的微調,一半就是那則廣告位。一個五千顆星的專案,留給世界的最後一次提交是在賣 README 廣告位,這個畫面本身就說明了維護狀態。

不過停止發版不等於人消失了。開發者的帳號在這個倉庫累積 149 則留言,2026 年 7 月還在回覆新開的 issue,包括解釋統計原理、請使用者補充錯誤細節。也有使用者在 2026 年 9 月開 issue 直問是不是兩三年都沒更新了,那一則至今沒有人回。2026 年 10 月,另有社群成員提交了加上英文說明的文件修改,還在等待合併。

品質面的已知問題都還開著:有使用者回報某天 18 點的時段被計成 30 小時,等於一天暴增到不可能的數字,這個問題開了快一年沒有修;螢幕鎖定後仍繼續計時、沒動過遠端桌面卻出現遠端桌面時長,也都掛在待修清單上。還有人遇上程式完全啟動不了,最後自己發現是背景殘留了舊的處理程序,關掉就恢復。持平地說,回報暴計問題的那位使用者同時自述用了挺久,整體仍算滿意;凍結的結論不是不能用,而是數字要當參考看。有趣的是,有人在留言區貼出自己仿照重寫的替代品:那個專案後來換了帳號名,舊連結會自動轉址到新家,146 顆星、2026 年 8 月還有提交,比 Tai 本體的最後動靜更新。真想留後路的人,社群已經鋪了一條。

判斷一個開源專案還活不活,發布日期只是其中一個訊號,觀察星數與活躍度的工具提供另一個切入點;Tai 的案例則顯示,星數與版本都可能停在原地,只剩開發者的留言還有溫度。

管理員權限、簡體介面、明文資料庫:安裝前的取捨

把已知資訊收攏成決策面。Tai 每次都要以管理員身分執行,對安全敏感的人是硬傷;介面是簡體中文,繁體使用者讀得懂但不算舒適;瀏覽器統計只支援 Chrome 與 Edge,Firefox 沒有官方對應擴充,討論區倒是有社群重打包的版本;資料庫是明文 SQLite,跟家人共用同一台電腦同一個帳號時,你滑了多久社群網站別人打開檔案就看得到,重視這點的人要自己權衡;執行環境需要 .NET Framework 4.8,Windows 10 以上通常已內建。再加一條使用心態:時長暴計、螢幕鎖定誤記這類問題還開著,把它當趨勢參考比把它當精確帳本健康。

這些取捨的共同背景是:它是免費的個人專案,支持方式是說明文件裡的贊助碼,2025 年又掛了個待售的廣告位,沒有商業義務對任何人負責。接受這個前提,它換給你的東西也算實在:MIT 授權可以自己改,資料完整落在你手裡,機制透明到可以直接讀碼檢驗,連「統計原理是什麼」這種問題,開發者都用一行原始碼路徑回答你。

記時間帳的最短路徑:下載、管理員執行、裝擴充

Tai 適合的人:長時間用 Windows、想誠實面對自己時間去向、不想為了統計時間再註冊一個帳號的人。分類功能讓你可以把工作、娛樂切成不同桶子,每週回頭看分佈變化,比單看總時長更容易看出模式。它也是喜歡記帳的人的另一種記法,記帳工具記金錢流向,Tai 記注意力流向。若你需要跨裝置同步、正式支援或持續的新功能,開源的 ActivityWatch 或商業方案才是合理的搜尋方向。

開始使用的路徑很短:到 GitHub releases 下載標記 Latest 的 1.5.0.6 壓縮包,解壓到非系統碟的資料夾,對著 Tai.exe 按右鍵以管理員身分執行,系統匣出現幽靈圖示就代表記錄開始了,統計頁可以按日、按週切換,也能回頭翻任何一天的明細。要網站統計的話,到商店安裝 Tai Sentry 擴充,回設定裡開啟對應功能,擴充圖示轉為彩色表示連線正常;Edge 沒有獨立的商店上架,官方討論區提供了同一套擴充的壓縮包,用開發者模式載入即可。反悔的成本也低:設定裡關掉開機自啟,刪掉資料夾就完成解除安裝。

一句話收尾:Tai 是一個兩年多沒有再進步、但把「資料不出門」做得很徹底的工具,它的價值取決於你更在乎有人持續維護,還是每一分鐘的紀錄都留在自己機器上。

Sliven 褚崇名
Sliven 褚崇名

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

文章: 1961

發佈留言

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


Share to...