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-private-plugins

v1.0.0

Published

Private plugin imports for DeepSeek Harness — import from private git repositories or local files (tarball upload / folder picker) from a first-class Settings entry. · DSH 私有插件:私有仓库 + 本地导入,设置内独立入口。

Readme

dsh-private-plugins

私有插件:在 设置 侧栏新增独立的「私有插件」入口(与「插件市场」并列),把 云端 Git 仓库安装插件本地插件导入 放在同一个界面。

社区维护的 DSH Plugin,与 DeepSeek AI 无隶属关系,也不代表 DeepSeek AI 官方。

Listed on dsh-plugin.org

私有插件管理界面

  • 导入方式:云端仓库本地文件 分别位于独立卡片——可添加公开/私有 Git 仓库(可选自定义名称)、上传 .tgz / .tar.gz / .tar 压缩包,或选择本地插件文件夹。
  • 已安装插件:卡片式管理列表(参考插件市场)——本地导入与云端仓库插件统一在这里展示,每张卡片提供:
    • 启用 / 停用:写入 profile 的 cordis.patch.yml 补丁层,重启后生效;
    • 安装:尚未安装的云端仓库可直接安装;
    • 待更新 / 已更新 / 未知:更新状态显示在对应插件卡片;
    • 卸载
  • 所有变更通过 dsh plugin --profile <p> add|remove <spec> 执行,与 DSH Desktop / dsh-market 同一安装链路;完成后提示重启 Harness 生效(桌面版提供一键重启按钮)。

安装

一键脚本(推荐)

./dsh-private-plugins/scripts/install.sh            # 有多个 profile 时交互选择
./dsh-private-plugins/scripts/install.sh --all      # 装进所有检测到的 profile
./dsh-private-plugins/scripts/install.sh --check    # 只打印检测结果
./dsh-private-plugins/scripts/install.sh --reinstall   # 已安装则先移除再重装
./dsh-private-plugins/scripts/install.sh --home <DSH_HOME>   # 指定 DSH_HOME

脚本会自动探测 dsh CLI(优先用相邻的 dsh-desktop/node_modules/.bin/dsh)和 macOS 上常见的 profile(正式版 dsh-desktop、dev 版 dsh-desktop-dev~/.dsh)。Windows 请用 --home 指定 DSH_HOME。

手动命令

# 直接从 GitHub 安装到 web profile(推荐)
dsh plugin --profile web add github:YINGCHAO-98/dsh-private-plugins

# 把本目录当作一个本地插件包装进 web profile
dsh plugin --profile web add /absolute/path/to/dsh-private-plugins

# 或按包名安装已发布到 npm 的插件
dsh plugin --profile web add dsh-private-plugins

DSH Desktop 使用 web profile($DSH_HOME/profiles/web,默认 ~/.dsh),装完后从菜单 Harness → 重启 Harness 生效。打开 设置 → 私有插件 即可使用;安装了 dsh-market 时,该入口紧随「插件市场」。

私有仓库支持

界面支持以下地址写法(添加时自动归一化为 pnpm 的 git spec):

| 输入 | 归一化结果 | |---|---| | https://github.com/you/repo | git+https://github.com/you/repo.git | | [email protected]:you/repo.git | git+ssh://[email protected]/you/repo.git | | github:you/repo | github:you/repo(原样,pnpm 简写) | | git+https://… / git+ssh://… | 原样 | | git+file:///… | 原样(本地 git 仓库,用于测试) |

  • 分支/标签:在地址后追加 #分支名(如 git+https://github.com/you/repo.git#main)。
  • 私有仓库凭据:安装走本机 git,与你在终端 git clone 使用同一套凭据——SSH key(git@… / git+ssh://)、HTTPS token(https://,配合 credential helper)或全局 git 配置。
  • 仓库列表保存在 <profile>/.dsh-private-plugins/repos.json,重启后仍在。

更新提醒

打开「私有插件」页面会自动检查由本页管理的插件更新(结果缓存 1 小时,可点「检查更新」强制刷新),有新版时对应插件行直接显示「更新」按钮,点击即更新为最新版本;插件市场安装的项目仅在「插件市场」内显示:

  • npm 来源(registry 安装):查询本机配置的 npm registry(npm_config_registry,默认 npmjs.org)的 dist-tags.latest,与已装版本比较。
  • git 来源(私有仓库,含 github:owner/repo):对比 pnpm-lock.yaml 里记录的已解析 commit 与 git ls-remote 的远端 HEAD/分支 commit。私有仓库若本机凭据不可用,显示「更新状态未知」,不会误报
  • 本地来源file: / link:):可识别 Git 工作区;link: 源码目录为实时链接,已直接生效。非 Git 本地来源显示「未知」。
  • 更新状态显示在各自插件卡片;更新完成后提示重启 Harness(桌面版可一键重启)。

安全说明

  • 所有会改动 profile 的 HTTP 路由只接受 回环 + 同源 请求(isTrustedRequest)。
  • 云端安装 spec 有白名单校验(npm 名/github: 源),上传文件名被清洗,路径导入要求绝对路径且拒绝指向 profile 自身。
  • 本地安装会执行 pnpm/dsh plugin,属于特权操作:只导入可信来源的插件(插件的 cordis.patch.yml / client.js 会获得与主进程同等的执行权限)。

目录结构

dsh-private-plugins/
├── package.json          # dsh.bundle(配置层)+ dsh.client(浏览器端入口)
├── cordis.patch.yml      # 把插件行插入配置树
├── lib/                  # 宿主端(Node)
│   ├── index.js          # apply(ctx) + HTTP 路由 + 操作编排
│   ├── profile.js        # profile 解析与已安装清单
│   ├── dsh.js            # 重新调用 dsh CLI(超时/进程树清理)
│   ├── repos.js          # 私有仓库地址归一化/校验 + repos.json 持久化
│   ├── toggle.js         # 插件启用/停用(写入 profile 的 cordis.patch.yml 补丁层)
│   └── validate.js       # spec/文件名/路径校验 + HTTP 工具
├── client/client.js      # 浏览器端 UI(零构建 ModuleLoader 格式)
├── scripts/install.sh    # 一键安装/重装脚本(自动探测 profile 与 dsh CLI)
└── test/                 # node:test 单元测试

开发与测试

node --test test/

浏览器端 client.js 是手写的 window.__ModuleLoader__.load({ id, factory }) 格式,无需构建;宿主端为纯 ESM、零运行时依赖。