🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

插件商城 loker66fan/dsh-market-github

DeepSeek Harness
loker66fan80 天前有提交已提供中文文档扫描:含敏感能力

实时搜索 GitHub 插件并一键安装重启

28.4/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add loker66fan/dsh-market-github
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 64 处,展示前 32 条)
  • 执行外部命令来自配置/变量
    lib/host.js:58
    execFile(file, args, { timeout: 2500, windowsHide: true }, (error, stdout) => {
  • 读取本地文件
    lib/host.js:173
    if (existsSync(cand))
  • 执行外部命令来自配置/变量
    lib/host.js:347
    const child = spawn(process.execPath, ['-e', guard], {
  • 执行外部命令固定命令
    lib/host.js:400
    spawn('taskkill', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore', windowsHide: true });
  • 删除本地文件
    lib/host.js:429
    unlinkSync(op.snapshotPath);
  • 读取本地文件
    lib/host.js:442
    const snaps = readdirSync(dir)
  • 删除本地文件
    lib/host.js:448
    unlinkSync(join(dir, f));
  • 执行外部命令来自配置/变量
    lib/host.js:488
    const child = spawn(inv.file, [...inv.args, 'plugin', '--profile', profile, kind === 'uninstall' ? 'remove' : 'add', target], {
  • 请求外部主机api.github.com
    lib/host.js:623
    const api = await fetch(`https://api.github.com/repos/${owner}/${repo}/contents/package.json`, {
  • 发起网络请求
    lib/host.js:623
    const api = await fetch(`https://api.github.com/repos/${owner}/${repo}/contents/package.json`, {
  • 发起网络请求
    lib/host.js:634
    const r = await fetch(url, {
  • 请求外部主机registry.npmjs.org
    lib/host.js:692
    const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkgName)}/latest`, {
  • 发起网络请求
    lib/host.js:692
    const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkgName)}/latest`, {
  • 写入本地文件
    lib/host.js:719
    mkdirSync(profileDir_, { recursive: true });
  • 写入本地文件
    lib/host.js:720
    writeFileSync(join(profileDir_, 'package.json'), JSON.stringify({
  • 写入本地文件
    lib/host.js:726
    writeFileSync(join(profileDir_, 'cordis.patch.yml'), '[]\n');
  • 写入本地文件
    lib/host.js:731
    writeFileSync(join(profileDir_, 'pnpm-workspace.yaml'), 'packages:\n - .\n\nnodeLinker: hoisted\nautoInstallPeers: false\n'
  • 删除本地文件递归
    lib/host.js:746
    rmSync(home, { recursive: true, force: true, maxRetries: 3 });
  • 执行外部命令来自配置/变量
    lib/host.js:753
    const child = spawn(exe, args, { cwd, env, stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true });
  • 读取本地文件
    lib/host.js:785
    if (!existsSync(p))
  • 读取本地文件
    lib/host.js:788
    writeFileSync(snap, readFileSync(p, 'utf8'));
  • 写入本地文件
    lib/host.js:788
    writeFileSync(snap, readFileSync(p, 'utf8'));
  • 读取本地文件
    lib/host.js:809
    if (!existsSync(p))
  • 读取本地文件
    lib/host.js:811
    const text = readFileSync(p, 'utf8');
  • 写入本地文件
    lib/host.js:821
    writeFileSync(p, text.replace(/^( *)allowBuilds *:.*$/m, (line) => line + '\n' + ind + quoted + ': true'));
  • 读取密钥环境变量
    lib/host.js:842
    const token = process.env.GITHUB_TOKEN || process.env.DSH_MARKET_GITHUB_TOKEN;
  • 发起网络请求
    lib/host.js:923
    const res = await fetch(url, {
  • 删除本地文件递归
    lib/host.js:1025
    rmSync(profileDir(profile) + '/.dsh-market', { force: true, recursive: true, maxRetries: 3 });
  • 删除本地文件
    lib/host.js:1040
    rmSync(file, { force: true, maxRetries: 3 });
  • 发起网络请求
    lib/host.js:1381
    const res = await fetch(url, {
  • 请求外部主机api.github.com
    lib/host.js:1697
    const res = await fetch(`https://api.github.com/repos/${m[1]}/contents/package.json`, {
  • 发起网络请求
    lib/host.js:1697
    const res = await fetch(`https://api.github.com/repos/${m[1]}/contents/package.json`, {
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:api.github.com、registry.npmjs.org

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 实时搜索GitHub插件
  • 一键安装插件
  • 一键重启

DeepSeek Harness 插件商城:启动页入口 + GitHub topic:dsh-plugin 实时搜索、一键安装/重启 · 内置插件商城,支持 GitHub 实时搜索

README

由 DeepSeek 最新模型翻译生成
dsh-market-github 参考项目(MIT):@sanqi-normal/dsh-webui-market-plugin 与 @condaThinker/dsh-webui-market-plugin-plus,致谢见文末。 在 dsh web GUI 内部的插件商城:启动页引导入口 + GitHub topic:dsh-plugin 实时搜索 + 一键安装/启用停用/一键重启。 An in-harness plugin market for the dsh web GUI: startup-page onboarding entry + real-time GitHub topic:dsh-plugin search + one-click install, enable/disable, and restart. 功能 Features - 启动页入口:首次运行(尚无会话)时,onboarding 引导多出「插件商城」步骤(只出现一次——完成/跳过即被记住,之后刷新或重启不再弹);也可随时从 设置 → 插件 → 插件市场 打开。 - GitHub 实时搜索:host 端代理 api.github.com/search/repositories,搜索框防抖 350ms 实时请求,每页 50 条 + 上一页/下一页翻页;自动过滤 fork、归档、私有仓库。
展开完整文档(README 剩余 1 节)
dsh-market-github

参考项目(MIT):@sanqi-normal/dsh-webui-market-plugin 与 @condaThinker/dsh-webui-market-plugin-plus,致谢见文末。

在 dsh web GUI 内部的插件商城:启动页引导入口 + GitHub topic:dsh-plugin 实时搜索 + 一键安装/启用停用/一键重启。

An in-harness plugin market for the dsh web GUI: startup-page onboarding entry + real-time GitHub topic:dsh-plugin search + one-click install, enable/disable, and restart.

功能 Features

- 启动页入口:首次运行(尚无会话)时,onboarding 引导多出「插件商城」步骤(只出现一次——完成/跳过即被记住,之后刷新或重启不再弹);也可随时从 设置 → 插件 → 插件市场 打开。
- GitHub 实时搜索:host 端代理 api.github.com/search/repositories,搜索框防抖 350ms 实时请求,每页 50 条 + 上一页/下一页翻页;自动过滤 fork、归档、私有仓库。空查询返回最热插件,支持按 Star / 最近更新排序;卡片显示 topics、语言、许可证、更新时间;搜索配额(GH remaining/limit)可见,配 GITHUB_TOKEN 可提高。
- 一键安装:安装/更新/卸载走后台任务,全应用右下角进度浮条常驻(切页面不丢),可终止、可最小化;已发布 npm 的插件优先走 registry tarball 安装(registry 校验与仓库一致防抢注,否则回退 GitHub 源);纯 host 插件装好后热挂载免重启(校验 fiber 真实激活才报成功)。
- 可靠网络:自动识别设备代理(环境变量 → 系统代理 → Clash/mihomo/v2rayN 常见端口探测),无需手动配置;GitHub 源走 codeload tarball 直链(绕开易卡的 git 协议);清单校验在 raw.githubusercontent 被封时自动回退 GitHub contents API / jsDelivr / ghproxy。
- 安装安全把关:GitHub 源先读其 package.json 的 dsh 清单——声明 dsh.client 的 web 插件直接安装;仅声明 dsh.bundle 的走临时环境试装启动验证(真实 profile 不受影响);读不到清单则拒绝(可勾选「跳过安全检查」)。pnpm 构建放行按精确键(裸包名 + 包名@tarball地址)写入,scoped 包名加引号防 YAML 解析失败。
- 纯客户端插件支持:只有 dsh.client 没有 dsh.bundle 的插件(如主题/UI 插件)安装后自动写入合成配置行,重启即加载;卸载时同步移除。
- 启用 / 停用:编辑 profile 的 dsh.profile.bundles 层;停用立即生效(保留依赖、只去配置层),启用尝试热挂载。
- 一键重启:安装/停用后需要重启时,横幅自带「立即重启」按钮(同源 + 直连 loopback 双重校验,detached 拉起同一命令),重启完成后页面自动刷新。
- 更新检测:GitHub 源比对锁文件 commit 与 HEAD,npm 源比对 registry 版本;一键更新。
- 模型可用:注册 market_search / market_install / market_installed / market_update 工具,agent 可直接搜索并安装插件。

安装 Install

从 GitHub 安装(推荐——本仓库提交了预构建的 lib/,无需任何安装期构建授权):

dsh plugin --profile web add github:loker66fan/dsh-market-github

npm(尚未发布 / 计划中):发布前 dsh plugin --profile web add dsh-market-github 会以 404 失败,请先用上面的 GitHub 源;发布到 npm 后此命令即可直接使用:

计划发布到 npm / planned npm publish(当前 404)
dsh plugin --profile web add dsh-market-github

本地开发链接:

dsh plugin --profile web add /path/to/dsh-market-github

安装后重启 dsh web(热挂载成功的除外):

dsh web

使用 Usage

入口 Entry

- 启动页:首次运行(无会话)时引导里会出现「插件商城」步骤,可「完成 / 跳过」;该步骤只展示一次(localStorage 记忆),之后的启动不再打扰。
- 设置 → 插件 → 插件市场:随时打开同一面板。

搜索与浏览 Browse

- 搜索框实时搜索 GitHub topic:dsh-plugin(防抖 350ms),空查询返回最热插件;支持最热(Star)/ 最新(更新时间)排序和已安装过滤。
- 翻页:每页 50 条,列表底部「上一页 / 下一页」。
- 卡片显示:名称、作者、Star、topics、语言、许可证、更新时间——方便自行判断可信度。

安装 / 更新 / 卸载 / 启停 Manage

- 安装:点卡片「安装」→ 弹窗确认(显示将执行的 dsh plugin add 命令,可勾选"跳过安全检查")→ 后台执行 → 右下角进度浮条常驻(切页面不丢,可终止/最小化)→ 成功后简单插件热挂载免重启,否则横幅提示重启。
- 启用 / 停用:已安装卡片上的按钮(停用立即生效;启用尝试热挂载)。
- 更新:检测到新版本时卡片出现「更新」按钮,一键更新。
- 卸载:两步确认后后台执行。
- 一键重启:需要重启时,横幅提供「立即重启」(同源 + 直连 loopback 校验),重启完成后页面自动刷新。

让 agent 帮你用(模型工具 market_)

装好后,模型会话里直接多出四个工具,无需打开 UI 即可搜索并安装插件:

| 工具 | 作用 | 示例 |
| market_search | 搜索插件(GitHub dsh-plugin 话题) | market_search({ q: "terminal" });分页用 page / perPage |
| market_install | 安装插件(接受 GitHub owner/repo、git URL、npm 包名或本地路径,走与 UI 相同的安全校验) | market_install({ spec: "github:owner/repo" }) |
| market_installed | 列出已装插件及其版本与更新情况 | market_installed() |
| market_update | 更新指定插件(用 market_installed 返回的包名) | market_update({ name: "" }) |

例如直接对 agent 说:「搜索 dsh 插件市场里的终端 UI 插件,选最火的装一个」。

搜索未鉴权限速约 10 次/分钟;给 host 进程配 GITHUB_TOKEN(或 DSH_MARKET_GITHUB_TOKEN)可提高配额。结果来自 GitHub 话题标签,未经人工审核——安装前请自行确认插件可信。

工作原理 How it works

持久化 bundle(dsh.bundle.patch → cordis.patch.yml),由 dsh plugin add 的 reconcile 自动加入 profile 的 dsh.profile.bundles 层:

- Host 半(src/host.ts → lib/host.js):注册 /api/dsh-market 路由,提供 search(GitHub 实时搜索)/ probe / installed / install / uninstall / update / updates / op / kill / toggleActive / restart。
- Client 半(src/client/ → lib/client.js):通过 exports["./client"] + dsh.client 被 web 前端加载,注册到 settings.onboarding(启动页商城步骤)、settings.plugins.tab(市场面板)、shell.overlay(全局进度浮条)三个 slot。

安全与限制 Safety and limitations

- 写操作(install/uninstall/update/kill/toggleActive)仅接受同源 POST;restart 额外要求直连 loopback 客户端(转发请求被拒)。
- GitHub 源装前校验 dsh 清单;无 dsh.client 的走临时环境试装启动验证,验证失败不改动现有安装。
- GitHub 源会执行包内 prepare 脚本(市场只对已验证的包精确放行 allowBuilds),且不在 agent 沙箱内——只装你信任的源。
- 搜索受 GitHub API 限速(未鉴权 10 次/分钟,服务端 60s 短缓存;GITHUB_TOKEN 可提高)。
- 热挂载只支持 patch 结构简单且无 Web 客户端的插件;含 dsh.client 的插件需重启(横幅自带「立即重启」)。
- 代理自动探测最多等待数秒,极端网络下安装会回退直连 codeload;探测到的代理仅注入安装子进程,不影响 dsh 自身流量。
- 本市场本身不是安全审查:列表存在 ≠ 背书。

开发 Development

npm install # 装构建工具链
npm run typecheck # host + client 类型检查
npm run build # 生成 lib/host.js + lib/client.js(提交进仓库)
npm test # node --test tests/.test.mjs

推送 main / push-to-github(及针对 main 的 PR)触发 GitHub Actions CI(ubuntu × Node 22/24 + windows × Node 24:typecheck + build + test,见 .github/workflows/ci.yml)。发布前自动跑 npm run build && npm test(prepublishOnly)。版本/分支约定见 docs/MAINTAINING.md。

致谢 Credits

本仓库作者:loker66fan。开发过程中参考了以下 MIT 项目,谨此致谢:

- 参考项目 @Sanqi-normal/dsh-webui-market-plugin(MIT)——市场 UI、后台安装、试装验证的思路来源。
- 参考项目 @condaThinker/dsh-webui-market-plugin-plus(MIT)——全局进度浮条、可终止安装、启用/停用的思路来源。

本仓库在参考基础上完善的功能:启动页 onboarding 入口、GitHub 实时搜索 + 翻页、codeload tarball 安装、设备代理自动识别、纯客户端插件合成行、模型可用 market_ 工具、一键重启。

License

MIT. 参考 Sanqi-normal/dsh-webui-market-plugin(亦为 MIT)编写;版权声明见 LICENSE。
预览分享卡片长什么样 ↓loker66fan/dsh-market-github
分享 · DeepSeek Harness Hub
loker66fan/dsh-market-github

实时搜索 GitHub 插件并一键安装重启

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部