Skip to content

Releases

v0.9.1

Choose a tag to compare

@tahodev tahodev released this 12 Oct 22:36

[0.9.1] - 2026-10-13

Added

  • SECURITY.md、.github/CODEOWNERS
  • docs/series.md:iT邦幫忙鐵人賽 30 篇連載索引;README 加入 CI/授權/版本徽章與連載連結
  • tests/:labor-health-insurance、income-tax 範例輸出的回歸測試

Changed

  • scripts/check-urls.py:連線失敗(000)或 5xx 時重試一次再判定
  • docs/roadmap.md:無法驗證來源的三項移到「保留」區,計數改為 22/2 全部完成
  • docs/features/ 全部指南加上「回功能表」連結

v0.9.0

Choose a tag to compare

@tahodev tahodev released this 07 Oct 22:16

[0.9.0] - 2026-10-03

Added

  • taiwan-income-tax:綜合所得稅試算。114、115 所得年度的免稅額、標準扣除額、薪資特別扣除額與課稅級距取自財政部公告(2026-10-03 對照公告),純離線 Python,內建斷言(單身薪資 80 萬:115 年度稅額 16,800、114 年度 17,700)
  • taiwan-labor-health-insurance:勞健保費率計算。115 年(2026-01-01 起)勞保 11.5% 加就保 1%、健保 5.17%、勞退雇主 6% 與投保級距;程式輸出與公告分擔金額表的樣本金額核對一致(2026-10-03)。只涵蓋一般受僱全時勞工
  • docs/features/ 兩份指南、README 功能表(中英)、getting-started 與 install 的清單同步

Changed

  • docs/roadmap.md:綜合所得稅試算、勞健保費率計算打勾(新技能 22/24);國道即時路況註記無法驗證暫不實作(高公局 tisvcloud 於 2026-10-03 從實測環境逾時)
  • scripts/check-urls.py:nhi.gov.tw 加入已知會擋雲端 IP 的網域(2026-10-03 實測 www.nhi.gov.tw 回 403,與 info.nhi.gov.tw 同類),降為 WARN
  • README 技能總數 25 → 27;install.md 的 25 技能為 2026-09-20 當時的實測,已標註

v0.8.5

Choose a tag to compare

@tahodev tahodev released this 07 Oct 22:20

[0.8.5] - 2026-10-03

Fixed

  • scripts/check-counts.py:0.8.4 新增的 taiwan-hospital 最後一頁完整性檢查會誤報——兩次請求之間總數已變(2026-10-02 排程 run:預期 177、實得 178,health-check 仍為紅燈)。改用最後一頁回應自己的 total 比對自己的筆數,兩次 total 差超過 50 才視為異常

v0.8.4

Choose a tag to compare

@tahodev tahodev released this 07 Oct 22:19

[0.8.4] - 2026-10-02

