WakaTime 是一款紀錄 Coding 時間的好用工具,只要安裝 IDE 的擴充套件,就可以輕鬆地記錄各個語言、編輯器、專案所用的時間。我從 2020 年寫了篇 WakaTime 介紹文章 開始,也一路用到現在 2025 了,已經習慣動不動上去看兩眼的生活。

但在相對封閉的一些環境進行開發時,我們可能需要先對 WakaTime 調整一些設定才能用得安心,這篇筆記就分享一下最近遇到的三個場景,供有興趣的朋友參考參考。

在 WakaTime 隱藏敏感資訊(檔案名稱、專案名稱…)

Wakatime 除了會記錄使用的程式語言和 IDE 等工具以外,也會紀錄專案、檔案路徑等等。但有時候我們可能並不希望記錄這些資訊(像是業主委託的專案名稱有點敏感啦、路徑可能有個人姓名之類的),這時就需要調整 Wakatime 的 Config,來把相關的資訊隱藏起來。

Wakatime 的設定會放在 .wakatime.cfg
(Windows 預設會在 C:\Users\{User}\C:\Users\{User}\.wakatime

開啟之後就會看見自己的 API Key 等設定,像這樣:

[settings]
api_key = ***

能在 .wakatime.cfg 調整的設定值可以參考官方文檔:USAGE.md

因為這次我們的目標是隱藏資訊,所以會用到的主要是 Hide 四兄弟:

  • hide_file_names:隱藏檔案名稱
  • hide_branch_names:隱藏分支名稱
  • hide_project_names:隱藏專案名稱
  • hide_project_folder:隱藏專案資料夾

全打開的話會像這樣:

[settings]
api_key = ***
hide_file_names = true
hide_branch_names = true
hide_project_names = true
hide_project_folder = true

接下來讓我們簡單認識一下它們。


開啟 hide_file_names(隱藏檔案名稱)之後,檔案名稱就不會傳送上去。

在 WakaTime 看見的會是 HIDDEN: Image

補充:因為檔案名稱變成 HIDDEN 了,所以如果原本有用自訂規則來偵測副檔名之類的做法(像 .linq => C#)就會吃不到囉。如果有使用 Custom rules 的朋友請再注意一下。


開啟 hide_project_names(隱藏專案名稱)之後,則會幫你的專案取一個新名字。這個名字會在專案資料夾底下建一個 .wakatime-project 的檔案並存放在裡面。

在 WakaTime 看見的就會是這組專案名稱囉:

Image


最後這組 hide_project_folder 則是會隱藏完整路徑。

原本的路徑像是這樣的話:/User/me/projects/bar/src/file.ts
就會變成這樣:src/file.ts

如果路徑上有個人資訊的時候,像是 C:\Users\{User}\...\file.ts 的話,就很適合把 hide_project_folder 打開。


除了上面四個 hide 兄弟以外,另一個隱藏資訊常用的設定是 hostname

推薦在電腦名稱需要隱藏的時候使用,例如:

[settings]
hostname = nice_machine

在 WakaTime 就可以看見自訂的機器名稱囉:

Image

開啟 WakaTime 離線暫存(Offline)

除了隱藏專案相關的敏感資訊以外,有時候我們也會到一些暫時無法聯網的地方工作。

這時候像 Git 這種可以離線工作、連線再上傳的工具就非常方便。

而 WakaTime 同樣也有 Offline 模式,開啟之後即使是離線的,也會把相關的紀錄暫存起來,等到有網路的時候再上傳。

要開啟的話,同樣要先到上面提到的 .wakatime.cfg,加上:

offline = true

這樣當我們沒有接上網路的時候,WakaTime 就會顯示離線模式:

Image

離線模式時,會將資料暫存在 .wakatime/offline_heartbeats.bdb,等待重新連線後再上傳

這樣就可以安心繼續 Coding 囉~


如果想手動上傳的話,也可以找到 .wakatime/ 底下的 Wakatime CLI,直接呼叫上傳離線資料的指令

以我在 Windows 64 位元的工作機為例,應該會找到 wakatime-cli-windows-amd64.exe

接著就可以使用 --sync-offline-activity 來同步資料:

# 確認待上傳的離線資料筆數
.\wakatime-cli-windows-amd64.exe --offline-count

# 上傳離線資料
.\wakatime-cli-windows-amd64.exe --sync-offline-activity 9999

Image

WakaTime 卡在初始化(initialized)?試試下載 WakaTime-CLI

這次還有遇到一個怪怪的狀況:WakaTime 的狀態一直卡在初始化(initialized)

折磨半天之後,終於找到了問題:我的開發環境連不到 Github,而 WakaTime 會嘗試上去 Github 更新 WakaTime CLI,於是就卡住了。

這時候可以嘗試手動下載 WakaTime CLI 來解決。首先到 github/wakaTime-cli - Release,根據作業系統下載對應的壓縮檔(我用另一台電腦上去拉的)

解壓縮之後會得到 wakatime-cli-{os}-{version}.exe,以我在 Windows 64 位元的工作機為例,就會是 wakatime-cli-windows-amd64.exe

把這個 exe 手動丟到 .wakatime 資料夾裡,就可以重開 IDE 觀察看看有沒有疏通囉~

備註:因為初始化的步驟不僅這項,也可能還有其他原因導致卡住
如果有用其他解法成功打通的朋友也歡迎分享~

參考資料