# OffWorkCountdown 功能介紹

> Windows／macOS 常駐工作節奏工具。登入一次 104 企業大師，今天幾點下班、何時喝水、哪一輪該休息，都交給桌面上的小工具與工程鴨提醒。

## 快速導覽

1. [今天幾點下班](#今天幾點下班)
2. [HUD：不用切視窗也看得到](#hud不用切視窗也看得到)
3. [把工作切成舒服的節奏](#把工作切成舒服的節奏)
4. [工程鴨桌面寵物](#工程鴨桌面寵物)
5. [Pet Studio：做自己的桌面夥伴](#pet-studio做自己的桌面夥伴)
6. [出缺勤與快捷申請](#出缺勤與快捷申請)
7. [加班歷程與費用估算](#加班歷程與費用估算)
8. [外觀、捷徑與常駐方式](#外觀捷徑與常駐方式)
9. [資料與安全](#資料與安全)

## 一眼看懂

OffWorkCountdown 把一天會反覆確認的事情集中在桌面：

- 從 104 讀取今日上班時間，自動算出預計下班時間。
- 透明置頂 HUD 顯示倒數、午休、番茄鐘、喝水與下一個提醒。
- 番茄鐘、喝水、午休、自訂提醒各自管理，不需要再開多個 App。
- Debug Duck 在桌面陪伴、移動、回應點擊，也負責顯示通知。
- 工具中心可以查出缺勤、追蹤表單、快速開啟請假／加班／補卡。
- 加班歷程可依月或自訂區間查詢，選填月薪後估算加班費與誤餐費。

## 今天幾點下班

第一次使用時，App 會開啟自己的 104 官方登入視窗。登入工作階段保存在 App 專用的 WebView 中；之後會直接讀取今日上班紀錄，不保存帳號、密碼，也不匯出登入 token。

### 下班時間怎麼算

| 今日上班時間 | 預計下班時間 |
| --- | --- |
| 09:00–09:30 | 上班時間加 9 小時 |
| 09:31 之後 | 18:00 |
| 09:00 之前 | 18:00 |

例：09:23 上班，預計 18:23 下班；09:30 上班，預計 18:30 下班；09:31 上班，預計 18:00 下班。

### 自動同步，不一直打擾 104

- 工作日 09:00–09:30：每分鐘同步，取得今日紀錄後停止。
- 09:30 後仍沒有紀錄：10:00–18:00 每個整點再同步一次。
- 週末、09:00 前與 18:00 後不做背景同步，仍可手動按「立即同步」。
- 可設定下班前 0–120 分鐘提醒，也能直接送出測試通知。

## HUD：不用切視窗也看得到

HUD 是透明、無框、置頂的小面板，主畫面直接顯示距離下班的剩餘時間與今日上下班時間。

- 七段顯示器／一般文字兩種倒數樣式。
- 玻璃透明度 35–100%，滑鼠移入時暫時恢復清楚顯示。
- 整體大小 50–150%，面板與內容一起縮放。
- 釘選後持續顯示；未釘選時失焦自動隱藏。
- 記住上次位置，可直接拖曳到順手的角落。
- 工具列可切換釘選、開關桌寵、立即同步、開啟工具中心。
- 卡片區同步顯示番茄鐘、下一次喝水、午休倒數與下一個自訂提醒。
- `Ctrl+Alt+H` 可隨時叫回 HUD。

## 把工作切成舒服的節奏

### 番茄鐘

可設定專注、短休息、長休息與長休息週期，支援開始、暫停、繼續、跳過與重設。

- 專注結束後可自動開始休息。
- 休息結束後可自動開始下一輪專注。
- 一輪只計算自然完成的專注倒數；跳過不累計。
- 只有重設或關閉番茄鐘會把輪數歸零。
- HUD 與工具中心都能控制目前計時。

### 喝水提醒

- 間隔可設定 15–240 分鐘。
- 只在今日 104 上班到預計下班之間生效。
- 啟用或同步出勤後自動排程。
- HUD 與工具中心都能從「現在」重新排程。

### 午休提醒

- 工作日預設 13:00 開始，可自行調整開始時間。
- 結束固定為開始後 1 小時。
- 開始與結束各提醒一次。
- HUD 可顯示距離午休開始，以及午休進行中的剩餘時間。
- 通知提醒與 HUD 午休倒數可分開開關。

### 自訂提醒

輸入名稱、補充內容與第一個時間點，即可建立單次、每日、每週、每月或每年提醒。提醒可以先儲存但不啟用，也能隨時編輯或移除。

## 工程鴨桌面寵物

內建 Debug Duck 不只是裝飾，也是通知與快速操作入口。

- 待機、走路、通知、午休、親近、生氣、哭泣 7 種狀態。
- 點擊會回應；長按可拖曳，位置會被記住。
- 通知出現時停止漫遊，點擊工程鴨或氣泡確認後再恢復。
- 通知尚未確認時會保留狀態，下次開啟仍看得到。
- 可調整 50–150% 大小，寵物、氣泡與互動區一起縮放。
- 可關閉動畫，改用靜態圖片。
- 四種移動路線：活動視窗外圍、追隨游標、螢幕邊框、自由漫遊。
- 透明圖片以可見像素判斷點擊；透明區域不擋住桌面操作。
- 右鍵選單可開 HUD、工具中心、立即同步、開啟 104 或結束 App。

未啟用桌寵，或桌寵尚未就緒時，通知會自動改用系統通知。

## Pet Studio：做自己的桌面夥伴

不用手動編輯設定檔，在工具中心就能建立、預覽、使用與分享自己的桌寵。

### 基本模式

- 填入名稱、ID、作者與清單預覽圖。
- 待機圖片必填；其他行為可選填，缺少時會安全回退到待機。
- 每個行為可加入 1–24 張透明 PNG 影格。
- 一次加入多張、點擊替換、右鍵刪除，也能拖曳調整影格順序。
- 自訂通知氣泡圖片、標題色與文字色。

### 進階模式

- 同一行為建立多套動畫，設定權重並避免立刻重複。
- 自訂播放頻率、逐格時間與是否循環。
- 為各事件加入多句台詞，觸發時隨機挑選。
- Live Preview 可指定動畫、重新播放、顯示中心準心。
- 「連播 10 次」快速檢查多套動畫的出現比例。

完成後可匯出 `.owpet` 分享；也能匯入、預覽、編輯或刪除自訂寵物。內建工程鴨可複製成可編輯版本。

## 出缺勤與快捷申請

「出缺勤」頁把 104 每日紀錄與表單集中在同一張表：

- 查本月、上個月，或最多 366 天的自訂區間。
- 顯示日期、上下班打卡、班表、出勤狀態與相關表單。
- 追蹤簽核中與已完成表單，點一下回到 104 詳情。
- 依當日狀況提供請假、加班、補卡等快捷申請。
- 快捷申請只開啟 104 官方表單並預填可確認內容，不會代替使用者送出。

## 加班歷程與費用估算

- 查本月、上個月，或最多 366 天的自訂區間。
- 摘要加班總時數、加班費折換、補休取得與剩餘。
- 明細可查看申請單號、區間、日別判定與各種時數。
- 日別可逐筆覆核為平日、休息日或國定假日。
- 月薪為選填；填入後依日別級距估算加班費。
- 每日加班超過 2 小時時，另估算 NT$150 誤餐費。
- 查詢結果與月薪只留在本次工具中心工作階段，不寫入設定檔。

## 外觀、捷徑與常駐方式

- 工具中心支援系統、深色、淺色三種主題；預設跟隨作業系統。
- 工具中心字體可切換小、中、大，不改變 HUD 或桌寵大小。
- 關閉 HUD、工具中心、桌寵或 104 視窗只會隱藏，不會結束 App。
- Windows 通知區常駐選單可開 HUD、工具中心、同步出勤、開啟 104 或結束程式。
- 「恢復預設值」會重設 App 設定、番茄鐘與提醒；104 登入、今日出勤與已安裝寵物保留。
- Windows 版維持單一 portable EXE；macOS 提供 Universal `.app`／`.dmg`。

## 資料與安全

- 使用 104 官方頁面與 App 專用持久化 WebView，不保存帳號或密碼。
- 104 遠端頁只能回報限定資料，Rust 端會再次驗證來源視窗與網址。
- WebView2 profile、設定、今日紀錄與自訂寵物保存在 App 的 Local App Data。
- `.owpet` 只允許 manifest 與 PNG，不允許腳本。
- 匯入時限制壓縮檔、解壓大小、檔案數量、PNG 格式、尺寸與路徑安全。
- 自訂圖片透過唯讀 `petasset://` 讀取，前端不能任意讀取其他本機檔案。

## 建議使用順序

1. 第一次啟動，在 104 官方視窗完成登入。
2. 把 HUD 放到順眼的位置，設定透明度、大小與倒數樣式。
3. 開啟下班、午休與喝水提醒。
4. 需要專注節奏時再開番茄鐘。
5. 開啟 Debug Duck，選一條不打擾工作的漫遊路線。
6. 想換角色時，用 Pet Studio 建立或匯入自己的桌面夥伴。
7. 月底到「出缺勤」與「加班歷程」快速回顧。
