npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@w2112515/dsh-plugin-marketplace

v0.2.4

Published

Out-of-tree installable plugin marketplace bundle for DeepSeek Harness

Readme

DSH 插件市场(DSH Plugin Marketplace)

DeepSeek Harness(DSH)的插件市场:在 DSH 自己的设置界面里浏览、审阅、安装插件——基于证据的安装安全、逐次同意的脚本安装、策展整合方案、零遥测。

English documentation: README.md

这是什么?

DSH 插件市场是一个仓外可安装的 DSH bundle,为 DeepSeek Harness 提供完整的插件市场能力。它不属于 DSH 官方仓库,不要求修改或合并 DSH 源码,也不是独立 Web 产品。安装进 web profile 后,DSH 的 Host Loader 挂载市场 Host 插件,包内声明的 dsh.client 浏览器入口注册到「设置 → 插件 → 插件市场」。界面语言跟随 DSH 自动切换(中文 / English)。

一览:

  • 2200+ 个插件:每日扫描所有携带 dsh-plugin topic 的 GitHub 仓库,浏览不需要 GitHub 账号或 Token。
  • 基于证据的安装资格:扫描器证明每个插件在固定 commit 上哪些安装目标真实存在——「一键安装」意味着已证明可装,而不是大概能装
  • 脚本逐次同意:安装脚本逐字展示,显式同意后才运行——永不持久化,绝不批量代同意。
  • 策展整合方案:一次审阅,装出一套完整的能力基线。
  • 无遥测、无安装统计、无服务器——目录就是 GitHub Pages 上的静态 JSON。

DSH 设置中的插件市场:2211 个插件、九个分类、搜索、新鲜度指示和每行的评分入口

安装到本机 DSH

从 npm 安装:

dsh plugin --profile web add @w2112515/dsh-plugin-marketplace

也可以从 GitHub 安装并固定 commit(本仓库提交了构建后的 lib/,因此不会在你的机器上执行 prepare):

dsh plugin --profile web add github:w2112515/dsh-plugin-marketplace#<40位commit>

普通用户不需要 GitHub Token。自动安装需要 Host 能调用 pnpm 11(插件也会自动尝试 corepack pnpm);需确认脚本的安装需要 pnpm ≥ 11.7。两者都不可用时 WebUI 保持浏览能力并给出恢复提示,不会显示假成功。卸载:dsh plugin --profile web remove @w2112515/dsh-plugin-marketplace

默认目录由本仓库的 GitHub Pages 提供。开发时可用环境变量临时覆盖:

$env:DSH_PLUGIN_MARKETPLACE_CATALOG_URL = 'https://w2112515.github.io/dsh-plugin-marketplace/plugin-marketplace/catalog-v1.json'
dsh plugin --profile web add D:\Work\dsh-plugin-marketplace
dsh --profile web --dump-config
dsh web

安装安全

自动安装固定 40 位不可变 commit,一律经过 能力预检 → 短期审核 plan → 确认执行,失败时回滚 profile manifest、lockfile 与 workspace 配置。安装资格由固定 commit 上的证据决定:

| 目录条目 | 扫描器证明的内容 | 安装行为 | | --- | --- | --- | | 可自动安装 | 所有安装目标(入口文件、patch)在固定 commit 的 git tree 中存在 | pnpm add --ignore-scripts,第三方生命周期脚本绝不运行 | | 需确认脚本 | 目标缺失(未随仓库提交构建产物)但声明了生命周期脚本 | 审核页逐字展示脚本内容;你显式勾选同意后,Host 以 --allow-build=<包名> 替代 --ignore-scripts 执行一次安装,脚本执行被精确限定在本次调用的这一个包上。不写入 allowBuilds,同意永不持久化 | | 手动安装 | 以上都不满足 | 只展示仓库链接,市场不执行任何内容 |

插件详情页:用途、新鲜度与活跃度证据、社区评分,以及经过能力预检的安装面板

整合方案(Solution Packs)

整合包是一个插件仓库策展清单。仓库同时携带 dsh-plugindsh-plugin-pack 两个 topic 并提供 dsh.pack.json 即成为整合包:

{
  "schemaVersion": 1,
  "name": "我的精选",
  "description": "一套策展的起手组合",
  "items": ["owner/plugin-a", "owner/plugin-b"]
}
  • items 为 1–50 个 owner/repo;扫描时解析为稳定的仓库 id,改名不会造成身份错配。
  • 市场逐项显式标注:将自动安装 / 需确认脚本 / 需手动安装 / 未收录 / 已在 profile 中,并给出诚实的「可安装 N/M」计数。整合包卡片还会前置展示安装构成(如「7 一键 · 1 需审脚本 · 1 手动」),由扫描时的目录事实计算。
  • 安装整合包 = 串行复用单插件的 plan→execute 路径,首个失败即停止、不回滚、逐项报告结果。
  • 整合包不放权:需确认脚本的插件仍需进入其详情页单独审阅同意;手动项保持手动。
  • 整合包永不按 star 排序。 star 排序只会奖励「把最高星插件塞进包里」的行为——那是换了皮的 star 榜单,不是策展。排序为编辑精选优先(由市场维护者审阅一致性与诚实度后列入 FEATURED_MARKETPLACE_PACKS),其余按新鲜度。策展宁缺毋滥:能力空缺就空着,不用未经验证的插件凑数。

用 Codex、Claude Code 或 Cursor 写整合包时,安装便携 Skill dsh-marketplace-publish。收录规则仍以本页和扫描器为准。

整合方案视图:精选的 DSH 分类星数榜首整合包及其前置展示的安装构成

