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

dsh-marketplace

v0.1.3

Published

Plugin marketplace for DeepSeek Harness Web: browse, search, install and remove DSH plugins right from the Plugins settings section.

Downloads

261

Readme

dsh-marketplace

插件市场 —— DeepSeek Harness Web 的插件浏览/搜索/安装/卸载界面。

在「设置 → 插件」区块新增一个「插件市场」标签页:打开即展示按每月安装量 排序的推荐列表,支持按名称/描述搜索 DSH 插件,查看已安装插件,并 一键安装/卸载(内部执行 dsh plugin --profile web add|remove <spec>)。

环境要求

  • DeepSeek Harness Web(dsh web),任意版本
  • dsh CLI 可用(安装/卸载插件时执行)

安装

dsh plugin --profile web add dsh-marketplace

本包声明 dsh.bundle,安装后自动加入 profile 的 bundle 层, 重启 dsh web 后生效

使用

重启后打开:设置 ⚙️ → 插件 → 插件市场

  • 推荐列表:打开即按每月安装量展示热门插件(数据来自 npm downloads API)
  • 搜索:按名称/描述过滤生态目录(如 monitorquotaworktree
  • 安装/卸载:一键操作,完成后按界面提示重启生效
  • 推荐排序:可切换「按安装量」(npm downloads API)或「按 Star」(GitHub)

Star 数据:默认从 GitHub API 匿名拉取(60 次/小时);想让 Star 数据更 完整、更快,可在启动 dsh web 前配置 GITHUB_TOKEN 环境变量(GitHub Personal Access Token,配额 5000 次/小时):

export GITHUB_TOKEN=ghp_xxx   # 或 export GITHUB_TOKEN=$(gh auth token)
dsh web

未配置或配额耗尽时自动降级(Star 列不显示,不影响其他功能)。

卸载

dsh plugin --profile web remove dsh-marketplace

常见问题

| 问题 | 解决 | |---|---| | 装完看不到「插件市场」标签 | 重启 dsh web | | 安装某个插件后没生效 | 该插件可能是普通依赖而非 bundle 插件,重启后也不会自动挂载(属正常) | | 搜索搜不到某插件 | 该插件可能没打 dsh/plugin keywords;按完整包名搜索可命中 |

工作原理

  • Host 半lib/index.js):注册 pluginMarketplace Typert Remote 服务, 提供 search / installed / add / drop 四个方法(add/drop 不叫 install/remove,是因为这两个名字与客户端 RemoteNamespaceService 自身的 方法冲突)。Remote 描述符 通过 ctx.typert.register({ invocations }) 程序化注册,无需生成 Typert 产物或 decorator。安装/卸载复用 dsh plugin(PATH 上没有 dsh 时回退为 直接运行 pnpm 并手动 reconcile bundle 层)。生态目录(keywords:dsh keywords 查询,131 个包)带 5 分钟 TTL 缓存,避免连续搜索触发 npm 限流; 搜索在目录内按名称/描述客户端过滤(npm 文本索引对低流量 dsh 包权重过低, 纯文本搜索会淹没它们)。
  • Client 半lib/client.js):手写 __ModuleLoader__ bundle,把 settings.plugins.tabmarketplace 标签页挂进现有的「插件」设置区块。 apply 先 await ctx.remote.$mount(...) 再注册标签页,并通过 ctx.get('remote.pluginMarketplace')(免 inject 的 store 读取,避免自挂载 死锁)获取命名空间服务后调用 Host 方法。
  • Patchcordis.patch.yml):一行 insert 条目同时挂载 Host 半与(因 dsh.client 声明而被 client-modules 节点端发现的)浏览器半。

发版(维护者)

npm version patch        # bump 版本
npm publish              # 需要 npm 2FA 验证码
# 使用方升级:
dsh plugin --profile web update dsh-marketplace

本地开发注意事项

  • 本包以 link: 方式安装到 profile,代码仍位于仓库目录;Host 半需要解析 @deepseek-ai/dsh-typert-protocol 等运行时依赖,因此包目录内放了一个指向 DSH 安装目录 node_modules 的符号链接(node_modules -> <dsh安装目录>/node_modules)。 移动包目录后需重建该链接。
  • 改完代码无需重装(link 生效);重启 dsh web 即可看到改动。

配置

| 环境变量 | 默认值 | 说明 | |---|---|---| | DSH_MARKETPLACE_PROFILE | web | 市场管理的 profile 名 | | GITHUB_TOKEN | 无 | GitHub 访问令牌;配置后 Star 排序更完整(匿名模式 60 次/小时) |

已知限制

  • 安装/卸载需要重启 dsh web 才生效(界面会提示)。
  • 非 bundle 包(未声明 dsh.bundle.patch)可安装为普通依赖,但不会自动挂载。
  • 官方 @deepseek-ai/dsh-* 包未打 keywords,不会出现在目录浏览里;按完整 包名搜索(如 @deepseek-ai/dsh-monitor)可以命中。
  • npm downloads API 只收录了部分 dsh 生态包,推荐列表里多数插件没有下载量 数据(显示为空),排序退化为搜索分数。