hipass-receipt

hipass-receipt

熱門

重複使用使用者在 Hi-Pass 官方網站親自登入的 Chrome 工作階段(Session),協助查詢使用紀錄與開啟收據彈出視窗。

6464星標
736分支
更新於 2026/7/23
SKILL.md
唯讀
名稱
hipass-receipt
描述

重複使用使用者在 Hi-Pass 官方網站親自登入的 Chrome 工作階段(Session),協助查詢使用紀錄與開啟收據彈出視窗。

Hi-Pass 收據開立

What this skill does

在 Hi-Pass 官方網站(https://www.hipass.co.kr)中重複使用已登入的瀏覽器工作階段,以半自動方式協助完成:

  • 查詢使用紀錄
  • 選擇特定交易項目
  • 開啟收據彈出視窗/列印頁面
  • 偵測工作階段過期並提示重新登入

Hard limits

  • 必須由使用者親自完成登入。
  • 本 Skill 僅適用於已登入的工作階段
  • 不會自動輸入 ID/密碼、驗證碼、OTP 或共同憑證(Joint Certificate)等驗證流程。
  • 不支援僅儲存 JSESSIONID Cookie 並長期重複使用的模式。
  • 建議使用的工作階段型態為 Playwright persistent context,或是重複使用 Chrome 的 user-data-dir / 遠端偵錯(remote-debugging)模式。
  • 若工作階段過期,必須立即中斷並重新登入。

Why this design

根據目前公開頁面的機制:

  • 登入頁面與首頁皆會顯示 session_time=1200
  • 延長工作階段為 /comm/sessionCheck.do
  • 結束工作階段為 /comm//sessionout.do
  • 未登入/工作階段結束保護回應為 mgs_type 11/12 後跳轉至 /comm/lginpg.do
  • 使用紀錄查詢流程為 /usepculr/InitUsePculrTabSearch.do → 送出 hpForm/usepculr/UsePculrTabSearchList.do
  • 收據則是開啟 /usepculr/UsePculrReceiptPrint.do 彈出視窗。

因此在 v1 版本中,**「重複使用已登入的 Chrome 工作階段」**是最切合實際的做法。

Prerequisites

  • macOS 或可執行 Chrome 的環境
  • npm install hipass-receipt 或在本儲存庫中執行 npm install(包含 playwright-core
  • 可使用 Chrome 遠端偵錯通訊埠(Remote Debugging Port)
  • 使用者可親自登入 Hi-Pass 帳號

Workflow

1. 使用專用 Chrome 設定檔啟動已登入的瀏覽器

hipass-receipt chrome-command --profile-dir "$HOME/.cache/k-skill/hipass-chrome" --debugging-port 9222

利用上方命令所輸出的 Chrome 啟動指令開啟瀏覽器後,由使用者親自前往 https://www.hipass.co.kr/comm/lginpg.do 完成登入。

2. 查詢使用紀錄

hipass-receipt list \
  --cdp-url http://127.0.0.1:9222 \
  --start-date 2026-04-01 \
  --end-date 2026-04-07 \
  --page-size 30
  • 若已知發卡公司/加密卡號,可使用 --encrypted-card-number 等參數進一步精確篩選。
  • --encrypted-card-number 為 CLI 現有 --ecd-no 的別名。
  • 從回傳的 JSON 結果中確認 rowIndex

3. 開啟特定項目的收據彈出視窗

hipass-receipt receipt \
  --cdp-url http://127.0.0.1:9222 \
  --start-date 2026-04-01 \
  --end-date 2026-04-07 \
  --row-index 1
  • 點擊所選項目的「收據(영수증)」/「列印(출력)」控制元件。
  • 彈出視窗開啟後,將回傳其 URL 與標題(title)。

Response policy

  • 務必明確註明「必須登入」與「工作階段過期時需重新登入」。
  • 切勿索取或儲存 Hi-Pass 帳號密碼,亦不要建立新的環境變數(env var)。
  • 若工作階段已過期,應立即回報失敗,並僅提示前往 /comm/lginpg.do 重新登入。
  • 請勿承諾提供超越 v1 範疇的全自動無人維持登入或背景重新驗證功能。

Verification

  • 自動化驗證:基於 Fixture 的 query/parser/session-detection 測試
  • Smoke 驗證:hipass-receipt fixture-demo --fixture ...
  • 最終正式環境驗證:使用已登入的工作階段進行手動 Smoke Test

Done when

  • 能透過已登入的工作階段查詢使用紀錄。
  • 能選取特定項目並嘗試開啟收據彈出視窗。
  • 能在偵測到工作階段結束回應時要求重新登入。