GitHub 專案與貢獻者搜尋器 API 技能
📖 簡介
此技能利用 BrowserAct 的 GitHub 專案與貢獻者搜尋 API,從 GitHub 提取專案詳情與貢獻者聯絡資訊。只需提供關鍵字、最低星數與更新日期篩選條件,BrowserAct 便會遍歷搜尋結果,提取儲存庫指標,並擷取詳細的貢獻者個人資料,最後透過 API 直接傳回結果,無需自行建構爬蟲腳本或處理速率限制。
✨ 功能特色
- 無幻覺:預設工作流程可避免 AI 生成的幻覺,確保穩定且精確的資料提取。
- 無驗證碼問題:無需處理 reCAPTCHA 或其他驗證挑戰。
- 無 IP 限制:無需處理地區性的 IP 限制或地理封鎖。
- 更快的執行速度:與純 AI 驅動的瀏覽器自動化解決方案相比,任務執行更快。
- 成本效益:與高 token 消耗的 AI 解決方案相比,顯著降低資料獲取成本。
🔑 API 金鑰設定
執行前,請檢查 BROWSERACT_API_KEY 環境變數。若未設定,請勿採取其他措施;詢問使用者並等待其提供。
代理必須告知使用者:
"因為您尚未設定 BrowserAct API 金鑰,請前往 BrowserAct 控制台 取得您的金鑰。"
🛠️ 輸入參數
代理應根據使用者需求靈活設定以下參數:
-
KeyWords
- 型別:
string - 描述:用於搜尋儲存庫的關鍵字。
- 範例:
browser automation、react framework、machine learning - 預設值:
browser automation
- 型別:
-
stars
- 型別:
number - 描述:儲存庫應擁有的最低星數。
- 範例:
100、1000 - 預設值:
100
- 型別:
-
updated
- 型別:
string - 描述:根據最後更新日期篩選儲存庫(格式:
YYYY-MM-DD)。 - 範例:
2026-01-01、2025-06-01 - 預設值:
2026-01-01
- 型別:
-
Page_Turns
- 型別:
number - 描述:要翻頁的搜尋結果頁數。例如,共有 39 頁且您想要前 2 頁,請輸入
2。 - 範例:
1、2 - 預設值:
1
- 型別:
-
date_limit_per_page
- 型別:
number - 描述:每頁搜尋結果清單中要提取的資料筆數。
- 範例:
5、10 - 預設值:
5
- 型別:
🚀 呼叫方式
代理應執行以下命令來呼叫此技能:
# 範例呼叫(所有參數)
python -u ./scripts/github_project_contributor_finder_api.py "browser automation" 100 "2026-01-01" 1 5
# 最小呼叫(僅關鍵字,其餘使用預設值)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ 執行監控
由於此任務涉及自動化瀏覽器操作,可能需要數分鐘。腳本會持續輸出帶有時間戳記的狀態日誌(例如 [14:30:05] 任務狀態:執行中)。
代理指引:
- 在等待期間監控終端機輸出。
- 只要有新的狀態日誌出現,表示任務正常執行;不要誤判為停滯。
- 僅在狀態長時間未變或輸出停止且未顯示最終結果時,才考慮觸發重試。
📊 資料輸出
成功執行後,腳本會解析並列印來自 API 回應的結構化結果。
專案欄位:
repository_name:GitHub 儲存庫的名稱。repository_url:該儲存庫的 URL 連結。repository_owner_name:該儲存庫的擁有者/建立者。repository_description:該儲存庫的簡短描述。star_count:該儲存庫獲得的星數。
貢獻者欄位:
user_name:貢獻者的 GitHub 使用者名稱。profile_url:該貢獻者個人資料的 URL 連結。bio:貢獻者的自我介紹或簡短描述。repositories_summary:該貢獻者擁有的其他儲存庫摘要。personal_website:貢獻者的個人網站連結。twitter:貢獻者的 Twitter 帳號。
⚠️ 錯誤處理與重試
若腳本執行期間發生錯誤(例如網路波動或任務失敗),代理應遵循以下邏輯:
-
檢查輸出內容:
- 若輸出包含
"Invalid authorization",表示 API 金鑰無效或已過期。請勿重試,引導使用者重新檢查並提供正確的 API 金鑰。 - 若輸出包含
"concurrent"或"too many running tasks",表示已達到並發任務限制。請勿重試,引導使用者升級方案。 代理必須告知使用者:"目前任務無法執行,因為您的 BrowserAct 帳戶已達到並發任務限制。請前往 BrowserAct 方案升級頁面 升級您的方案。"
- 若輸出不包含上述錯誤關鍵字但任務失敗(例如輸出以
Error:開頭或回傳空結果),代理應自動重新執行腳本一次。
- 若輸出包含
-
重試次數限制:
- 自動重試僅限一次。若第二次嘗試仍失敗,請停止重試並向使用者回報具體錯誤。
🌟 典型使用案例
- 技術招募:從熱門儲存庫收集貢獻者個人資料與社交連結,建立候選人才管道。
- 開源探索:依關鍵字與星數搜尋熱門儲存庫,發掘有價值的專案。
- 開發者推廣:收集活躍貢獻者的個人網站與 Twitter 帳號,用於開發者工具行銷。
- 社群建立:識別並聯繫特定領域的活躍開源貢獻者。
- 競爭者分析:監控哪些開發者貢獻於競爭對手的專案。
- 合作夥伴搜尋:尋找儲存庫擁有者以進行潛在合作或贊助。
- 市場研究:分析儲存庫指標與描述,了解技術趨勢。
- 潛在客戶開發:透過尋找具有相關技術棧的專案,為開發者工具產生目標潛在客戶。
- 學術研究:發掘特定研究領域中近期更新的儲存庫。
- 人才地圖:根據開發者的 GitHub 貢獻與個人資料,建立技能型開發者資料庫。