定时抓取趋势榜并生成中文日报,自动提交仓库开 PR
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add morehao/dsh-github-trending该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 50 处,展示前 49 条)
- 发起网络请求client/api.ts:40
const response = await fetch(`${API}${path}`, { - 写入剪贴板client/settings.ts:355
void navigator.clipboard?.writeText(redacted).then(() => notify('ok', t('settings.copied'))); - 写入剪贴板client/ui.ts:228
await navigator.clipboard.writeText(value); - 执行外部命令固定命令src/core/channel.ts:42
const child = spawn('mkfifo', ['-m', '600', file], { stdio: ['ignore', 'ignore', 'pipe'], windowsHide: true }); - 删除本地文件src/core/channel.ts:93
await unlink(file).catch(() => undefined); - 写入本地文件src/core/channel.ts:105
await writeFile(file, content, { mode: 0o600 }); - 删除本地文件src/core/channel.ts:110
await unlink(file).catch(() => undefined); - 读取本地文件src/core/channel.ts:137
const info = await stat(channel.path); - 删除本地文件递归src/core/channel.ts:142
await rm(path.dirname(channel.path), { recursive: true, force: true }).catch(() => undefined); - 读取本地文件src/core/locate.ts:37
if (!statSync(file).isFile()) return false; - 读取本地文件src/core/locate.ts:38
accessSync(file, constants.X_OK); - 读取本地文件src/core/locate.ts:74
if (!existsSync(override.path)) { - 读取本地文件src/core/release.ts:110
cached: existsSync(binaryPath), - 读取本地文件src/core/release.ts:115
return createHash('sha256').update(readFileSync(file)).digest('hex'); - 读取本地文件src/core/release.ts:126
info = statSync(binaryPath); - 读取本地文件src/core/release.ts:133
if (!existsSync(marker)) return { ok: true }; - 读取本地文件src/core/release.ts:134
const expected = readFileSync(marker, 'utf8').trim(); - 写入本地文件src/core/release.ts:215
mkdirSync(descriptor.cacheDir, { recursive: true, mode: 0o700 }); - 写入本地文件src/core/release.ts:231
createWriteStream(temp, { mode: 0o600 }), - 写入本地文件src/core/release.ts:241
chmodSync(temp, 0o755); - 写入本地文件src/core/release.ts:242
renameSync(temp, descriptor.binaryPath); - 删除本地文件src/core/release.ts:247
rmSync(temp, { force: true }); - 读取本地文件src/core/release.ts:260
if (!options.force && existsSync(descriptor.binaryPath)) { - 删除本地文件src/core/release.ts:273
unlinkSync(descriptor.binaryPath); - 执行外部命令来自配置/变量src/core/run.ts:137
const child = spawn(options.core.path, args, { - 读取本地文件src/host/core.ts:79
if (!statSync(file).isFile()) return false; - 读取本地文件src/host/core.ts:80
accessSync(file, constants.X_OK); - 读取本地文件src/host/import-cli.ts:138
text = readFileSync(filePath, 'utf8'); - 读取本地文件src/host/repo.ts:22
return statSync(dir).isDirectory(); - 读取本地文件src/host/runner.ts:114
if (!existsSync(repoPath)) return { code: 'REPO_NOT_GIT', message: `目录不存在:${repoPath}` }; - 读取本地文件src/host/runner.ts:116
if (!statSync(repoPath).isDirectory()) return { code: 'REPO_NOT_GIT', message: `不是目录:${repoPath}` }; - 读取本地文件src/host/runner.ts:120
if (!existsSync(path.join(repoPath, '.git'))) { - 读取本地文件src/host/runner.ts:819
const stat = statSync(fileReal); - 读取本地文件src/host/runner.ts:822
buffer = readFileSync(fileReal); - 写入本地文件src/host/subscribe.ts:68
writeFileSync(file, yaml, { mode: 0o600 }); - 删除本地文件递归src/host/subscribe.ts:134
rmSync(dir, { recursive: true, force: true }); - 读取本地文件src/state.ts:172
const text = readFileSync(file, 'utf8'); - 写入本地文件src/state.ts:182
mkdirSync(dir, { recursive: true, mode: 0o700 }); - 写入本地文件src/state.ts:238
writeFileSync(temp, `${JSON.stringify(value, null, 2)}\n`, { mode: 0o600 }); - 写入本地文件src/state.ts:239
renameSync(temp, file); - 写入本地文件src/state.ts:366
appendFileSync(file, `${line}\n`, { mode: 0o600 }); - 读取本地文件src/state.ts:370
return existsSync(file); - 读取本地文件src/state.ts:375
const text = readFileSync(file, 'utf8'); - 写入本地文件src/state.ts:392
writeFileSync(temp, text, { mode: 0o600 }); - 写入本地文件src/state.ts:393
renameSync(temp, file); - 读取本地文件src/state.ts:401
const stat = statSync(file); - 读取本地文件src/state.ts:404
const buffer = readFileSync(file); - 读取本地文件src/state.ts:418
names = readdirSync(this.previewsPath); - 删除本地文件src/state.ts:436
unlinkSync(entry.file);
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
GitHub 趋势日报的 DeepSeek Harness 插件:按日、周、月周期抓取 Trending,生成中文简介与总结,订阅仓库 Release 摘要,自动提交到你的仓库并开 PR 合并。
README
由 DeepSeek 最新模型翻译生成dsh-github-trending
GitHub 趋势榜的 DeepSeek Harness 插件
GitHub 趋势榜的 DeepSeek Harness 插件:按日 / 周 / 月周期定时生成趋势日报,交给本地 trendradar 核心抓取 Trending、写中文简介与周期总结,并自动提交到你自己的仓库、开 PR 合并。你在工作台里看状态、读榜单、管理订阅,不用盯命令行。
定位
- 它是入口,不是引擎。抓取、解析、模型总结、渲染、git 与 PR 全在本地 trendradar 核心一处实现;插件只负责配置、调度、spawn 核心、展示结果,避免两份实现漂移。
- 成品原样落地。内容按核心产出的 canonical 逐字节写入,插件不改写、不重排、不二次调用模型。
- 本地运行、无遥测。核心在你的机器上跑;插件没有云端账号,密钥只经运行时通道交给核心,不写配置文件、不进日志。
需要什么、配置项、错误码、订阅阶段、实现细节等深入内容见 docs/reference.md。
功能说明
工作台从侧栏「GitHub 趋势」或 设置 → GitHub 趋势 进入,分五个视图:
概览
一屏回答「下次什么时候跑、四项就绪检查是否齐、上次交付了什么」。
展开完整文档(README 剩余 1 节)
dsh-github-trending GitHub 趋势榜的 DeepSeek Harness 插件 GitHub 趋势榜的 DeepSeek Harness 插件:按日 / 周 / 月周期定时生成趋势日报,交给本地 trendradar 核心抓取 Trending、写中文简介与周期总结,并自动提交到你自己的仓库、开 PR 合并。你在工作台里看状态、读榜单、管理订阅,不用盯命令行。 定位 - 它是入口,不是引擎。抓取、解析、模型总结、渲染、git 与 PR 全在本地 trendradar 核心一处实现;插件只负责配置、调度、spawn 核心、展示结果,避免两份实现漂移。 - 成品原样落地。内容按核心产出的 canonical 逐字节写入,插件不改写、不重排、不二次调用模型。 - 本地运行、无遥测。核心在你的机器上跑;插件没有云端账号,密钥只经运行时通道交给核心,不写配置文件、不进日志。 需要什么、配置项、错误码、订阅阶段、实现细节等深入内容见 docs/reference.md。 功能说明 工作台从侧栏「GitHub 趋势」或 设置 → GitHub 趋势 进入,分五个视图: 概览 一屏回答「下次什么时候跑、四项就绪检查是否齐、上次交付了什么」。顶部是插件身份条(版本 / 包名 / 检查更新 / GitHub,两个图标紧跟包名),点包名打开「关于」弹层;右侧常驻下次运行与就绪 N/4。 概览 榜单 按周期(日榜 / 周榜 / 月榜)回看历史榜单,直接渲染 Markdown(标题、列表、表格、链接),也可切「原文」。只有保留了预览副本的期数能读;失败 / 无变更 / 试跑 / 旧记录各有空状态。 榜单 运行记录 最近 30 次运行,按成功 / 失败 / 试跑筛选;展开某条看交付物(提交、内容哈希、分支、PR 链接)与只读日志,页脚给累计 token。 运行记录 设置 内容来源 / 模型 / 仓库 / 认证 / 榜单 / 调度 六个分区,每个分区独立保存与校验;某分区有未保存改动时左侧对应项显示黄点。 设置 GitHub 认证 认证分区支持三种方式(可随时切换): - 浏览器登录(推荐):点「用 GitHub 登录」在浏览器完成授权,无需手工粘贴 token,token 由 DSH 凭据记录安全保存、不落 settings.json。插件内置了公开的 OAuth App client_id,开箱即用。GitHub 的 web flow 换 token 必须带 client_secret(客户端不能内置机密),所以走设备码:点一下打开 GitHub 验证页,把页面上的验证码(设置页可一键复制)输入并确认即可。 - 本机 gh:复用你终端里 gh auth login 的登录态。 - PAT:手工填 Personal Access Token(存到凭据引用 / 环境变量)。 浏览器登录需要核心提供 authorization 服务,并且 GitHub flow 注册成功才算可用;两者任一不满足时,设置页直接提示不可用并引导改用 gh / PAT,而不是给一个点了没反应的按钮。宿主启动时服务可能晚于插件就绪,插件会等服务就绪再注册,并在读状态时再兜底一次。 设备码 / 授权页默认尝试自动打开;若被浏览器的弹窗拦截,状态行里始终有可点的「打开授权页」链接、验证码与「复制链接」。 订阅 (可选)订阅一组仓库,每周把每个仓库当周新增的 Release 合成一段中文摘要,与榜单同分支、同 PR 一起提交;订阅列表随数据仓版本化,可审计、可复现。 订阅 安装 dsh plugin --profile <profile> add @morehao/dsh-github-trending 装完重启宿主,从侧栏「GitHub 趋势」或 设置 → GitHub 趋势 进入。 三步上手 1. 选仓库:填本地 git 仓库的绝对路径(插件不替你 git init,不是仓库就报 REPO_NOT_GIT)。 2. 填模型:点「沿用 DSH 配置」从宿主 provider 目录里挑 provider 与模型;可导出密钥的直接传给核心,OAuth 类凭据走本机回环代理。 3. 试跑一次:「试跑(不提交)」只抓取与渲染,不写文件、不提交。 环境要求:DSH 0.2.1-rc.3 以上、Node.js ^22.20.0 || >=24.0.0、本地 git ≥ 2.30 与可写远端、git/GitHub 凭据(仅 push 与开 PR 需要)。核心二进制首次运行从 GitHub Release 下载并按 sha256 校验,之后离线复用。 网络代理:核心抓取 GitHub 需要联网。GUI 宿主(从 Finder 启动)通常不继承 shell 的 http(s)_proxy,在国内直连会超时——现象是趋势页抓取失败、回退到 GitHub 搜索 API(无「今日新增」增量、按总 star 排序)。此时在设置 → 核心 → 网络代理填 http://127.0.0.1:7890(你的代理地址)即可,插件会把它注入核心子进程的 HTTP(S)_PROXY/ALL_PROXY。留空则不使用代理。 开发与发版 npm install npm run check # typecheck + 契约校验 + 构建 + 全部测试 node scripts/ac/run.mjs # AC-P 机械检查 发版走 tag 触发的 CI(Trusted Publishing / OIDC):合并 PR → 在 main 打注记 tag vX.Y.Z → CI 发 npm 并用注记正文建 Release。细节见 docs/publishing.md。 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
morehao/dsh-github-trending
定时抓取趋势榜并生成中文日报,自动提交仓库开 PR
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目