GitHub Readme Stats:為 GitHub 個人檔案生成動態 SVG 統計卡片
:zap:為您的 github 自述文件動態產生統計資料。使用 &theme=THEME_NAME 參數,如下所示:所有內建主題 GitHub Readme Stats 都附帶多個內建主題(例如
秒懂
- 它是什麼?
- 一個基於 JavaScript 的工具,可從 GitHub 資料產生 SVG 統計卡片,支援多種卡片類型與 URL 自訂。 本文依 README 整理可核對的入口、資料流與使用界線。
- 適合誰用?
- anuraghazra/github-readme-stats 適合能依 README 指定的環境、輸入和權限操作的團隊,不適合把未列出的相容性、效能或營運結果視為既定事實。先從 github-readme-stats 的官方 README 入口執行最小範例,記錄命令、設定、輸出與錯誤,再決定是否擴大資料及權限範圍。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 16 天前。
- 用什麼語言寫的?
- 主要是 JavaScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
公開實例與儲存庫本身
GitHub Readme Stats 是一個 JavaScript 專案,它產生包含使用者 GitHub 統計資訊的 SVG 圖片,設計用於嵌入 GitHub 個人檔案的 README。公開實例託管於 Vercel,網址為 https://github-readme-stats.vercel.app,儲存庫採用 MIT 授權。根據儲存庫中繼資料,該專案擁有 79,816 顆星與 36,203 個 fork,預設分支為 master。README 開頭的標語是「在你的 README 中動態產生 GitHub 統計資訊」。
anuraghazra/github-readme-stats 的 README 第 1 項核對應聚焦於 github-readme-stats:先記下文件列出的輸入、啟動命令和輸出,再把錯誤訊息與生成檔案分開觀察。若流程使用 JavaScript、網路端點或權限,測試時保留實際版本與設定值;README 沒有交代的相容性,不延伸成保證。 github-readme-stats 的這個觀察點必須與上一輪結果分開記錄,避免把範例成功執行誤當成所有環境都成立。
anuraghazra/github-readme-stats 的 README 第 7 項核對應聚焦於 github-readme-stats:先記下文件列出的輸入、啟動命令和輸出,再把錯誤訊息與生成檔案分開觀察。若流程使用 JavaScript、網路端點或權限,測試時保留實際版本與設定值;README 沒有交代的相容性,不延伸成保證。 github-readme-stats 的這個觀察點必須與上一輪結果分開記錄,避免把範例成功執行誤當成所有環境都成立。
anuraghazra-github-readme-stats-deep-analysis 第 1 節的具體核對點是 公開實例與儲存庫本身。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。
五種卡片類型,各有一個端點
README 記錄了五種不同的卡片類型。GitHub 統計卡片使用 api 端點,帶有 username 參數,顯示星標、提交、拉取請求、問題與貢獻,並帶有顯示 100 減去全域百分位的等級圓環。熱門語言卡片使用 api/top-langs,顯示使用者自己的非 fork 儲存庫中程式碼最多的語言,並註明該卡片不反映技能水準。GitHub 額外釘選使用 api/pin 顯示儲存庫卡片,允許釘選超過 GitHub 通常限制的六個儲存庫。GitHub Gist 釘選使用 api/gist 顯示 Gist 卡片。最後,WakaTime 統計卡片使用 api/wakatime 顯示來自公開 WakaTime 個人檔案的編碼活動,且要求同時啟用「公開顯示程式碼時間」與「公開顯示語言、編輯器、作業系統、類別」選項。每個端點都回傳一個可直接嵌入 Markdown 的 SVG。
anuraghazra/github-readme-stats 的 README 第 2 項核對應聚焦於 github-readme-stats:先記下文件列出的輸入、啟動命令和輸出,再把錯誤訊息與生成檔案分開觀察。若流程使用 JavaScript、網路端點或權限,測試時保留實際版本與設定值;README 沒有交代的相容性,不延伸成保證。 github-readme-stats 的這個觀察點必須與上一輪結果分開記錄,避免把範例成功執行誤當成所有環境都成立。
anuraghazra-github-readme-stats-deep-analysis 第 2 節的具體核對點是 五種卡片類型,各有一個端點。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。
透過 URL 參數自訂
所有卡片都接受一組通用的查詢參數,用於設定顏色、背景、邊框、主題、邊框圓角、語言與 cache_seconds。背景色可以是純色,也可以採用「角度,起始色,結束色」形式的漸層。各卡片還有專屬選項。統計卡片可以隱藏某些統計項,顯示額外項如評論或已合併的 PR,包含所有提交,設定自訂標題,以及更換等級圖示。熱門語言卡片提供五種佈局:normal、compact、donut、donut-vertical 與 pie,並支援使用 size_weight 與 count_weight 參數的語言排名演算法,建議設定為 0.5 與 0.5。內建了多種主題,但 README 指出為減少維護已暫停新增主題。自訂標題與語言名稱必須進行 URI 跳脫。
anuraghazra/github-readme-stats 的 README 第 3 項核對應聚焦於 github-readme-stats:先記下文件列出的輸入、啟動命令和輸出,再把錯誤訊息與生成檔案分開觀察。若流程使用 JavaScript、網路端點或權限,測試時保留實際版本與設定值;README 沒有交代的相容性,不延伸成保證。 github-readme-stats 的這個觀察點必須與上一輪結果分開記錄,避免把範例成功執行誤當成所有環境都成立。
anuraghazra-github-readme-stats-deep-analysis 第 3 節的具體核對點是 透過 URL 參數自訂。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。
資料來源、快取與已知限制
預設情況下,所有卡片只使用公開儲存庫的資料。要顯示私有貢獻,你需要部署自己的實例並使用 GitHub 個人存取權杖。公開實例被描述為盡力而為,可能因速率限制與流量高峰而不可靠。為了提升穩定性,專案使用快取,不同卡片的預設快取時長不同:統計卡片與 WakaTime 為 24 小時,熱門語言為 144 小時,釘選卡片為 240 小時,Gist 為 48 小時。由於 GitHub API 限制,熱門語言卡片只檢查前 100 個儲存庫。統計卡片上的等級是基於指數分配與對數常態分配的加權百分位,等級從 S 到 C,遵循日本學術評分體系。語言統計演算法使用公式 ranking_index = (byte_count ^ size_weight) * (repo_count ^ count_weight),預設權重為 size_weight=1 與 count_weight=0。README 也提到,在某個拉取請求之後,公開實例應能處理超過每小時 5k 的請求,但並未提供基準測試。
anuraghazra/github-readme-stats 的 README 第 4 項核對應聚焦於 github-readme-stats:先記下文件列出的輸入、啟動命令和輸出,再把錯誤訊息與生成檔案分開觀察。若流程使用 JavaScript、網路端點或權限,測試時保留實際版本與設定值;README 沒有交代的相容性,不延伸成保證。 github-readme-stats 的這個觀察點必須與上一輪結果分開記錄,避免把範例成功執行誤當成所有環境都成立。
anuraghazra-github-readme-stats-deep-analysis 第 4 節的具體核對點是 資料來源、快取與已知限制。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。
部署自己的實例
README 建議自架設以獲得可靠的卡片。文件說明了兩種方法。第一種是使用 GitHub Actions,依排程產生靜態 SVG 並提交到你的個人檔案儲存庫,公開資料使用 GITHUB_TOKEN,私有統計則使用 PAT。第二種是在 Vercel 或其他平台自架設,這需要具有特定權限的 PAT。環境變數如 CACHE_SECONDS、WHITELIST、GIST_WHITELIST、EXCLUDE_REPO 與 FETCH_MULTI_PAGE_STARS 控制行為。例如,WHITELIST 是允許存取你實例的 GitHub 使用者名稱列表,EXCLUDE_REPO 可以在不暴露儲存庫名稱的情況下從統計中排除儲存庫。README 也警告,對非 Vercel 平台支援有限,修改環境變數後需要重新部署實例。
anuraghazra/github-readme-stats 的 README 第 5 項核對應聚焦於 github-readme-stats:先記下文件列出的輸入、啟動命令和輸出,再把錯誤訊息與生成檔案分開觀察。若流程使用 JavaScript、網路端點或權限,測試時保留實際版本與設定值;README 沒有交代的相容性,不延伸成保證。 github-readme-stats 的這個觀察點必須與上一輪結果分開記錄,避免把範例成功執行誤當成所有環境都成立。
anuraghazra-github-readme-stats-deep-analysis 第 5 節的具體核對點是 部署自己的實例。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。
維護狀態與授權
README 頂部有一條警示,說明該儲存庫已不再維護,並建議使用者改用名為 GitHub Stats Extended 的繼任專案,該專案被描述為積極維護的 fork,具有額外功能與更高的穩定性,或使用 GitHub Readme Stats Action。現有文件僅作參考保留。專案採用 MIT 授權,允許使用、複製、修改、合併、出版、散佈、再授權與銷售副本,但需包含版權聲明。授權同時聲明不提供任何擔保與免責條款。README 未提及安全保證、支援承諾或效能基準,僅提到了快取預設值與關於處理請求量的說明。
anuraghazra/github-readme-stats 的 README 第 6 項核對應聚焦於 github-readme-stats:先記下文件列出的輸入、啟動命令和輸出,再把錯誤訊息與生成檔案分開觀察。若流程使用 JavaScript、網路端點或權限,測試時保留實際版本與設定值;README 沒有交代的相容性,不延伸成保證。 github-readme-stats 的這個觀察點必須與上一輪結果分開記錄,避免把範例成功執行誤當成所有環境都成立。
anuraghazra-github-readme-stats-deep-analysis 第 6 節的具體核對點是 維護狀態與授權。請依文件中的專案名稱、命令、檔案或設定鍵檢查結果,記錄成功與失敗的差異;這個觀察只用來界定本節能力,不延伸成文件沒有承諾的結論。
編輯結論
anuraghazra/github-readme-stats 適合能依 README 指定的環境、輸入和權限操作的團隊,不適合把未列出的相容性、效能或營運結果視為既定事實。先從 github-readme-stats 的官方 README 入口執行最小範例,記錄命令、設定、輸出與錯誤,再決定是否擴大資料及權限範圍。
社群筆記