DeepSeek Harness 插件:GitHub Trending 數據獲取與可視化面板 (wang-junjian/dsh-github-trending)

在 DeepSeek Harness (DSH) 的插件生態中,開發者常需要獲取 GitHub Trending 的最新數據,但 GitHub 官方並未提供開放 API,依賴第三方爬蟲或手動解析 HTML 既繁瑣又不穩定。下面介紹 wang-junjian/dsh-github-trending 插件,它通過直接抓取 GitHub Trending 頁面,爲模型提供了結構化的數據接口,同時爲 Web Profile 渲染了可視化的側邊欄。

插件定位

這是一個 DeepSeek Harness bundle 插件,由用戶 wang-junjian 維護。它主要解決兩個問題:
1. 模型側:提供一個名爲 github_trending 的工具,讓 Agent 能夠按語言和時間窗口獲取 Trending 倉庫的結構化列表。
2. 前端側:在 web profile 中渲染一個可停靠的右側面板,方便開發者直接查看數據。

核心功能

該插件實現了以下具體能力:

  1. 數據獲取與結構化:插件直接抓取 GitHub Trending 頁面,返回包含排名、所有者、倉庫名、絕對鏈接、描述、主要語言、總星標數、Fork 數以及今日新增星標的列表。
  2. 工具註冊:在 DSH 框架中註冊了 github_trending 模型可調用工具。
  3. Web 可視化面板:在 web profile 中渲染一個可停靠的右側面板。該面板支持每日/每週/每月的 Tab 切換,支持調整大小,並可摺疊至側邊欄。後臺使用內存緩存,並通過 /github-trending HTTP 路由提供數據。

安裝與啓用

安裝該插件需要使用 DSH 的命令行工具。安裝後,bundle 會自動追加到 dsh.profile.bundles 配置中。

若僅需在 Headless Profile 中使用數據獲取能力:

dsh plugin --profile headless add @wangjunjian/dsh-github-trending

若希望在 Web Profile 的瀏覽器界面中看到可視化面板,請使用:

dsh plugin --profile web add @wangjunjian/dsh-github-trending

典型用法

模型調用

在對話中,可以直接調用註冊的 github_trending 工具。例如:

Show me today's trending Python repositories.

工具參數

調用時可以指定以下參數:

參數名 類型 是否必填 說明
language string 否 編程語言篩選,如 python, typescript, go。
since string 否 時間窗口,可選 daily(默認)、weekly 或 monthly。
maxResults integer 否 返回的最大倉庫數量(默認 10,上限 25)。

配置調整

插件的默認配置位於 cordis.patch.yml。如果需要調整超時時間、最大結果數或緩存刷新間隔,可以在 DSH 的 Profile 配置文件中覆蓋:

- id: github-trending
  config:
    enabled: true
    timeoutMs: 30000
    maxResults: 10
    refreshIntervalMs: 14400000
配置項 默認值 說明
enabled true 是否註冊工具、緩存和 Web 路由。
timeoutMs 30000 每個 HTTP 請求的協同超時時間(毫秒)。
maxResults 10 工具返回的最大倉庫數(上限 25)。
refreshIntervalMs 14400000 UI 緩存的後臺刷新間隔(毫秒,即 4 小時)。

注意事項

  1. 無官方 API:GitHub Trending 沒有官方 API,插件依賴解析當前服務器渲染的 HTML 佈局。如果 GitHub 更新頁面結構,解析器可能需要更新。
  2. 速率限制:未認證的請求受 GitHub IP 速率限制約束。
  3. 直接抓取:插件直接抓取 GitHub,而非通過 ctx.web,因此不繼承 Harness Web 能力的 Fetch 策略。
  4. 面板實現:右側面板通過 shell.overlay 實現,DSH 目前尚未提供原生的右側插槽,因此面板以懸浮層形式展示。
  5. 許可:插件採用 MIT 許可證。

總結

wang-junjian/dsh-github-trending 插件填補了 DeepSeek Harness 生態中 GitHub Trending 數據獲取的空白。通過將非結構化的 Trending 頁面轉化爲結構化數據接口,它降低了開發者獲取開源趨勢信息的門檻。同時,Web 端的可視化面板也爲開發者提供了直觀的數據查看方式。

更多詳情可查閱插件目錄頁或源碼倉庫:
* 插件目錄頁
* GitHub 倉庫

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

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

小夜