整合包详情页:逐项安装状态与诚实的 3/9 可自动安装计数,不代替用户做任何同意

社区评分

评分借用 GitHub 原生 reaction:目录中每个插件在评分 issue 下有一条投票评论,点 👍/👎 即投票——一票对应一个真实 GitHub 账号。详情页展示总评分与近 90 天两个窗口,不满 10 票不出结论。客户端只读,投票全程发生在 GitHub 上,市场绝不持有你的凭据。

面向 Agent

市场对 agent 原生开放:Host 插件注册四个工具,DSH agent 在任何会话中都可以调用——marketplace_searchmarketplace_detailmarketplace_installmarketplace_manual_guide。搜索与详情是只读的;安装走与 WebUI 完全相同的 plan→execute 管线,且每次调用都要求人工一次性批准——批准提示中带有插件名、固定 commit 与风险信号——同意绝不持久化、绝不批量代授。需脚本审阅的条目会被设计性拒绝(逐字审阅留在「设置 → 插件 → 插件市场」);手动条目市场绝不执行——guide 工具仅抓取该仓库自己的安装说明,交给 agent 用普通 shell 工具在会话既有权限下执行。插件安装后需重启 dsh web 生效。在 bundle 配置中设 agentTools: false 可关闭 agent 面。

Agent 也可以用普通 shell 工具安装市场本身:

dsh plugin --profile web add github:w2112515/dsh-plugin-marketplace#<40位commit>
dsh --profile web --dump-config   # 验证 bundle 层
# 重启 dsh web 生效

隐私立场

本市场只读静态目录,永不回传:不统计安装次数、没有遥测、没有分析端点——也刻意没有可以收集它们的服务器,目录就是 GitHub Pages 上的一份 JSON,每个安装决定都发生在你自己机器上。流行度信号只来自 GitHub 公开数据(stars),仅此而已。

工作原理

  • 分发单元:声明 dsh.bundle.patch 的 npm/Git/tarball package。
  • Host:下载并严格校验中央静态目录(schema + 完整性摘要),维护 last-known-good 缓存,拥有当前 profile 的审核与写入权。
  • Client:通过 settings.plugins.tab Slot 提供检索、分类筛选、详情、风险信号、审核确认与整合方案界面。
  • Host/Client 通道:包私有、同源的 /api/plugin-marketplace JSON API,不修改 DSH 的静态 Typert Remote 清单。
  • 目录生产:本仓库 GitHub Actions 每日扫描带 dsh-plugin topic 的候选仓库;只有静态校验通过且未归档的 Bundle 进入用户目录,拒绝项只保存在 workflow artifact。遇到 GitHub Search 1,000 条上限时按创建时间窗口递归拆分。只有中央扫描器使用仓库自带的 GITHUB_TOKEN
  • 分类体系:插件按九个类别归类(主题、记忆、用量、技能、安全、消息渠道、界面、工具、模型接入),依据是显式的 dsh-category-<slug> topic 或保守整词匹配;没有任何可靠信号的插件诚实地留在「未分类」。

插件作者指南

可被收录的条件:仓库携带 dsh-plugin topic、package.json 声明 dsh.bundle.patch、且 cordis.patch.yml 有效。可选 dsh-category-theme|memory|usage|skill|security|channel|ui|tool|provider topic 显式决定目录分类。

获得自动安装资格:让你的 bundle 要加载的文件存在于固定 commit 的 git tree 中——把构建产物(如 lib/)提交进仓库(本仓库即如此)。若刻意不提交构建产物、由 prepare/install 脚本生成,用户会在安装前逐字看到脚本并可选择按次同意;同意范围永不超出被审阅的 commit。

用 Codex、Claude Code 或 Cursor 上架插件时,安装同一份 dsh-marketplace-publish。它不替代上面的规则。

配置

bundle 插入的 row id 是 plugin-marketplace。可在 $DSH_HOME/profiles/web/cordis.patch.yml 覆盖完整配置(patch 对 config 是整体替换,必须写全所有字段):

- id: plugin-marketplace
  config:
    catalogUrl: https://w2112515.github.io/dsh-plugin-marketplace/plugin-marketplace/catalog-v1.json
    maxAgeMs: 172800000
    timeoutMs: 60000
    maxBytes: 15000000
    agentTools: true

目录是 GitHub Pages 上的每日快照。今天刚出现在 GitHub 上的插件,要等下一次扫描成功才会进市场。扫描失败时继续用上一份快照。

仓库结构

dsh-plugin-marketplace/
├── package.json
├── cordis.patch.yml
├── src/
│   ├── index.ts                 # Host 插件与同源 API
│   ├── catalog*.ts              # schema、网络、LKG 缓存、查询
│   ├── profile-operations.ts    # plan/确认/回滚、同意门控执行
│   └── client/                  # WebUI Slot 插件(中/英)
├── scripts/                     # GitHub 扫描器(插件 + 整合包)
├── website/public/              # workflow 生成的静态目录
└── .github/workflows/           # CI 与每日 Pages 发布

本地构建

要求 Node.js ^22.19.0 || >=24 和 pnpm 11。

cd D:\Work\dsh-plugin-marketplace
pnpm install --frozen-lockfile
pnpm run build
pnpm run check
pnpm pack --dry-run

非目标

  • 不向 deepseek-ai/deepseek-harness 提交代码或要求官方发布。
  • 不修改 DSH 的 Web bundle、Settings Slot、API Remote 或 CLI 源码。
  • 浏览器不直接访问 GitHub API,不要求用户配置 Token。
  • 未经用户逐次、逐 commit 的显式同意,绝不运行生命周期脚本。
  • 不做任何形式的遥测——包括安装次数统计。

友情链接