证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle安全与治理Web Profile

DSH Composition Doctor

面向 DSH 与 Cordis 组合关系的只读诊断插件,支持扫描、快照、差异对比和隔离升级预检。

快速了解

它能做什么

面向 DSH 与 Cordis 组合关系的只读诊断插件,支持扫描、快照、差异对比和隔离升级预检。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
安全与治理配置调试Plugin 管理
适配技术
deepseek-harnessdshcordisnodejs
兼容性

Web Profile
>=0.1.0-rc.5 <0.2.0

可信度与状态

证据已验证
核对日期 2026/9/16 UTC 14:11

有代码证据的贡献

它为 DSH 增加什么

Composition Doctor 设置页

显示最新本地报告、冲突图以及 JSON/Markdown 导出,不提供修复或插件管理操作。

机制证据
dsh-doctor 命令行工具

扫描选定配置文件、创建脱敏快照、比较报告,并在隔离临时配置文件中演练升级。

机制证据

选择前先看

使用 dsh-doctor 命令行工具检查明确指定的 DSH 配置文件,识别重复 Cordis 条目、钩子顺序风险、UI 所有权冲突、Bundle 覆盖、Peer 或平台不匹配以及配置漂移。其设置页只展示和导出最新本地报告。

适合谁

维护 Cordis 插件或准备升级 DSH 的 DeepSeek Harness 用户。

常见任务

  • 扫描选定配置文件并查看带证据的组合风险提示。
  • 创建脱敏快照,并比较插件、钩子、UI 声明、Peer 与平台变化。
  • 在隔离的临时配置文件中预检已声明的 DSH 升级。

权限与数据

默认设计为只读诊断和隔离预检。

权限
  • 读取用户明确选定的配置文件以执行诊断。
  • 仅向用户指定的目录写入扫描输出。
  • 只有显式使用 --publish 或 --report-dir 时,才会将报告复制到插件报告目录。
数据处理
  • 快照被描述为已脱敏,并包含锁文件哈希。
  • 作者声明不会读取 .env、密钥、令牌、环境变量值、会话正文或工作区文件内容。
  • 不要将配置文件目录、.env 所在位置或含有密钥的目录用作报告目录。
外部服务
  • 声明默认不进行网络 I/O。
凭据
  • 没有声明需要凭据。

局限

  • 提供的 npm 分发包存在仓库/源码不匹配;应优先使用固定提交的 Git Bundle。
  • 没有稳定的公开 DSH 已解析组合提供方时,发现结果可能仅为静态分析,不能证明最终运行时组合。
  • 预检不会下载、安装、加载或运行候选包的生命周期脚本;候选包内部的 Peer/平台信息和运行时兼容性仍未验证。

DSHub 已核对

  • 已验证固定源码提交、Bundle 结构和 Cordis patch。
  • 包声明 Node.js >=20,以及 DSH 预览支持范围 >=0.1.0-rc.5 <0.2.0。

DSHub 未核对

  • 未根据提供的证据实际执行安装或运行时行为验证。
  • 提供的证据未独立运行测试所声明的 DSH/Cordis 兼容范围。
  • 由于 npm 包仓库元数据与此源码不同,npm 分发来源未被证实。

固定版本安装

安装 DSH Composition Doctor

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit ab9091c 对应的 README
维护者编写的上游内容原文于 2026/9/16README.md 获取,正文和仓库相对媒体固定到 commit ab9091c1438c,内容哈希为 93005d474e88。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-composition-doctor

npm version CI

English | 中文

Composition and upgrade preflight doctor for DeepSeek Harness (dsh). It reads an explicitly selected profile and explains observable Cordis/plugin composition risks with concrete evidence. It never edits a real profile or silently changes permissions.

What the model gets

Command Purpose
dsh-doctor scan Detect duplicate Cordis rows, hook-order risks, UI slot/route ownership conflicts, bundle overrides, peer/platform mismatches, and profile drift.
dsh-doctor snapshot Create a redacted, comparable profile snapshot with lockfile hashes.
dsh-doctor diff Summarize added/removed/upgraded plugins, rows, hooks, UI claims, peers, and platforms.
dsh-doctor preflight Rehearse a target DSH upgrade in an isolated temporary profile.

The Web Settings page is display/export only: it reads the latest local report, shows a conflict graph, and exports JSON/Markdown. It has no repair, install, or uninstall action.

Reports and evidence boundaries

scan --output <dir> writes only to the requested directory. To make the same report visible to the read-only Settings page, opt in explicitly: --publish copies it to the default plugin directory .dsh-composition-doctor/reports, while --report-dir <dir> publishes to a configured plugin directory. Use --format both so the Web route has report.json and Markdown remains exportable. Do not use a profile directory, .env location, or any directory containing keys, tokens, or other secrets as a report directory.

Reports declare evidenceMode: static means allow-listed root YAML/manifest metadata only; resolved requires an injected public runtime provider; mixed is reserved for an adapter that supplies both. Static findings and the bounded metadata coverage are not proof of the final runtime composition. This release has no stable public DSH runtime provider bundled.

preflight --candidate package@version inserts a validated exact reference into an isolated temporary package.json and includes that declared metadata in static analysis. It never downloads, installs, loads, or runs candidate lifecycle scripts; peer/platform facts inside an uninstalled candidate and runtime compatibility remain unverified. --allow-build is only a recorded future runner gate and still executes no third-party script.

Install

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

Restart the Web UI (npx @deepseek-ai/dsh web) after changing a profile. The CLI can also run from a checkout with node dist/cli/main.js.

Example

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.0-rc.6

Each finding is info, warning, or error and includes evidence, explanation, and the smallest remediation. Missing runtime evidence is reported as a warning, never as a confirmed failure.

Safety and privacy

Default operations are read-only or isolated under the OS temporary directory. The plugin does not modify profiles, install/remove plugins, migrate configuration, escalate permissions, or perform network I/O by default. It never reads .env, keys, tokens, environment values, session bodies, or workspace file contents.

Support and limitations

Verified preview range: DSH >=0.1.0-rc.5 <0.2.0, Cordis >=4 <5, Node.js >=20; Windows is first-class and macOS/Linux are supported. DSH has not yet exposed a stable resolved-composition introspection API, so static findings are explicitly labelled when no public provider is available.

Development

pnpm test
pnpm typecheck
pnpm build

See README.zh.md, docs/compatibility.md, and docs/examples/scan-report.md. MIT licensed.

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — lemonxiny55/dsh-composition-doctor#ab9091c1438cff58c85584f09a263c589b6833ce

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

Preview support declared for DSH, Cordis, Node 20+, and major OSes >=0.1.0-rc.5 <0.2.0

检查兼容性证据

风险事实

provenance

The npm package's repository metadata does not match this source; use the pinned Git bundle for source-backed installation.

证据
analysis-boundary

Static findings are not proof of final runtime composition when no public runtime provider is available.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

请将其用作诊断辅助工具,不应把结果视为目标组合必然可在运行时正常工作的确认。

AI 审查于 2026/9/16 UTC 14:12GitHub 事实核对日期: 2026/9/16 UTC 14:12

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: DSH Composition Doctor