政府公開資料 · 每日自動重新產生
今天,放假嗎?
輸入任一日期,立刻知道台灣當天是否放假、假期名稱與分類。同一份資料也能直接給腳本、CI 或 AI 代理人讀取。
選好日期後按下「查詢」,結果會顯示在這裡。
查詢中…
- 假期名稱
- -
- 分類
- -
- 說明
- -
檢視原始 JSON
公開資料,回到日常
行政機關辦公日曆表本來就是公開資料。這個網站把它整理成固定網址的 JSON,讓查詢的人、寫腳本的人與代理程式,讀到的是同一份答案。
- 資料來源
- 臺北市政府行政機關辦公日曆表,取自政府公開資料。
- 更新方式
- GitHub Actions 每日重新產生,發布到 GitHub Pages。
- 取用條件
- 純靜態 JSON 檔案,免註冊、免金鑰,網址可直接分享。
安裝 CLI
一行指令安裝
有 Node.js 的環境可用 npm/npx 直接安裝;也可以複製下面對應你系統的那一行。所有路徑都會自動判斷平台與 CPU 架構,並比對官方的 checksums.txt 驗證 SHA-256;雜湊不符就會中止安裝。
npm/npx:任何支援 Node.js 的平台都能用
需要 Node.js 20 以上。全域安裝一次,之後就能在終端機直接使用 holidaytw;npm wrapper 會自動下載並驗證正確的原生執行檔。
npm install -g holidaytw
只想試用、不想全域安裝,可直接執行 npx holidaytw --json YYYY-MM-DD;Agent 或 CI 請使用 npx --yes holidaytw --json YYYY-MM-DD。
使用 install.sh,自動判斷作業系統(macOS/Linux)與架構(amd64/arm64)。
curl -fsSL https://raw.githubusercontent.com/doggy8088/holidaybook/master/install.sh | sh
預設安裝到 ~/.local/bin。
在 Windows PowerShell 使用 install.ps1,自動判斷架構(amd64/arm64)。
irm https://raw.githubusercontent.com/doggy8088/holidaybook/master/install.ps1 | iex
預設安裝到 %LOCALAPPDATA%\Programs\holidaytw。
不帶參數執行時安裝的是 latest release(永遠對應 GitHub Releases 上最新的版本)。腳本不會自動修改 PATH;安裝目錄若不在 PATH 中,腳本會在結束時提示你加入。
npm/npx 是跨平台的快速入口;要指定版本、改原生執行檔安裝目錄,或想自己下載壓縮檔與 checksums.txt 手動安裝,請參考 GitHub Releases。原生安裝腳本仍不會自動修改 PATH,也不需要 Homebrew、apt 或 winget。
或讓 AI 代理人透過 Agent Skill 自動安裝
支援 Agent Skills 的工具可以直接讀取這個指令。skills 會掃描儲存庫並安裝根目錄 skill/SKILL.md 定義的技能,偵測目前環境支援哪些代理人,讓你選擇要安裝到「這個專案」還是「全域」共用;安裝結果會記錄在目標專案的 skills-lock.json,.github/skills 底下的 repository-scoped 副本不會被重複安裝。
npx skills add doggy8088/holidaybook
技能載入後會依序自動判斷環境:本機已安裝 holidaytw 就直接使用;若有 Node.js/npm,會先使用已正式發布且已確認名稱所有權的官方 npx --yes holidaytw;失敗後才依作業系統自動切換成上方的 macOS/Linux 或 Windows 官方一行安裝指令;最後才會退回直接呼叫 HTTPS JSON API 讀取資料。
如果想一次安裝到所有支援的代理人,可以改用 npx skills add doggy8088/holidaybook --all;預設指令則會先讓你挑選要安裝的代理人與安裝範圍。
若只想安裝給特定代理人(例如 GitHub Copilot)、固定安裝到「這個專案」並跳過互動確認,可以執行 npx skills add doggy8088/holidaybook --agent github-copilot --yes,指令會在當前專案直接產生 .agents/skills/query-taiwan-holiday/ 與 skills-lock.json,適合腳本或 CI 等非互動式環境使用。
終端機與腳本裡的查法
同一份資料可以在終端機、腳本或 CI 流程中直接查詢,不需要另外申請金鑰。安裝 CLI 會多一層正規化過的輸出;沒安裝也能用 curl 讀取靜態 JSON。
CLI 與 curl 範例
若已安裝 holidaytw CLI:
holidaytw 2025-07-20
輸出:
2025-07-20:放假 類別:星期六、星期日
加上 --json 取得機器可讀的輸出,方便串接腳本:
holidaytw --json 2025-07-20
輸出:
{"date":"2025-07-20","isHoliday":true,"name":"","category":"星期六、星期日","description":""}
沒有安裝 CLI 的話,直接用 curl 讀取靜態 JSON 也可以:
curl -fsS https://holiday.gh.miniasp.com/2025-07-20.json
給 AI 代理人的查詢慣例
將日期代入路徑即可,不需要額外的驗證流程或請求標頭。
GET https://holiday.gh.miniasp.com/{YYYY-MM-DD}.json
isHoliday = 1 表示當天放假
isHoliday = 0 表示當天正常上班、上課
name、holidaycategory、description 可能為空字串
建議代理人以 isHoliday 欄位為準,不要用「是否為週末」自行推算,因為補班日與國定假日調整都會覆寫一般的週末規則。
CLI 的 --json 會把同一份資料正規化成 date(YYYY-MM-DD)、布林值 isHoliday 與 category;直接讀取靜態 JSON 時則是 YYYYMMDD、0/1 與 holidaycategory。
JSON 路徑與欄位
單日、單月、單年三種路徑共用同一個資料結構;月與年的回應是物件陣列。
| 欄位 | 型別 | 說明 |
|---|---|---|
date |
string | 日期,格式為 YYYYMMDD。 |
isHoliday |
0 或 1 | 1 表示放假,0 表示正常上班上課。請直接採用此值,不要自行以星期幾推算。 |
name |
string | 國定假日或紀念日名稱,平日與例假日通常為空字串。 |
holidaycategory |
string | 假期分類,例如「星期六、星期日」或「放假之紀念日及節日」。 |
description |
string | 補充說明,可能為空字串。 |
路徑
- 單日
/{YYYY-MM-DD}.json
例如/2025-07-20.json- 單月
/{YYYY-MM}.json
例如/2025-07.json- 單年
/{YYYY}.json
例如/2025.json
需要留意的例外
- 軍人節只有軍人放假,本資料將它標記為非假日(
isHoliday: 0)。 - 勞動節只有勞工放假,一般行政機關與學校照常上班上課。
- 補班日會顯示為正常上班日,即使落在週六、週日。
- 超出來源日曆表已公告範圍的日期(通常是尚未公告的年度),會先以正常上班日呈現,實際放假規則仍以政府公告為準。