疑難排解
常見問題與修正方式。
“Can only send testing emails to your own email address”
原因: Resend 免費版的限制。
修正: 將 RECIPIENT_EMAIL 設為你註冊 Resend 時所用的信箱;或是在 Resend 上驗證一個自訂網域(Dashboard → Domains → Add Domain → 加入 DNS 紀錄)。
“GEMINI_API_KEY quota: limit 0”
原因: 新建立的 Gemini API 金鑰需要幾分鐘才會啟用。部分金鑰在未啟用帳單與 API 之前完全無法使用。
修正: 依序嘗試以下步驟:
- 等候 5-10 分鐘 — 新金鑰有時只需要一點時間就會啟用
- 啟用 Generative Language API — 進入 Google Cloud Console → 搜尋 “Generative Language API” → 在綁定你 API 金鑰的專案中點選 Enable
- 加入帳單資訊 — 進入 Google AI Studio → Settings → Billing 加入帳單資訊。你仍然可以選擇免費層 — 加入帳單只是為了啟用金鑰,在超出免費額度之前不會被扣款
在此期間,Richfolio 會自動回退到基於缺口的建議 — 簡報仍會送出,只是沒有 AI 分析。
某個股票代碼出現 “fetch failed — internal-error”
原因: Yahoo Finance 偶爾對特定代碼會有問題(尤其是 BIPC 這類較不常見的代碼)。
修正: 不必處理。該代碼會被跳過,其餘流程正常繼續。這是 Yahoo Finance 的間歇性問題。
GitHub Actions 顯示 Secret 為空
原因: Secret 加在了錯誤的層級。
修正: 確認 Secret 是加在儲存庫層級:Settings → Secrets and variables → Actions → Repository secrets。而不是 Environment 層級。
沒有回傳新聞
原因: NewsAPI 免費版只回傳最近 24 小時內的文章。部分代碼(尤其是 ETF 和小型股)很少出現在新聞頭條中。
修正: 這是正常行為。對這些代碼,簡報仍能正常執行,只是少了新聞。AI 分析會在建議中標註 “無近期新聞”。
沒收到 Telegram 訊息
原因: 你還沒有主動與機器人開啟對話。
修正: 開啟 Telegram、依使用者名稱搜尋機器人、傳送任意訊息(例如 “hi”)給它。Telegram Bot API 要求使用者先主動發起對話,機器人才能傳送訊息給你。完成後重新執行 Richfolio。
“Missing config.json” 錯誤
原因: 專案根目錄沒有 config.json。
修正:
- GitHub Actions: 確認
CONFIG_JSON變數存在且內容是有效的 JSON(Settings → Secrets and variables → Actions → Variables 分頁)。 - 本機: 執行
cp config.example.json config.json並填入你的投資組合資料。
簡報能跑但信件空白或缺少區段
原因: 一或多個 API 金鑰缺少或無效。
修正: 檢查 .env 檔案(本機)或 GitHub Secret(Actions)。簡報會依據可用的金鑰自我調整:
- 沒有
NEWS_API_KEY→ 無新聞區段 - 沒有
GEMINI_API_KEY→ 改用基於缺口的建議取代 AI - 沒有
TELEGRAM_BOT_TOKEN→ 僅寄送電子郵件(無 Telegram)
所有組合都是合法的 — 只有 RESEND_API_KEY 與 RECIPIENT_EMAIL 是必要的。