Earth Game: 一款用於將生活目標遊戲化的離線 CLI

Earth Game: 一款用於將生活目標遊戲化的離線 CLI

Earth Game 將生活目標轉化為任務制系統

Earth Game 是一款私密、離線的命令列介面 (CLI) 工具,旨在幫助使用者管理生活目標、追蹤下一步行動,並在沒有雲端帳號或 AI 生成建議干擾的情況下,關閉「開放迴圈」(open loops)。它作為個人伴侶,協助選擇方向並檢視進度,以防止個人成長過程中的「漂移」。

核心架構與隱私

Earth Game 的開發核心專注於隱私與極簡依賴。它完全離線運行,且不會發起任何外部網路請求。

  • 技術棧 (Tech Stack): 應用程式使用 Python 3.8+ 開發,且僅依賴 Python 標準函式庫。
  • 數據儲存: 所有使用者數據都儲存在本地的 SQLite 資料庫中。預設情況下,此路徑位於 ${XDG_DATA_HOME:-$HOME/.local/share}/earth-game/earth.db,但使用者可以透過 EARTH_GAME_DB 環境變數來覆蓋此路徑。
  • 零外部依賴: 此工具不需要第三方帳號、不需要出站網路請求,也不需要外部評分系統。
  • 本地 Web UI: 雖然主要是一個 CLI,但該工具包含一個 web 指令,可在 http://127.0.0.1:8765/ 上啟動一個僅限本地使用的 HTTP 伺服器。此介面僅綁定到本地迴路位址 (loopback address),且需要私密會話 URL 才能存取。

功能能力

該工具將個人管理劃分為三個主要類別:角色發展、任務管理與迴圈關閉。

角色與願景管理

使用者可以使用 earth character 指令來定義其個人框架。這允許管理:

  • 價值觀與優勢: 定義使用者的使用者所代表的價值觀以及其擅長的事項。
  • 摩擦力 (Frictions): 識別進度上的障礙。
  • 目標與反願景 (Anti-Vision): 建立使用者正努力邁向的目標,以及他們特別想要避免成為的樣子。

任務追蹤

任務 (Quests) 是達成目標的主要手段。系統強制要求一次只能專注於一個啟動中的任務,以防止過度負荷。

  • 新增任務: 使用者可以新增帶有標題、特定「下一步行動」、支柱 (pillar) 與驅動力 (driver) 的任務。
  • 生命週期: 指令包含 add, list, start, done, 與 drop,用於將目標從啟動到完成。

開放迴圈管理

Earth Game 使用「迴圈」(loops) 的概念來捕捉那些佔據心理空間、尚未解決的任務或疑慮。

  • 捕捉: earth loop add 指令允許使用者快速記錄一個想法或任務。
  • 關閉: earth loop close 指令用於在疑慮解決後關閉它。

操作流程

A typical user loop in Earth Game involves capturing a task, checking the daily status, completing a quest, private reflection, and backing up data:

  1. 捕捉: earth loop add --text "Book the dentist"
  2. 狀態檢查: earth today (顯示當前任務、下一步行動、開放迴圈數量與檢視進度狀態)。
  3. 完成任務: earth quest done 1
  4. 反思: earth review` (記錄五條簡短的反思)。
  5. 數據備份: earth export [PATH] (將數據匯出至可讀取的 JSON 檔案)。

社群觀點

關於此專案的討論突顯了兩極化的觀點:一方是欣賞極簡主義、本地優先 (local-first) 方法的人,另一方則是質疑遊戲化對於生產力工具的實用性。

"I've seen to-do list apps that gameify your tasks and make it like an RPG. Does anyone actually use this stuff or benefit from it? It seems infantilizing"

相反地,其他使用者則注意到 CLI 實作的技術吸引力,以及將標準 TODO 清單遊戲化以提高參與度的潛力。

Sources