DeepSeek Harness Hub
← 返回列表

插件市场面板99galaxy/dsh-plugin-market

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

在设置面板浏览社区插件目录并一键安装

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/13 · 已提供中文文档

在 DeepSeek Harness 设置面板里浏览并一键安装社区插件 | A plugin market inside the DeepSeek Harness settings panel

综合分
29.6
GitHub 分
29.6
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add 99galaxy/dsh-plugin-market
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-plugin-market

在 DeepSeek Harness 的设置面板里逛插件市场,一键安装。

一个面向 DeepSeek Harness 的插件市场设置页面:浏览社区目录,
在独立标签页中查看你已安装的内容,并一键安装。

数据来自 awesome-dsh-plugin 维护的
官方目录 plugins.json —— 约 3,500+ 个插件、23 个双语分类,带 Star 数、下载量、收录日期,
以及每个条目的官方安装命令。

它做什么

设置面板里新增一节 「DSH 插件市场」,页面内有两个标签:

| 标签 | 内容 |
| --- | --- |
| 全部插件 | 完整目录。可按分类筛选、按 Star/下载量/名称/收录时间排序、搜索插件名或简介 |
| 已安装 | 只列出你已经装过的插件,标签上直接显示数量 |

- 一键安装:点「安装」即执行该条目的官方安装命令,装到当前 profile
- 安装状态:已安装的条目带绿色徽章;若目录名与你实际装的包名不同,会标出真实包名
- 中英切换:简介可切中文/英文
- 本地缓存:目录存到本地,1 小时内直接复用;要最新的点「强制重新获取」
- 四级降级:官方域名 → 镜像 → CDN → npm,任一条通即可

安装

这是一个 DSH bundle:装进 profile 后重启 DSH 自动加载。

cd ~/.dsh/profiles/web          # 换成你的 profile 目录
pnpm add github:99galaxy/dsh-plugin-market

也可以显式用 HTTPS 地址:

pnpm add https://github.com/99galaxy/dsh-plugin-market

然后把它加进 package.json 的层列表 —— 声明了 dsh.bundle 的依赖才会被加载:

{
"dsh": {
"profile": {
"bundles": ["...", "dsh-plugin-market"]
}
}
}

重启 DSH。

github: 前缀在部分 git 配置下会被解析成 git+ssh,而匿名 HTTPS 不需要任何凭据。
若 pnpm 报找不到仓库或索要 SSH 密钥,改用上面的 HTTPS 形式。

使用

1. 打开设置 → DSH 插件市场
2. 浏览或搜索;点卡片右侧「安装」
3. 安装完成后重启 DSH,插件才会加载

「已安装」标签里可以确认某个插件是否已经在你的 profile 里。

架构

┌─ 浏览器半边 ────────────────────────────────────────────────┐
│  window.__ModuleLoader__.load({ id, factory(require) })     │
│  require('react');槽位服务由 ctx 注入                       │
│  settings.section → 一个「DSH 插件市场」页面                 │
│      页面内两个标签:全部插件 / 已安装                       │
│  筛选、排序、分页全部在宿主侧完成                            │
└───────────────┬─────────────────────────────────────────────┘
│ fetch()  ← 不是动态插件的私有 RPC,也不是 ctx.remote
┌───────────────▼─────────────────────────────────────────────┐
│  宿主半边  index.js                                          │
│  ctx.inject(['webServer']) →                                │
│    GET  /dsh-plugin-market/list                             │
│    POST /dsh-plugin-market/install                          │
│  子进程输出经文件描述符捕获(非管道、非 shell)           │
└───────────────┬─────────────────────────────────────────────┘
│ spawn(node, [market-core.mjs, …])
┌───────────────▼─────────────────────────────────────────────┐
│  market-core.mjs(真实文件,可单独运行)                      │
│    catalog   抓取/缓存目录(官方 → 镜像 → CDN → npm)         │
│    installed 读 profile 依赖 + node_modules                  │
│    install   用 profile 记录的 pnpm 主版本执行安装            │
└─────────────────────────────────────────────────────────────┘

为什么用 HTTP 而不是 ctx.remote

浏览器半边要调用宿主能力,但 ctx.remote. 的方法来自 DSH 的 Typert 代码生成 ——
本地手写的插件无法注册自己的命名空间(ctx.remote.$mount() 只接受生成的贡献)。
而 webserver 的命名路由注册是公开服务:

ctx.inject(['webServer'], (host) => {markdown
host.webServer.register({ kind: 'exact', path: '…', handler: (req, res) => {} })
})

于是宿主暴露两条路由,浏览器半边用 fetch 调用。

HTTP 接口

| 方法 | 路径 | 入参 | 出参 |
| --- | --- | --- | --- |
| GET | /dsh-plugin-market/list | bypass, sourceUrl, category, q, sort, only, limit, offset | { ok, payload: { items, categories, count, total, matched, installedTotal, offset, sort, only, category, q, catalogFromCache, fetchedAt, catalogUpdated, source, note } } |
| POST | /dsh-plugin-market/install | { install, name? } | { ok, spec, seconds, log } |

bypass=1 是唯一的强制重新抓取旗标;只有「强制重新获取」按钮发它,其余调用都只做新鲜度检查。
两个标签也是页面内的:插件只注册一个 settings.section,第二个标签由页面自己渲染。

包内容

package.json          声明 dsh.bundle.patch 与 dsh.client.platform
cordis.patch.yml      把自己插进 profile 的层栈
index.js              宿主半边:两条 HTTP 路由
market-core.mjs       市场逻辑(生成物,请勿手改)
client/client.js      浏览器半边:单个设置页 + 页内两个标签

market-core.mjs 由源生成后一并提交,所以 clone 下来即可安装,不需要任何构建步骤。

许可

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群