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

插件市场 NanmiCoder/dsh-plugin-market

DeepSeek Harnessv0.2.0
NanmiCoder78 天前有提交已提供中文文档扫描:含敏感能力

浏览并安装经过验证的插件,随时卸载

33.6/100
综合分
6
GitHub 星标
252
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @nanmicoder/dsh-plugin-market
npm 源 · @nanmicoder/dsh-plugin-market 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 78 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@nanmicoder/dsh-plugin-market @ 0.2.0
✓Node 引擎要求 ^22.19.0 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/24 19:33:56

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

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

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 20 处,展示前 20 条)
  • 发起网络请求
    lib/client.js:24
    const response = await fetch(`${BASE}/catalog`, { cache: "no-store" });
  • 发起网络请求
    lib/client.js:48
    return await (await fetch(`${BASE}/readme?id=${encodeURIComponent(id)}`, { cache: "no-store" })).json();
  • 发起网络请求
    lib/client.js:83
    return await fetch(url, {
  • 写入剪贴板
    lib/client.js:929
    navigator.clipboard.writeText(text).then(() => {
  • 执行外部命令固定命令
    lib/installer.js:209
    const result = spawnSync('pnpm', [...args], {
  • 读取本地文件
    lib/profile.js:44
    if (!existsSync(join(candidate, 'package.json'))) {
  • 读取本地文件
    lib/profile.js:83
    return JSON.parse(readFileSync(join(dir, 'package.json'), 'utf8'));
  • 发起网络请求
    lib/readme.js:78
    const response = await fetch(sourceUrl, { headers: { accept: 'text/plain' }, signal });
  • 读取本地文件
    lib/registry.js:224
    return existsSync(LOCAL_BUILD_PATH) ? LOCAL_BUILD_PATH : undefined;
  • 发起网络请求
    lib/registry.js:239
    const response = await fetch(source, { headers, signal });
  • 读取本地文件
    lib/registry.js:278
    const stamp = String(statSync(path).mtimeMs);
  • 读取本地文件
    lib/registry.js:281
    const catalog = parseCatalog(JSON.parse(readFileSync(path, 'utf8')));
  • 读取本地文件
    lib/registry.js:325
    return parseCatalog(JSON.parse(readFileSync(path, 'utf8')));
  • 写入本地文件
    lib/registry.js:337
    mkdirSync(dirname(this.cachePath), { recursive: true });
  • 写入本地文件
    lib/registry.js:339
    writeFileSync(temporary, JSON.stringify(catalog), 'utf8');
  • 写入本地文件
    lib/registry.js:341
    renameSync(temporary, this.cachePath);
  • 发起网络请求
    lib/client/api.js:17
    const response = await fetch(`${BASE}/catalog`, { cache: 'no-store' });
  • 发起网络请求
    lib/client/api.js:43
    const response = await fetch(`${BASE}/readme?id=${encodeURIComponent(id)}`, { cache: 'no-store' });
  • 发起网络请求
    lib/client/api.js:76
    return await fetch(url, {
  • 写入剪贴板
    lib/client/ui.js:114
    void navigator.clipboard.writeText(text).then(() => {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-app-boot@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 浏览已验证插件
  • 安装与卸载插件

为 DeepSeek Harness 打造的插件市场,经过验证——在 Web UI 里发现、查看、安装、卸载 DSH 插件。

README

由 DeepSeek 最新模型翻译生成
English · 简体中文 找到真插件,只安装能验证的插件 dsh-plugin-market 为 DeepSeek Harness 加入内置插件市场。你可以在 设置 → 插件市场 中浏览持续维护的目录、检查每条收录背后的证据,并直接安装或卸载已验证插件。 目录刻意采取保守策略:只有确定性规则能决定一个产物是否可安装;模型生成的摘要和标签只用于展示,永远不能授权安装。 你可以打开 WebUI 在线交互预览,搜索真实目录切片、检查证据并体验响应式产品流程;预览站不会执行安装。 当前目录证据 仓库中 2026-08-15 生成的目录快照包含: | 目录条目 | 可一键安装 | npm 已验证 | 源码已验证 | | 3,518 | 936 | 716 | 220 | 每次一键安装执行的都是目录内规范化后的 package spec,而不是从仓库 README 复制来的 shell 命令。 为什么需要 Plugin Market? | 能力 | 带来的变化 | | 可验证的安装路径 | 只有 npm manifest、DSH bundle 元数据、patch 文件和构建条件都满足时,条目才会变成可安装。 | | 发现长尾插件 | 可同时搜索仓库名、包名、分类、作者 topics 和受控目录标签,不必只靠 star 排序。
展开完整文档(README 剩余 1 节)
English · 简体中文

找到真插件,只安装能验证的插件

dsh-plugin-market 为 DeepSeek Harness 加入内置插件市场。你可以在 设置 → 插件市场 中浏览持续维护的目录、检查每条收录背后的证据,并直接安装或卸载已验证插件。

目录刻意采取保守策略:只有确定性规则能决定一个产物是否可安装;模型生成的摘要和标签只用于展示,永远不能授权安装。

你可以打开 WebUI 在线交互预览,搜索真实目录切片、检查证据并体验响应式产品流程;预览站不会执行安装。

当前目录证据

仓库中 2026-08-15 生成的目录快照包含:

| 目录条目 | 可一键安装 | npm 已验证 | 源码已验证 |
| 3,518 | 936 | 716 | 220 |

每次一键安装执行的都是目录内规范化后的 package spec,而不是从仓库 README 复制来的 shell 命令。

为什么需要 Plugin Market?

| 能力 | 带来的变化 |
| 可验证的安装路径 | 只有 npm manifest、DSH bundle 元数据、patch 文件和构建条件都满足时,条目才会变成可安装。 |
| 发现长尾插件 | 可同时搜索仓库名、包名、分类、作者 topics 和受控目录标签,不必只靠 star 排序。 |
| 结果可解释 | 仓库描述、模型摘要、topics、指标、许可证、release 和安装证据彼此分开展示。 |
| 构造上安全的输入 | 浏览器只发送目录 ID;host 再解析并校验精确的 npm 或 GitHub spec,之后才调用 pnpm。 |
| 即时运行时反馈 | 纯 host 插件安装后直接热挂载;带 Web UI 的插件只需刷新页面。 |

安装

[!NOTE]
使用前请确保已安装 DeepSeek Harness。

npm

dsh plugin --profile web add @nanmicoder/dsh-plugin-market

检查组合配置、重启 DSH,然后打开 Web UI:

dsh --profile web --dump-config
dsh web

接着进入 设置 → 插件市场。

从源码构建

git clone https://github.com/NanmiCoder/dsh-plugin-market.git
cd dsh-plugin-market
pnpm install
pnpm build
dsh plugin --profile web add .

修改源码后请重新执行 pnpm build。本地安装会继续链接到当前源码目录。

工作方式

1. 爬虫从 dsh-plugin、deepseek-harness 和 dsh 三个 GitHub topic 发现仓库。
2. 收集 GitHub 元数据、根目录和 workspace manifest、patch 文件、README、release 与 npm registry manifest。
3. 确定性规则给条目分配四种信任等级之一,并推导唯一允许执行的 spec。
4. 模型只补充简短摘要、分类、标签与作者自述的安装提示;这些字段不会改变分级和可执行 spec。
5. 带版本的目录产物发布在 data/v1/;插件使用 ETag 刷新,并保留本地缓存。
6. Web UI 把目录条目与当前 profile 的已安装状态合并;安装时只把条目 ID 发回 host。
7. host 从自己的目录查找该 ID,校验规范化 spec,执行 pnpm add,对账 dsh.profile.bundles,最后热挂载插件行。

信任模型

| 分级 | 必须满足的证据 | 市场行为 |
| verified-npm | npm registry manifest 声明了 dsh.bundle。 | 使用精确的已发布包名一键安装。 |
| verified-git | 仓库声明 dsh.bundle,包含合法 cordis.patch.yml,且 Git 安装期间能够构建。 | 使用 github:owner/repo 一键安装,并明确警告会执行构建脚本。 |
| likely-plugin | 存在插件特征,但无法证明能无人值守安装。 | 只浏览,并提供手动 clone/build 步骤。 |
| related | 生态相关项目,但没有可挂载的 DSH bundle。 | 只浏览。 |

README 提示是证据,不是命令

每条记录刻意分开保存两种值:

| 字段 | 来源 | 会不会执行 |
| installSpec | 确定性的 npm/Git 分类规则 | 会,但必须先通过 host 安全门 |
| installHint.command | 模型从作者 README 提取 | 不会,只展示 |

因此,README 中硬编码的 profile 名、模板占位符、shell 元字符和过期包名都无法进入执行路径。

市场体验

- 按「可一键安装」「全部」「已安装」筛选。
- 搜索仓库名、包名、topics、分类和受控标签。
- 打开详情面板查看完整仓库指标、安装证据和源 README。
- 确认前明确看到市场真正会执行的命令。
- 不手改 manifest,即可对当前 profile 安装、卸载并完成对账。
- 使用 allowInstall: false 把市场切换为纯浏览模式。

README 通过目录 ID 路由按需拉取。渲染器构造 React 元素,不使用 dangerouslySetInnerHTML;链接和图片仅允许安全的 HTTP(S) URL。

配置

| 字段 | 默认值 | 作用 |
| registryUrl | '' | 目录来源。依次回退到仓库 data/v1/catalog.json、本地缓存和包内种子。npm 安装通常先使用种子,直到配置远程 URL。 |
| refreshIntervalHours | 6 | 后台刷新间隔;设为 0 可关闭定时刷新。 |
| allowInstall | true | 设为 false 后拒绝所有安装/卸载请求,只保留浏览。 |
| profileDir | 从 ctx.baseUrl 推导 | 非标准 profile 布局的逃生阀,正常无需填写。 |

- insert:
- id: plugin-hub
name: '@nanmicoder/dsh-plugin-market'
config:
registryUrl: ''
refreshIntervalHours: 6
allowInstall: true

使用边界

- 安装第三方插件等于在你的机器上执行第三方代码。任何变更前,确认框都会展示仓库、作者、许可证、包来源和构建脚本风险。
- 确定性验证能证明打包与可安装性,不能证明第三方插件一定无害;不熟悉的代码仍应先审查。
- npm 包只包含小型种子目录,不包含数 MB 的实时数据;如需独立发布的实时目录,请配置 registryUrl。
- host 路由使用 /plugin-hub/*,不会占用 DSH 专供 client bundle 的 /plugins/ 命名空间。
- UI 注册在 settings.section,兼容未提供 settings.plugins.tab 的 DSH 构建。

目录开发

cp .env.example .env # 模型标签需要 ANTHROPIC_API_KEY
pnpm crawl:dry # 全量爬取到 .tmp/,不修改 data/
pnpm crawl:rules # 只跑确定性分类
pnpm crawl # 爬取、分类并打标
pnpm refresh # 仅在内容变化时刷新并推送

安装提示通过 Anthropic SDK 提取。默认 DeepSeek 兼容端点与模型可使用 LLM_BASE_URL 和 LLM_MODEL 覆盖;无论模型 Provider 如何变化,分级始终只由规则决定。

开发

pnpm install
pnpm typecheck
pnpm build
pnpm verify
pnpm site:dev
pnpm site:build
npm pack --dry-run --ignore-scripts

pnpm verify 会离线检查目录、安装安全门、请求信任、爬虫、模型标签、产物和 npm 包契约。

每次 push 都会由 Vercel Git 集成执行 WebUI 类型检查、构建与部署:main 更新生产环境,其他分支生成预览部署。

发版

普通 commit 和 push 不会发布 npm。发版 tag 必须与 package.json 完全一致:

pnpm version patch --no-git-tag-version
git add package.json pnpm-lock.yaml
git commit -m "chore: release v$(node -p \"require('./package.json').version\")"
git push origin main
git tag "v$(node -p \"require('./package.json').version\")"
git push origin --tags

publish.yml 会从源码重新构建、校验包与 tarball,再通过 npm Trusted Publishing(OIDC)发布,不需要长期保存 NPM_TOKEN。

许可证

MIT
预览分享卡片长什么样 ↓NanmiCoder/dsh-plugin-market
分享 · DeepSeek Harness Hub
NanmiCoder/dsh-plugin-market

浏览并安装经过验证的插件,随时卸载

回到顶部