打造 ChatGPT 對話自動整理與技術筆記發布流程

將 ChatGPT troubleshooting 對話自動整理成技術文章,並在遮罩機敏資料後自動提交到 GitHub Pages repo。

背景 原始內容描述了一套適合技術筆記型 blog 的自動化流程,目標是把 ChatGPT 上的問題處理過程,在解決後整理成可發布的文章,並自動送進 GitHub repo,形成長期可累積的 troubleshooting archive 或 DevOps knowledge base。文件中以 GitHub Pages repo、n8n、GitHub Actions、OpenAI、Markdown 與 PDF 匯出等方式,逐步構成完整方案。 問題 手動整理 ChatGPT 對話、移除雜訊、遮罩 token/password/IP/email/domain 等敏感資訊,再轉成可發佈的 Markdown 或 blog 文章,流程繁瑣且不易長期維護;若想穩定累積技術知識庫,需要一套可自動化、可重複執行、可直接整合到 repo 的處理流程。 調查過程 先定義整體流程:ChatGPT conversation 匯出後,進入自動化管線,依序進行內容整理、敏感資料遮罩、文章生成、Markdown 輸出與 GitHub commit。 比較兩種實作方向:一種是 n8n workflow,透過 Webhook、遮罩節點、OpenAI 節點與 GitHub API 完成;另一種是 repo 內建 scripts 搭配 GitHub Actions,自動監聽 conversations 目錄中的檔案變化。 整理文章結構需求,固定輸出 title、background、problem、investigation、solution、lessons learned,並要求移除無關對話噪音、保留技術細節與必要 code block。 設計敏感資料遮罩規則,使用 regex 處理 Bearer ********、GitHub token、password、私有 IP、AWS key、email 與私有網域,避免機敏資訊進入文章或 commit 歷史。 規劃 repo 結構,例如 conversations、posts、scripts、prompt、. [閱讀全文]

修正 GHCR manifest unknown 拉取失敗

記錄部署容器時遇到 ghcr.io 映像拉取失敗,最後確認是映像名稱大小寫與 tag 不一致造成的錯誤。

背景

在伺服器上使用 docker compose 部署來自 GitHub Container Registry 的映像時,服務無法正常拉起,需要快速確認是權限、tag,還是 registry 名稱造成的問題。

問題

執行 docker compose up -d 後出現 manifest unknown,代表 registry 找不到指定的映像或 tag。

調查過程

  1. 先確認 ghcr.io 的 repository 名稱與 owner 大小寫是否一致。
  2. 檢查 GitHub Personal Access Token 是否具備 read:packages 權限。
  3. 使用 docker pull 手動驗證映像完整路徑與 tag 是否存在。
  4. 重新比對 CI 發布出的 tag 與部署檔案中的 tag 是否相同。

解決方案

確認映像名稱需與 GHCR 實際發布名稱一致,並改用存在的 tag 重新拉取後即可正常部署。

docker pull ghcr.io/konohaderek/bitfinex-strategy-bot:426aa46
docker compose up -d

經驗總結

  • GHCR 的映像名稱與 owner 命名需要精準一致。
  • 部署前可以先用 docker pull 驗證映像是否存在。
  • 把部署用 tag 與 CI 輸出綁在一起,可以降低人工填錯機率。

參考資料