curl 能下載、Node.js 卻 fetch failed——在 WSL2 + Docker 裡修好 OpenClaw Telegram Bot 圖片上傳的全過程
我用 OpenClaw 在 WSL2 + Docker 環境架了一個 Telegram Bot,接上 OpenAI Codex 的 vision model,打算讓它能看圖回答問題。結果使用者傳圖片過來,Bot 只回了一句「我看到的是 <media:image>,沒有實際圖片內容」。 這個 Bug 花了我整個晚上,最後發現根因是:OpenClaw 內部的 SSRF 防護機制建立了自己的 HTTP dispatcher,覆蓋掉了 WSL2 專用的 IPv4 網路設定,導致圖片下載靜默失敗。 curl 完全正常,Node.js fetch 卻怎麼都不行。 這篇文章記錄完整的追蹤過程。如果你也用 OpenClaw 架 Telegram Bot、或在 WSL2 + Docker 裡跑 Node.js 服務遇到 TypeError: fetch failed,這篇或許能幫上忙。 什麼是 OpenClawOpenClaw 是一個開源的 AI agent gateway,可以把 LLM(Claude、GPT、Ollama 等)接上 Telegram、Discord、Slack ...
用兩個 AI 建立自動化工作流:讓龍蝦當 PM,Claude Code 當工人
凌晨三點,我的電腦正在分析美股、寫技術文章、整理筆記。早上七點,一份晨報自動推送到 Notion。白天我在 Telegram 對一隻機器龍蝦說「幫我查一下 NVIDIA 最新財報」,它寫好任務單,另一個 AI 在背景把事情做完。 這是我用 Claude Code 和 OpenClaw 搭出來的雙 AI 工作流。底下會把架構、夜班腳本、Cron 排程、安全邊界一條一條拆開,也會講我撞過的兩個坑:一個 CLI 旗標的版本相容問題,還有 WSL 下 node 路徑被搶走的鬼打牆。 為什麼要用兩個 AI一個 AI 包辦所有事聽起來很美,實際跑起來會撞牆: Claude Code(以下簡稱 CC) 是命令列工具,擅長深度工作——寫程式、分析資料、產出長篇內容。但它沒有常駐能力,不會 24 小時掛在那裡等你的訊息。 OpenClaw(我都叫它龍蝦) 是跑在 Docker 容器裡的常駐 AI 閘道,可以接 Telegram、Discord、Slack、WhatsApp。它 24 小時在線,隨時能回訊息。但它的強項是溝通和協調,不是長時間的深度工作。 兩者組合:龍蝦當 PM 接單和調度,CC 當...
Docker 容器化進階:自動化部署與 CI/CD 實戰指南
本文承接從零開始的 Docker 容器化指南,主要討論如何實現全自動化的 Docker 部署流程。透過整合 GitHub Actions、Docker Hub 和自動化工具,我們可以實現程式碼推送後自動更新生產環境的目標。 目錄 自動化部署概述 GitHub Actions 設定 自動更新容器設定 零停機部署策略 備份與還原機制 監控與告警設定 故障排除與回滾流程 最佳實踐建議 自動化部署概述完整的自動化部署流程包含以下步驟: 開發者推送程式碼到 GitHub GitHub Actions 自動執行測試和建置 建立新的 Docker 映像檔並推送至 Docker Hub 生產環境自動偵測並更新容器 健康檢查確認部署狀態 部署流程圖graph TD A[開發者推送程式碼] --> B[GitHub Actions 觸發] B --> C[執行測試] C --> D[建立 Docker 映像檔] D --> E[推送至 Docker Hub] E --> F[生產環境更新] F --> G[健康...
從零開始的 Docker 容器化指南: Vue3 + .NET Core + SQL Server
目錄 Docker 基礎概念 環境準備 SQL Server 容器設定 .NET Core API 容器化 Vue3 前端容器化 使用 Docker Compose 整合服務 資源管理與監控 開發環境設定 網路配置 部署與維護 常見問題與解決方案 Docker 基礎概念Docker 是一個開放原始碼的容器化平台,把應用程式和它的依賴項打包成獨立容器,讓同一份設定在本機開發、測試機、正式環境都能跑出相同結果。 這套技術組合讓你少踩的坑:「我本機跑得起來但 CI 就壞了」基本上絕跡、新人 onboarding 不再花一天裝環境、版本升級可以先切新容器測試再切流量。代價是要花時間學 Dockerfile 和 Compose 的寫法——這篇就是從這裡開始。 環境準備 安裝 Docker Desktop 12345678# Windows/Mac 下載並安裝 Docker Desktophttps://www.docker.com/products/docker-desktop/# Linux (Ubuntu) 安裝 Docker Enginesudo apt updatesudo ap...
為什麼你應該使用Docker?
Docker 現在幾乎是開發環境的標準配備。無論你是開發者、系統管理員,還是 DevOps 工程師,花時間理解它帶來的好處都值得。這篇文章整理了幾個最實際的理由,說明為什麼要把 Docker 加進你的工作流程。 1. 一致的開發環境Docker 最直接的好處是讓所有人在同一個環境裡工作,不管跑的是 Windows、macOS 還是 Linux。 消除「在我的機器上可以跑」的問題: Docker 容器把應用程式和它的所有相依套件一起封裝,確保在任何地方都以相同方式執行。 加速新人上手: 新加入的成員不需要花幾個小時自己對齊環境設定,拉下映像檔就能動工。 環境版本化: 不同專案需要不同版本的 runtime 或工具,切換起來不會互相干擾。 2. 提高部署效率從開發到生產的遷移,過去有一大塊時間耗在環境差異上。容器化之後這個問題幾乎消失。 快速部署: Docker 映像檔可以在幾秒內啟動,大幅壓縮部署等待時間。 可移植性: 容器可以在任何支援 Docker 的系統上執行,不需要擔心底層基礎架構的差異。 擴展性: 搭配 Docker Swarm 或 Kubernetes,水平擴展不...




