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

dshmarketplace-cli

v0.3.0

Published

Find and install DeepSeek Harness (DSH) plugins from the CLI or from a coding agent. Machine-readable --json output.

Readme


在命令行里查找和安装 DeepSeek Harness(DSH)插件

npx dshmarketplace-cli find memory
npx dshmarketplace-cli add Anionex/dsh-vision-toolkit

不用全局安装,零依赖,不用注册。

这东西解决什么问题

DeepSeek Harness 是 DeepSeek 开源的 agent harness,所有能力都是插件。社区插件已经上千个,散在 dsh-plugin topic 和社区精选库里——找到对的那个,比装上它难多了。

这个 CLI 搜的是 dshmarketplace.dev 的目录,在你 运行之前告诉你这个插件会碰到什么,然后把正确的安装命令交给 dsh:能走 npm tarball 就走 npm,否则用锁定的 GitHub 源。

命令

find <关键词>

搜能力,别搜产品名。

npx dshmarketplace-cli find memory
npx dshmarketplace-cli find vision --limit 5
npx dshmarketplace-cli find terminal --category ui

info <owner/repo>

单个插件的分类、语言、开源协议、源码地址、识别到的风险标记,以及所有安装方式。

npx dshmarketplace-cli info Anionex/dsh-vision-toolkit

add <name...>

解析每个插件,然后走 dsh 执行一次安装。仓库名、npm 包名、混着写都行。

npx dshmarketplace-cli add NanmiCoder/dsh-agent-teams
npx dshmarketplace-cli add dsh-context dsh-mnemon @liustack/modsearch
npx dshmarketplace-cli add some/plugin --dry-run --json

多个插件会合成一条 dsh plugin add a b c,pnpm 一次性解析完,不是一个一个装。

有三件事是你自己粘命令做不到的。

profile 是从磁盘上读出来的。 目录里发的每条命令都写 --profile web,因为默认装出来 就叫这个。但如果你的 profile 叫 tui,那条命令会执行成功、然后什么都不出现。这里会去读 $DSH_HOME/profiles,并且告诉你它选了哪个。

沙箱里装不上的插件会被提前剔掉,在碰你机器之前。只有 failedtimeout 算—— needs-approvalnot-a-layer 都是装上了的。--force 可以强来。

被拦下的 build script 会自动放行并重装。 pnpm 会拒绝执行依赖的 build script,直到它被 写进 profile 的 onlyBuiltDependencies;在那之前 harness 可能根本不会注册这个插件——装是 装了,但它是死的。CLI 会读 pnpm 实际跳过了哪些,写进 profile 的 pnpm-workspace.yaml, 然后重装一次。--no-approve 则只把该改的地方打印出来,不动手。

| 选项 | 作用 | | --- | --- | | --limit <n> | 显示多少条(find,默认 10) | | --category <id> | 按分类过滤(find) | | --source github | 强制用 GitHub 源而不是 npm(add) | | --profile <name> | 装进哪个 DSH profile(add,默认自动识别) | | --no-approve | 只报告被拦的 build script,不自动放行 | | --force | 沙箱记录为失败也照装 | | --dry-run | 只打印命令,不执行(add) | | --json | 机器可读输出,结构稳定(所有命令) |

preset [id]

挑好的组合。不带 id 就列出来,带 id 就把整套装上。

npx dshmarketplace-cli preset
npx dshmarketplace-cli preset essentials

「一套」和「一个」不是同一个结论。目录里每条记录的结论,来自把那一个插件装进空 profile;而一套预设必须扛得住成员一起装,这会在零件不会失败的地方失败 —— 两个插件 要同一个 peer 的不兼容版本、某个 build script 只有在别的插件把宿主包拖进来之后才被拦、 cordis 拒绝重复的 loader entry id 于是插件装上了、报成功了、然后从来没被注册。

所以每套都带着那次沙箱运行的日期、结论,以及当时的 dshpnpm 版本,CLI 在动手之前 先把这些打出来。装预设走的是跟 add 同一条路,所以 profile 识别、装前拦截、build script 放行它全都有。

给 coding agent 用

所有命令都支持 --json,输出 { ok, command, version, ... }。「只解析不执行」 是一等公民:

npx dshmarketplace-cli add <owner/repo> --dry-run --json

返回里带着确切会执行的命令、源码仓库地址,以及识别到的风险标记——要不要真的 运行,决定权留给调用方。包里还带了一份 SKILL.md,会读 skill 的 agent 会自动 路由过来,而不是凭训练记忆猜一个插件名——这个生态才几天,猜错比猜对容易。

环境要求

Node 18 以上,以及 PATH 里能找到 DeepSeek Harness:

npx @deepseek-ai/dsh web

安全

插件是第三方代码,跑起来带的是你 agent 的权限。被这个目录收录不代表通过了 安全审计。

凡是能自动识别的,记录里都会标出安装脚本、终端执行、需要密钥,add 在真正 运行之前会先打印出来。源码地址始终会显示——装之前读一眼。

有两种失败不是你的操作问题:

  • --profile 是必填的。 dsh plugin 是转发给 profile 目录里的 pnpm, 不带这个参数 dsh 会直接退出,什么都不装。这个 CLI 打印出来的命令已经带上了。
  • GitHub 源需要放行构建脚本。 pnpm 默认不让 git 来源的包跑构建脚本,要把 它打印的 key 加到 profile 的 pnpm-workspace.yamlallowBuilds 下面。 发布到 npm 的插件不需要这一步,所以 npm 排在前面。

配置

| 变量 | 用途 | | --- | --- | | DSHM_API | 把 CLI 指向另一个目录端点 |

相关链接

联系

致谢

  • LINUX DO —— DSH 生态实际上是在这里被讨论的,这个 项目也在这里发布和收反馈。作者本人在 LINUX DO 发过帖的插件,在目录里会带 一个认证标记。
  • awesome-dsh-plugin (CC0-1.0)—— 目录的收录种子来自这里。

开源协议

MIT。独立项目,与 DeepSeek 官方无隶属关系。DeepSeek 与 DeepSeek Harness 是 各自权利人的标识,此处仅用于说明这些插件是做什么用的。