Communitygithub.com

cliff-byte/alipay-doc-fetcher

將 JS 渲染的支付寶開放平台文件抓取為 Agent 友善的 Markdown 的跨 Agent Skill(Claude Code / Codex / Cursor 通用)

alipay-doc-fetcher 是什麼?

此 Skill 是專為 AI 代理(如 Claude Code、Codex、Cursor)設計的工具,用來解決支付寶開放平台文件站(opendocs.alipay.com)因採用 JS 渲染 SPA 而無法被傳統 WebFetch 或 curl 工具抓取完整內容的問題。它封裝了 Playwright 瀏覽器自動化工具,能夠模擬使用者操作(如滾動、點擊折疊區塊),從而獲取包含 API 業務參數、嵌套子屬性、枚舉值、錯誤碼表等所有依賴懶加載與交互展開的內容,並輸出為結構化的 Markdown 檔案。使用方式非常直觀:在目前專案目錄下用絕對路徑執行腳本即可,支援單篇或批次抓取,產出會寫入專案內指定的輸出目錄。此外,內建詳細的自檢清單與排障指引,確保抓取結果的完整性與正確性,是開發者整合支付寶技術文件到本地工作流程的必備利器。

相容平台✓Claude Code✓Codex CLI✓Cursor
npx skills add cliff-byte/alipay-doc-fetcher

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

抓取支付寶開放平台文件

支付寶文件站是 JS 渲染的 SPA,WebFetch/curl 拿不到正文,程式碼與參數依賴懶載入與折疊互動。本 Skill 用封裝好的 Playwright 工具一步抓成結構化 Markdown。

何時使用

  • 使用者要把某個支付寶 API / 接入指南 / 錯誤碼 / 產品文件「拉到本地」「抓下來」「轉成 Markdown」。
  • 使用者貼上 opendocs.alipay.com 或 opendoc.alipay.com 連結並想要其內容。
  • 已發現普通網頁抓取(WebFetch / curl 等)對支付寶文件只回傳標題、正文為空。

怎麼用

設本 Skill 安裝目錄為 $SKILL(如 ~/.claude/skills/fetch-alipay-doc,Codex 為 ~/.codex/skills/...,Cursor 為 ~/.cursor/skills/...)。

  1. 首次使用:在 $SKILL 下裝一次依賴(僅一次,與運行目錄無關):

    (cd "$SKILL" && npm install && npx playwright install chromium)   # 若已全域安裝 playwright 可跳過
    
  2. 收集要抓的 URL。多篇時寫一個 config JSON 檔案(如 urls.json),內容為陣列 [{ "name": "...", "url": "..." }, ...],name 決定輸出檔名(可省略,預設用頁面 H1)。

  3. 在使用者當前專案目錄下運行(用絕對路徑呼叫腳本,產物落到專案內、對使用者可見)。不要 cd 進 $SKILL 再跑——那會把文件寫進 skill 安裝目錄(工具會拒絕)。輸出用 --out 指定到專案內,按產品/主題分目錄:

    # 單篇
    node "$SKILL/scripts/fetch-alipay-docs.cjs" --url "<支付寶文件URL>" --name "<檔名>" --out ./alipay-docs/<產品名>
    # 批次
    node "$SKILL/scripts/fetch-alipay-docs.cjs" --config urls.json --out ./alipay-docs/<產品名>
    

    node 解析 playwright 依賴是從腳本檔案位置找 node_modules,與運行目錄無關,所以站在專案目錄用絕對路徑呼叫即可。

  4. 產出在 --out 目錄:<name>.md + images/。--out 預設為目前目錄下的 ./alipay-docs。

關鍵原則

  • 忠實:正文文字必須 100% 來自頁面,禁止虛構 / 總結 / 改寫 / 解讀。工具只做機械格式化。

抓完自檢清單

每抓完一篇,逐項核對,有問題按「排障」處理或重抓:

  • 無殘留 @@...@@ 佔位(佔位未被替換 = 程式碼/表格/圖片遺失)。
  • 無 UI 噪音行(收藏 / 訂閱更新 / 我的文件 / cURL·Java·C# tab 標籤 / 「本範例僅供參考」/ 「收起所有屬性」等)。
  • 圖片引用全部命中本地 images/ 檔案(無壞鏈)。
  • API 業務參數含巢狀子屬性與枚舉值且完整(對照頁面「展開所有屬性」後的狀態)。
  • 公共請求/回應參數表、Java 請求範例、錯誤碼表齊全。
  • 表格 rowspan 對齊正確(每行 code 與其 sub_code 一一對應,無錯位)。

排障

  • 程式碼 / 參數缺失 → 多半是懶載入未滾到或折疊(「更多」枚舉、「子屬性」巢狀)未展開;確認抓取流程做了全文滾動 + 逐個真實點擊展開。
  • 圖片下不下來 → cdn.nlark.com(語雀圖床)用 node https 會失敗,本工具改用 curl(帶 UA / Referer);確認系統裝了 curl。
  • 介面頁結構異常(如通知 / 回調類,section 是「訊息屬性 / 通知應答」而非標準請求/回應) → 本工具按通用 H2 分段相容,無需硬編碼 section 名。

維護者註:完整的踩坑經驗、各坑的成因與設計依據見倉庫根 PLAYBOOK.md(不隨 Skill 安裝分發,改程式碼前務必讀)。

相關技能