前言¶
在 DeepSeek Harness(DSH)裏做智能體或日常開發時,經常需要快速掃一眼 GitHub Trending:今天哪些倉庫上榜、增速如何、技術棧大概是什麼。手動打開 trending 頁面再逐個點開 README,費時且缺少統一維度。社區插件 dsh-github-trending(維護者 Royalsan,分類:聯網工具)把日榜 / 周榜 / 月榜抓取、規則化分析和 Web UI 卡片報告收進一個可長期安裝的 Cordis bundle,並同時暴露工具、斜槓命令與 HTTP 路由,方便在 Harness 內一鍵查看或在腳本里二次消費 JSON。
這是什麼¶
dsh-github-trending 是一個 Cordis 插件:從 github.com/trending 抓取榜單(可選 23 種常用編程語言),對每個倉庫做確定性規則分析(不額外調用模型),在 Harness Web UI 側邊欄註冊「GitHub 趨勢」面板,渲染可翻頁、可篩選的卡片報告。npm 包名爲 @royalsan/dsh-github-trending,當前資料中版本爲 1.0.1,許可 MIT,要求 Node >= 20。
說明:本 Harness 版本中不存在名爲 dsh-genui 的包;插件自帶 host 側結構化數據 + client 側 React 面板(sidebar.panellist + main),不依賴未安裝的 genui 包。
核心功能¶
榜單與增強¶
- 週期:
daily/weekly/monthly;語言篩選共 23 種。 - 解析 star 總數、fork、週期增量、貢獻者、語言色等 Trending 頁字段。
- 可選 GitHub token 通過 API 增強 topics、license、issue、README 等;未認證時限額 60 次/小時,插件會降級,核心榜單與增長率仍可用。
結構化分析(規則引擎)¶
對每個倉庫輸出:項目簡介(description + README 摘要清洗)、star 增量與週期增長率、核心技術棧、亮點、風險點與風險等級,以及賽道分類(如 AI / 大模型、開發者工具、Web、基礎設施等)。分析文案用於快速篩選,不構成選型或投資建議。
交互面板與數據出口¶
- 側邊欄「GitHub 趨勢」→ 主面板:KPI 概覽、週期切換、語言下拉、搜索、分類篩選、倉庫卡片分頁(每頁 6 條)。
- 工具名
github_trending、命令/github-trending、HTTPGET /dsh-github-trending/report返回同一套報告 JSON(含repos[]、summary、Mermaid 圖表源碼字段mermaid);面板本身不展示條形圖源碼與下載入口,圖表數據供腳本或二次渲染使用。
緩存與網絡¶
報告緩存 10 分鐘(同週期併發請求合併);GitHub API 事實緩存 6 小時;遇 403/429 後 5 分鐘內跳過增強。直連 github.com 失敗時可回退 Harness 配置的 ctx.web.fetch 傳輸通道。
安裝與啓用¶
在 DSH 中通過 plugin_manager 安裝 bundle(任選一種來源,裝的是同一份編譯產物):
本地目錄:
plugin_manager(action="install_bundle", target="<絕對路徑>/dsh-github-trending")
從 GitHub:
plugin_manager(action="install_bundle", target="github:Royalsan/dsh-github-trending")
從 npm:
plugin_manager(action="install_bundle", target="@royalsan/dsh-github-trending")
從 Release 預構建 tarball(適合網絡受限、不拉源碼不構建):
plugin_manager(action="install_bundle", target="https://github.com/Royalsan/dsh-github-trending/releases/latest/download/dsh-github-trending.tgz")
安裝會寫入當前 profile 的 package.json 與 cordis.patch.yml(插入 dsh-github-trending),Web UI 中出現側邊欄入口、工具 github_trending 與命令 /github-trending。
配置¶
在 cordis.yml / bundle patch 的 config: 中可覆蓋(均有默認值):
| 字段 | 類型 | 默認 | 說明 |
|---|---|---|---|
token |
string | $GITHUB_TOKEN / $GH_TOKEN |
可選,提升 API 限額;勿把 token 寫進倉庫 |
defaultSince |
daily|weekly|monthly |
daily |
工具/命令未指定週期時使用 |
defaultLimit |
number | 15 |
抓取條數(3–25) |
defaultFocus |
number | 3 |
深度融合解讀的倉庫數(1–6) |
典型用法¶
斜槓命令:
/github-trending # 今日榜,全語言
/github-trending weekly rust # 周榜,Rust
工具調用等價參數示例:
{ "since": "weekly", "language": "rust", "limit": 20, "focus": 4, "refresh": false }
HTTP(同源,供面板與外部腳本):
GET /dsh-github-trending/report?since=daily&language=&limit=15&focus=3&refresh=0
適用場景與注意¶
適合需要在 DSH 會話或 Web UI 內定期查看 Trending、並按統一維度(增速、技術棧、風險標籤)粗篩倉庫的開發者。榜單條數隨 GitHub 返回變化,通常約 10–16 條;star 增量以 Trending 頁面給出的週期內新增爲準。
安裝前請自行審閱 GitHub 倉庫 源碼與 MIT 許可證。插件以當前 DSH 進程權限運行,會訪問 GitHub 與 Trending 頁面;若配置 token,請僅通過環境變量傳入。DSH 社區插件目錄(如 SkillHub 條目)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-github-trending 把 Trending 抓取、規則化分析和 Harness 內卡片報告串成一條鏈路,並保留 JSON / Mermaid 出口供自動化使用。進一步瞭解可查看目錄頁 SkillHub 與源碼 Royalsan/dsh-github-trending。