疑難排解

常見問題與修正方式。


“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 之前完全無法使用。

修正: 依序嘗試以下步驟:

  1. 等候 5-10 分鐘 — 新金鑰有時只需要一點時間就會啟用
  2. 啟用 Generative Language API — 進入 Google Cloud Console → 搜尋 “Generative Language API” → 在綁定你 API 金鑰的專案中點選 Enable
  3. 加入帳單資訊 — 進入 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_KEYRECIPIENT_EMAIL 是必要的。


Richfolio — free, open-source portfolio monitoring.

This site uses Just the Docs, a documentation theme for Jekyll.