Fixed

  • scripts/check-counts.py:taiwan-hospital 總數不再 exact-match 37,133(實際 37,175,health-check 自 9/29 起連續失敗,issue #8)。總數漂移改為 ±5% WARN;真正失敗改看 success 旗標、欄位缺失、總數驟降到 3 萬以下、最後一頁筆數與 total 對不上
  • .github/workflows/health-check.yml:各檢查步驟加 if: ${{ !cancelled() }},一項失敗不再讓 drift/doctests/counts/invoice/measured/urls 被跳過;最後仍由失敗步驟清單開 issue
  • scripts/check-urls.py:文件的 offset=N 說明用網址探測時代入 offset=0,不再回 400 誤報
  • taiwan-stock:「漲幅前 10」範例原本依 Change(價差)排序,高價股永遠排前面;改為 Change / (收盤 - Change) 的漲幅%,空字串與昨收為 0 的筆數略過(2026-10-02 實測)
  • taiwan-suspension:解析器改為逐列讀公告表格(縣市+內容),不再把頁尾備註、法條與發布時限說明混成公告、也不再遺失縣市名
  • taiwan-hospital:分頁範例存成 /tmp/hosp.json,與下一節篩選範例銜接;總數更新為 37,175(2026-10-02)
  • taiwan-id-check:統編與身分證改用 ASCII 正則;全形、上標、其他文字的數字不再丟例外而是回 False;身分證第二碼限 1/2/8/9
  • taiwan-toilet:最近公廁範例改為先合併全部頁面再排序(原本只看第 1 頁);經緯度任一缺值都略過

Changed

  • tests/test_documented_code.py:改為抽出並執行 SKILL.md 內的程式(taiwan-schools、stock、suspension、hospital、toilet),不再複製公式;新增 id-check 異常輸入、stock 排序、suspension 公告列與頁尾、toilet 跨頁與缺值的 fixture(suspension 的公告列為合成 fixture,尚未用真實颱風日頁面驗證)

v0.8.3

Choose a tag to compare

@tahodev tahodev released this 07 Oct 22:19

[0.8.3] - 2026-09-30

Fixed

  • taiwan-id-check:特例驗收向量更正——97176270 加權和 base=40,一般路徑即合法,無法鑑別第 7 碼 7 特例實作;新增合成向量 10000073(base=14,無特例判非法、有特例判合法)。SKILL.md 實測段落/錯誤處理/English summary 與 tests/test_documented_code.py 同步更正(2026-09-30 複測重現)

v0.8.2

Choose a tag to compare

@tahodev tahodev released this 07 Oct 22:19

[0.8.2] - 2026-09-26

Fixed

  • invoice-winning-numbers:修解析誤配——頁首/頁尾分頁連結含「特別獎、特獎中獎清冊」字樣,從期別標籤直接往後掃會把特獎對到清冊連結、讀出特別獎的號碼(2026-09-26 於 115年07-08月期實測重現);解析改從期別標籤後第一個「獎別」表格起點開始。補 2026-09-26 實測記錄(特別獎 38548029、特獎 10138845、頭獎 3 組、無增開六獎;殘留領獎期間仍為上一期,陷阱存在)
  • taiwan-parking:即時場數 1,174→1,188、靜態場數 1,773→1,775(2026-09-26 實測;-9 場仍為 88)
  • youbike-realtime:統一 feed 站數基準 9,521→9,629、服務區約略站數更新(2026-09-26 實測;含「臺」站名 385 站不變)
  • scripts/check-urls.py:404 不再被地區限制 WARN 掩蓋(WARN 限 000/401/403/429/5xx);URL 模式前綴(ETW183W2_、AlertType=)明確跳過;MOENV 的 HTTP 200+純文字金鑰錯誤納入 API 錯誤偵測,占位金鑰探測回此錯誤視為預期;NCDR 同網域請求串行隔 3 秒,不再自踩速率限制;清理 tabi-skill 殘留的無關占位變數;輸出遮蔽 api_key
  • scripts/check-counts.py:停車場場數改為容忍 ±5% 的 WARN 級檢查(變動頻繁,exact-match 曾致 health-check 9/20-25 連續誤報);新增 YouBike 統一 feed 總站數同級檢查;基準值更新
  • health-check.yml:各檢查步驟加 id,自動 issue 內文列出失敗步驟與處理方式;納入 invoice 煙霧測試與實測日檢查

Added

  • scripts/check-invoice.py:lastNumber.html 煙霧測試——期別標籤存在、特別獎/特獎為 8 碼且不重複、頭獎至少一組(網路/地區限制 WARN 略過)
  • scripts/check-measured-date.py:各 SKILL.md 新增「實測日」標頭,超過 90 天未實測則 CI 失敗(排程時自動開 issue 提醒再實測)
  • tests/test_documented_code.py:新增 taiwan-schools 欄位切片回歸(114 學年度 011301 固定樣本,16 班/498 名)與 invoice 分頁連結誤配回歸(fixture 重現 07-08月期版面,執行文件中的解析程式)
  • docs/response-contract.md:回報給使用者的共通規則與實測踩過的陷阱清單,AGENTS/CONTRIBUTING 加連結
  • docs/getting-started.md:依目的分六組的入門指南(25 技能,3 個需金鑰),README 加連結
  • AGENTS.md/CONTRIBUTING.md/PR 模板:金鑰規則補上唯一例外——政府資料平臺公布的資料集公用 key(如 taiwan-toilet 的 data.gov.tw resource key)可提交但須註明來源頁

v0.8.1

Choose a tag to compare

@tahodev tahodev released this 07 Oct 22:15

[0.8.1] - 2026-09-20

Fixed

  • taiwan-oil-price:改用中油官方 open data JSON(data.gov.tw 資料集 166537,vipmbr.cpc.com.tw/opendata/sixtypeoillistprice)為主路徑,HTML 歷史頁改為歷史/備援;週日中午公告次週牌價,公告後可如實回答「下週漲跌」(2026-09-20 實測 200、51 列、免 UA)
  • taiwan-hospital:API 單次 limit 封頂 1,000 筆,全量下載範例改為 offset 分頁(2026-09-20 實測 38 頁取齊 37,133 筆);院所數 37,127→37,133;frontmatter description 贅字修正
  • taiwan-parking:即時場數 1,177→1,174、availablecar=-9 場 87→88(2026-09-20 實測)
  • taiwan-lunar-cal:補「使用方式」一節(python3 存檔執行範例,2026-09-20 實測可跑)
  • postal-address:前 3 碼表 2026-09-20 確認下載區仍為 103.12.25 版,無更新版
  • docs/install.md:執行期工具清單依 25 技能全量盤點(python3 14 技能、jq 7 技能、iconv 3 技能等);乾淨環境安裝以 25 技能重測(2026-09-20)
  • README:30 天計畫移至 docs/roadmap.md

Added

  • docs/conventions.md:跨技能共同慣例(民國年換算、Big5 編碼、curl 習慣、時區),CONTRIBUTING 加連結
  • .github/pull_request_template.md:實測日期、錯誤處理、CHANGELOG、README 檢查清單
  • tests/test_documented_code.py:直接執行 taiwan-lunar-cal 與 taiwan-id-check 的 SKILL 文件程式並對已知向量(17 項)
  • scripts/check-counts.py:博物館 144、圖書館 5,207/610/644、健保院所 37,133、停車場 1,174/1,773 基準數複核;與文件程式測試一併併入 health-check
  • scripts/check-docs-drift.py:加內容檢查——feature note 的 URL 與單位數字須存在於 SKILL

v0.4.2

Choose a tag to compare

@tahodev tahodev released this 11 Sep 21:01

[0.4.2] - 2026-09-12

Changed

  • taiwan-holidays:改為 CSV 優先 — data.gov.tw 資料集 14718 其實有 106-116 年全年度 CSV(含當年度 115 年、明年 116 年,2026-09-12 實測 115 CSV 365 列、平日放假 16 天、總放假 120 天,與 xlsx 解析及人事總處公告一致);官方 xlsx 月曆解析降為備援與交叉驗證。補上 114 下半年起官方廢除補班制度的說明
  • taiwan-holidays:114 年改用 114/10/20 更新版 CSV(舊版漏答 2025/9 後新增的教師節、光復節、行憲紀念日放假);該檔為 Big5 需 iconv,與 115/116 的 UTF-8 不同,文件改為依檔案確認編碼
  • docs/features/taiwan-garbage.md:其他縣市研究結果複驗更新 — 台中資料集 84004 經資源 rid 的免驗證路徑可下載(CSV 4.7MB/JSON 13.7MB,2026-09-12 實測),改列擴充候選(時效待驗證);台南更正為「curl 可連、僅瀏覽器代理黑名單」;桃園、高雄維持不可達
  • taiwan-stock:English summary 補上 openapi STOCK_DAY_ALL 延遲約半天的 caveat(與 zh-TW 內文對齊)
  • postal-address:補資料特性一節 — 全檔掃描結果(路街 30,031 列/村里 8,369 列無缺譯無亂碼)、路名無縣市前綴有 21 組重名、村里英譯 220 列用 U+2019 彎撇號、路街英文欄 2 列含全形數字

v0.1.0

Choose a tag to compare

@tahodev tahodev released this 08 Sep 22:11

baodao-skill 的第一個正式 release:台灣日常生活查詢的 AI 代理技能組合,以不需要登入、不需要 API 金鑰的查詢型技能為核心。

技能

  • invoice-winning-numbers:統一發票中獎號碼查詢與對獎(財政部電子發票整合服務平台公開頁面)
  • youbike-realtime:台北市+新北市 YouBike 2.0 站點即時可借/可還查詢
  • taipei-garbage:台北市垃圾清運路線與清運點查詢(臺北市資料大平臺 CSV)
  • taiwan-weather:台灣 22 縣市天氣查詢(Open-Meteo,免金鑰)
  • cwa-weather:中央氣象署開放資料天氣預報(免費即時發給的 API 金鑰)

重點修正

  • 發票解析:HTML 標籤整個刪除(原先取代成空白會把 8 碼號碼切成 3 碼碎片)
  • 發票領獎期間:只引用與期別同區塊的文字,取不到時依「開獎日次月 6 日起 3 個月」推算並註明需向官方確認
  • 天氣座標表擴充到 22 縣市,地理編碼備援改為英文/拼音指引
  • CI:每日 health-check(frontmatter lint + SKILL.md 內 URL 全數 curl 檢查,失敗自動開 issue)

安裝

npx --yes skills add tahodev/baodao-skill --all -g