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。

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

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

小夜