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-composition-doctor

v0.2.2

Published

Read-only DSH and Cordis composition diagnostics, snapshots, diffs, and isolated preflight.

Readme

dsh-composition-doctor(中文)

npm version CI Listed on dsh-plugin.org

English | 中文

面向 DeepSeek Harnessdsh)的组合与升级预检工具。它读取明确指定的 profile,用可追溯证据说明可观察到的 Cordis/plugin 组合风险;不会编辑真实 profile,也不会静默扩大权限。

当前 package release:0.2.2

模型可用能力

| 命令 | 作用 | |---|---| | dsh-doctor scan | 检测重复 Cordis row、hook 顺序风险、UI slot/route 所有权冲突、bundle 覆盖、peer/platform 不匹配和 profile 漂移。 | | dsh-doctor snapshot | 生成脱敏、可比较的 profile 快照及 lockfile 哈希。 | | dsh-doctor diff | 汇总新增、删除或升级的插件,以及 rows、hooks、UI 声明、peer 和平台变化。 | | dsh-doctor preflight | 在独立临时 profile 中演练目标 DSH 升级。 |

Web Settings 页面仅供显示与导出:它读取最新本地报告、展示冲突图,并导出 JSON/Markdown;不提供修复、安装或卸载操作。

报告与证据边界

scan --output <目录> 只写入显式指定的目录。要让只读 Settings 页面看到同一份报告,必须显式选择 --publish,它会复制到默认插件目录 .dsh-composition-doctor/reports;也可以使用 --report-dir <目录> 发布到配置的插件报告目录。请使用 --format both,使 Web route 能读取 report.json,同时保留 Markdown 导出。报告目录不能是 profile、.env 所在位置,或任何含密钥、token 或其他敏感信息的目录。

报告中的 evidenceMode 标明证据来源:static 仅表示 allow-list 中的 manifest、patch、package metadata 等静态证据;composed 表示公开 dsh --profile <name> --dump-config 返回了 composition 结果;runtime-observed 只允许真正启动隔离 runtime 并观察到注册/行为的后端使用;mixed 预留给同时提供多类来源的适配器。dump-config 即使成功,也不代表 runtime 已验证;存在 !!js 等运行时依赖时尤其如此。找不到兼容的公开 DSH CLI 时会回退到 static,并明确报告 warning。旧的 evidence schema 2 之前报告仍可按 legacy resolved 读取,但新报告不会再输出该标签。

preflight --candidate package@version 只会把通过校验的精确引用记录到隔离临时 package.json。目标 artifact 默认按本地优先顺序查找:--dsh-bin、本地 package directory、本地 tarball、已安装 dsh--package-manager-cache、Doctor 自己的 cache;只有显式 --online 才允许访问 registry。在线解析会把精确 tarball 写入 Doctor 自己的 cache,记录来源、版本、integrity 和 hash,并且不会安装或执行 lifecycle script。--allow-build 不等于允许执行第三方 runtime code。

scan --fail-on never|info|warning|error 控制 scan 的退出码。默认是 never:warning 和 error 会写入报告,但不改变退出码;info 遇到任意诊断时退出 1,warning 遇到 warning 或 error 时退出 1,error 只在 error 时退出 1。参数错误退出 2,执行失败退出 1。

安装

npm install -g dsh-composition-doctor
npx @deepseek-ai/dsh plugin --profile web add dsh-composition-doctor
dsh-doctor --version

更改 profile 后重启 Web UI:npx @deepseek-ai/dsh web

示例

dsh-doctor scan --profile C:\path\to\profile --format both --output .\reports\profile --publish
dsh-doctor scan --profile C:\path\to\profile --format both --output .\reports\archive --report-dir C:\safe\doctor-reports
dsh-doctor snapshot --profile C:\path\to\profile --output .\reports\before.json
dsh-doctor diff --before .\reports\before.json --after .\reports\after.json --format both
dsh-doctor preflight --profile C:\path\to\profile --target-dsh 0.1.5-rc.2

每条诊断均为 infowarningerror,并附带 evidence、explanation 和最小 remediation。runtimeSmoke.status=not-run 不等于 runtime PASS;artifact-unavailable 不等于 incompatible;warning 也不等于已确认失败。

安全与隐私

默认操作只读,或仅在操作系统临时目录中隔离运行。插件不会修改 profile、安装或删除插件、迁移配置、扩大权限,默认也不会执行网络 I/O。它不会读取 .env、profile 密钥、会话正文或工作区源文件内容,也不会收集或持久化任意环境变量值;启动公开 CLI 时只传递平台所需的最小进程路由变量。

支持范围与限制

real-release harness 已使用真实公开 CLI 验证 @deepseek-ai/[email protected]@deepseek-ai/[email protected]0.1.6-alpha.1 仍只是 expected-compatible/experimental;0.1.0-rc.6 仅作历史兼容背景,不是当前 verified target。artifact 不可用时会明确报告 unavailable,绝不记为 PASS。已验证开发环境为 Windows + Node.js 24;CI 覆盖 Ubuntu + Node.js 20。只有公开 metadata 能提供 hook/UI ownership 时才会确认,否则标为 unverified;临时目录不是安全 sandbox。

开发

pnpm test
pnpm typecheck
pnpm build

仅在 checkout 开发时,构建完成后使用 node dist/cli/main.js 运行 CLI。

参阅 README.mddocs/compatibility.mddocs/examples/scan-report.md。MIT 许可。