dsh-github-trending:在 Harness Web UI 裏瀏覽 GitHub Trending 結構化報告

前言

在 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、HTTP GET /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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