前言¶
做智能體或本地開發環境時,GitHub Trending 仍是很多人看「最近在漲什麼倉庫」的入口。常見做法是瀏覽器書籤、RSS,或自己寫腳本定時抓頁面;這些方式要麼缺少結構化變化記錄,要麼要把通知、翻譯、詳情再拼一套。DeepSeek Harness(DSH)把能力拆成插件後,可以在桌面宿主側邊欄直接掛一塊麪板,用只讀 GET 拉趨勢頁和 REST 元數據,把榜單變化、中文描述和按需詳情收在同一處。下面介紹社區插件 gh-gongjin/dsh-plugin-gh-trending 的定位、能力與安裝用法。
這是什麼¶
dsh-plugin-gh-trending 由維護者 gh-gongjin 發佈,在 SkillHub 目錄中歸類爲聯網工具(當前 package 版本 0.1.0,MIT 許可證)。插件在 DSH 側邊欄「插件」區域增加入口,核心只做三件事:跟蹤日榜 / 周榜 / 月榜各自怎麼變、標出同時出現在多張榜的倉庫、記錄本機第一次見到的倉庫。變化流水寫在插件面板內,不推送外部通知。
對 github.com / api.github.com 的請求全程只讀 GET:默認不帶 key、不帶 cookie、不 POST、不下載 zip、不 clone。常規檢查輪每輪向三張趨勢頁各發一發(傳輸失敗時單榜最多補發至 3 發);可選的「全站高星」搜索在出廠默認關閉,開啓後檢查輪最多再多一發,且與用戶手動開啓時的規則在 README 中有單獨說明。
SkillHub 與 DeepSeek / 幻方無官方從屬關係,社區目錄是獨立站點;安裝前仍應自行閱讀倉庫源碼與許可證。
核心功能¶
三榜監控與獨立故障隔離¶
數據源是 GitHub 趨勢頁的 HTML(https://github.com/trending?since=daily|weekly|monthly),屬於非官方頁面解析:站點改版可能導致解析失效,README 中說明了不選用 Search API 復刻「趨勢名次」的原因。
日、周、月三榜各有一份狀態:某一榜抓取或解析失敗時,只凍結該榜,顯示最後一次成功數據與故障原因,其它兩榜照常更新。可配置檢查間隔(設置頁,出廠默認 60 分鐘)、每榜條數(5~25,默認 15)、語言過濾(合法 slug 保存時會用周榜試拉驗證)。
變化流水與跨榜分析¶
插件在本地面板記錄事件類型,例如進榜、出榜、位次大幅變動、首次上榜、改名(靠 record_id 識別同一倉庫換 owner/name)、跨榜升溫/回落、數據源錯誤與恢復等。位次變動閾值:日/周榜 ≥3、月榜 ≥2 才記「挪動」。三張榜在同一次檢查中取得,跨榜同現分析不額外請求 GitHub。
頁籤與典型界面¶
安裝並重啓宿主後,面板爲頁簽結構(README 當前爲九個籤):總覽 / 日榜 / 周榜 / 月榜 / 明星倉庫 / 收藏 / 檢索 / 變化記錄 / 設置。總覽給三榜狀態與速覽;各榜爲表格,含描述列;明星倉庫基於本地三榜行與觀測史,打開該籤零請求;收藏存收藏時刻快照(星數、描述不隨榜面刷新);檢索爲按需 GitHub 搜索,結果不入庫;變化記錄爲全量流水。
點榜面上的倉庫名纔會打開詳情對話框,此時才訪問 api.github.com 拉元數據與 README,並組裝爲四段結構化內容(項目是什麼、熱度與元數據、倉庫自述、中文摘要/節譯)。詳情有 TTL 緩存(出廠默認 24 小時,可調),並支持條件請求;可選填 GitHub 令牌(僅進 Authorization 請求頭,用於詳情 REST 配額,榜面趨勢頁仍匿名)。
中文描述與現譯¶
- 內置離線預譯表(
lib/desc-zh.js):命中則顯示人工預譯中文,帶「內置離線預譯 · 日期」;判據爲倉庫主鍵 + 原文與表內逐字相同,原文被作者改掉則退回英文描述。 - 現譯引擎五檔(設置頁選一):免費接口、百度、騰訊、阿里、宿主模型;描述現譯出廠開啓,摘要現譯出廠關閉。現譯發生在「點開詳情時」與「每輪檢查後對榜面未命中內置表的描述補批」兩處;讀面板路徑不因翻譯額外出網,補譯預算爲每輪最多 12 發、併發 2(與 README §8.7 一致)。
需要代理時,插件可走自有的 CONNECT 隧道(lib/services/net.js),不修改系統代理、不監聽端口。
安裝與啓用¶
DSH 生態理念是「一切皆插件」;下面命令來自倉庫 README 原文。
方式 A:官方 CLI¶
CLI 內部使用 pnpm,需保證 pnpm 在 PATH 中。
dsh plugin --profile desktop add github:gh-gongjin/dsh-plugin-gh-trending
本地開發目錄也可指向絕對路徑安裝:
dsh plugin --profile desktop add <本倉庫的絕對路徑>
方式 B:手工掛載¶
編輯桌面 profile 的 package.json(Linux 一般爲 ~/.dsh/profiles/desktop/package.json),在 dependencies 增加 link: 依賴並在 dsh.profile.bundles 追加包名,再在 profile 的 node_modules 下建立目錄聯接。具體字段與 PowerShell 示例見 README「安裝」一節。
宿主側(index.js、lib/**)改動後需重啓 dsh;僅改 client.js 時刷新面板即可。
臨時停用可在 ~/.dsh/profiles/desktop/cordis.patch.yml 寫入:
- id: gh-trending
disabled: true
典型用法¶
- 完成安裝並重啓 dsh desktop,在側邊欄打開 GitHub 熱榜插件入口。
- 在設置頁確認檢查間隔、出網方式(跟隨系統 / 自定義代理地址 / 直連)、語言過濾;若直連 GitHub 超時,可改爲跟隨系統或填寫形如
127.0.0.1:7897的 HTTP 代理地址。 - 使用頁頭 「立即檢查」 手動觸發一輪抓取(與定時檢查同屬一輪出網賬);在日榜 / 周榜 / 月榜瀏覽描述列(內置預譯與現譯可能並存,懸停可看原文與來源)。
- 需要深入某倉庫時,點擊倉庫名打開詳情;若頻繁點開詳情,可在設置中配置 GitHub 令牌與詳情緩存時長,並留意 REST 速率限制(匿名檔 README 記載爲 60 次/小時/IP,帶令牌時按 GitHub 返回的限額顯示)。
- 用 ☆ 收藏感興趣的項目(三榜行尾、明星屏、詳情標題處均可);收藏列表爲快照,要最新星數或描述需再點進詳情鏈。
- 可選:在明星倉庫籤查看反覆上榜與走勢;按需開啓「全站高星」或到檢索籤輸入關鍵詞後回車或點「搜一下」(檢索結果不持久化,切籤或重啓後消失)。
適用場景與注意¶
適合誰:希望在 DSH 工作臺內長期盯 Trending、看跨榜升溫、本地留變化流水,並偶爾點開詳情讀 README 中文節譯/摘要的開發者;不想自己維護爬蟲和通知通道,且接受「非官方 HTML 解析可能失效」這一前提。
權限與安全:插件以當前 dsh 進程權限運行,會訪問 GitHub 與(若配置)翻譯雲 API;雲廠商密鑰與 GitHub 令牌只進請求籤名或請求頭,README 對回顯與日誌有約束。安裝前應閱讀 GitHub 倉庫 源碼與 MIT 許可證,再決定是否填入第三方憑據。
邊界:不是 GitHub 官方產品;榜單名次以趨勢頁爲準。不做外部推送;現譯與模型調用消耗各自額度(雲廠商計費以官網爲準)。內置描述預譯表條目有限且會隨時間衰減,新上榜倉庫可能長期只顯示英文描述,直到命中預譯或補譯成功。
結尾¶
dsh-plugin-gh-trending 把 GitHub 日/周/月熱榜監控、變化流水、跨榜分析與中文描述/詳情閱讀收進 DSH 側邊欄,並在設計上強調只讀 GET、分榜故障隔離與按需拉詳情。目錄介紹與安裝說明見 SkillHub 插件頁,完整行爲與配置口徑以 GitHub README 爲準。