dsh-github-trending-masonry:在 DSH Web UI 里用瀑布流看 GitHub Trending

前言

在 DeepSeek Harness(DSH)里做智能体或日常开发时,经常需要扫一眼 GitHub Trending:日榜、周榜、月榜各看一圈,再决定要不要点进仓库。浏览器单独开 Trending 页可以,但和 Harness 的对话、插件侧边栏是割裂的;有的同类插件是列表式 UI,长简介一多就不好扫。

下面介绍维护者 Zhang-Eli 发布的联网工具类插件 dsh-github-trending-masonry:在 DSH Web 界面主栏用瀑布流卡片展示 Trending,支持周期切换、分类筛选、一键 Star(可同步 GitHub 或仅存本地),并带缓存与后台预取。实现思路上,README 注明借鉴 MIT 许可的 @royalsan/dsh-github-trending,但是独立 UI、数据模型与缓存实现。

这是什么

dsh-github-trending-masonry 的定位是:为 DeepSeek Harness Web UI 提供「扁平瀑布流」形态的 GitHub Trending 面板。仓库托管在 GitHub,社区目录页为 SkillHub 条目(分类:联网工具)。package.json 当前版本为 0.1.2,许可证 MIT,运行要求 Node.js >=22。

核心功能

榜单与布局

  • 日榜 / 周榜 / 月榜:对应 GitHub Trending 三个时间窗口,顶部 Tab 切换。
  • 瀑布流卡片:响应式多列;简介越长卡片越高,整页统一滚动。
  • 分类 Chip 筛选:卡片上保留周期标签、分类等信息,可按分类过滤。

简介与语言

  • 默认开启 模型撰写简介:使用你当前 DSH 默认模型(无需额外 API Key),为每个项目生成 2–4 句介绍加 3–4 条亮点,面向读者而非照搬 README。
  • 界面语言一致:中文 UI 下为中文简介,英文 UI 下为英文简介。
  • 可在配置里关闭模型简介,改为显示翻译后的 README 文本(见下文 Options)。

加载与缓存

  • 当前可见榜单加载后,另外两个周期在后台预取。
  • 再次打开面板可立即绘制上次内容;需要最新数据时点刷新。
  • 榜单、简介等按配置 TTL 缓存(默认 30 分钟)。

收藏与 GitHub 账号

  • 卡片右上角 一键 Star:连接 GitHub 后 Star 落到真实账号;未连接时收入 「我的收藏」,重启后仍在。
  • 我的收藏 按时间倒序;带 GitHub 徽标表示已同步账号,本地 表示仅本机。
  • 未在 UI 连接时,也会尝试环境变量 GITHUB_TOKEN / GH_TOKEN;可在配置里写死 token。

卡片上刻意只保留:简介、技术栈、周期标签、分类 Chip,减少噪音。

安装与启用

在 DSH 所在环境执行官方安装命令(README 原文,勿自行拼接 github:owner/repo 形式):

dsh plugin --profile desktop add dsh-github-trending-masonry

安装后重启 DSH,在侧边栏图标列表中点击 Trending 图标,面板会在主栏打开。

插件以当前 DSH 进程的权限运行;安装前建议自行查看仓库源码与 MIT 许可证,确认符合你的环境与合规要求。DSH 生态强调「一切皆插件」,SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

  1. 侧边栏点击 Trending 图标,主栏打开面板。
  2. 顶部切换 日榜 / 周榜 / 月榜,用分类 Chip 过滤,点击卡片右上角 Star。
  3. 在 我的收藏 查看已收藏项目;页头账号按钮可 连接 GitHub:粘贴 Personal Access Token(经典 Token,public_repo 范围即可对公开仓库 Star)。之后 Star 直达 GitHub;不连接也可仅用本地收藏,断开连接不会删除已有收藏。

连接 GitHub 时,Token 存入 DSH 凭证服务;该服务不可用时退化为本机仅属主可读的 JSON。Token 除 GitHub 外不会发往其它地方。

可选配置

多数情况无需改配置。若要调整缓存、简介生成或存储路径,在 profile 的 cordis.patch.yml 中为插件写入 config:

- id: github-trending-masonry
  name: dsh-github-trending-masonry
  config:
    ttlMinutes: 30        # how long a board is cached, 5..1440, default 30 min
    summaries: true       # model-written intros; false = show translated README text
    summaryProvider: ''   # use a different model route
    summaryModel: ''      # use a different model
    summaryConcurrency: 6 # parallel model calls, 1..8
    summaryTimeoutMs: 60000
    dataDir: ''           # where caches and the collection are stored
    token: ''             # pin a token here instead of connecting in the UI

适用场景与注意

适合谁:希望在 Harness 内快速浏览 Trending、用模型生成可读摘要、并把感兴趣仓库 Star 到 GitHub 或本地清单的开发者。

数据与隐私:榜单缓存、简介缓存、收藏与账号元数据位于本机 profile 目录下 plugin-data/github-trending-masonry/。简介经 DSH 自有模型服务生成,不需自备第三方 API Key。

使用成本:首次加载某榜单时,模型会为未见过的项目写简介,README 估算约 11–25 token/榜(仅新项目);结果会缓存。设 summaries: false 可完全关闭。

与其它 Star 行为:插件只跟踪本插件发起的 Star;你之前在 GitHub 上已 Star 的仓库,卡片上可能显示未 Star,点一次即可对齐,重复点击无副作用。

解析失败:若 GitHub 调整 Trending 页面结构,面板会继续展示上次缓存榜单,待插件更新解析后自动恢复。

结尾

经过上面的步骤,你可以在 DSH 侧边栏用一块瀑布流面板完成 Trending 浏览、筛选、摘要阅读与收藏,而不必在浏览器与 Harness 之间来回切换。进一步了解功能与变更可查仓库 README 与 CHANGELOG。

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

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

小夜