DeepSHPlugins
dsh-plugin-clinic 项目预览
GITHUB / COMMUNITY PROJECT

dsh-plugin-clinic

生态与开发TypeScriptMIT

已安装 DSH 插件集合的只读体检诊所:加载健康、依赖完整、版本兼容、安装脚本风险、重复与 patch 引用,交付模型工具、设置面板与 JSON 报告。

2 Starsayahunter 更新时间 2026-08-16
访问 GitHub 仓库
dsh-plugin-clinic 项目预览
dsh-plugin-clinic 界面截图dsh-plugin-clinic 界面截图

项目介绍

中文

已安装 DSH 插件集合的只读体检诊所:加载健康、依赖完整、版本兼容、安装脚本风险、重复与 patch 引用,交付模型工具、设置面板与 JSON 报告。

English

Read-only health clinic for the installed DSH plugin set: loader health, dependency integrity, version compatibility, install-script risk, duplicates and patch integrity, delivered as a model tool, a Settings dashboard and JSON reports.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
ayahunter
仓库
ayahunter/dsh-plugin-clinic
GitHub Stars
2
Forks
1
开发语言
TypeScript
许可证
MIT
最近推送
2026-08-16
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

60/ 100
维护活跃
82
文档与实用信息
100
生态关注度
23
安装便捷信号
75
项目声明信号
100

README 含完整安装与使用说明;关注度尚低(2)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:ayahunter/dsh-plugin-clinic

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-plugin-clinic

Plugin Clinic — read-only health checks for the installed DeepSeek Harness plugin set.

中文 · Usage · Checks

DeepSeek Harness is "everything is a plugin", which spreads stability risk across a freely-composable configuration layer — yet nothing tells you whether your installed set is healthy. dsh-plugin-clinic closes that gap: it inspects every profile under the Harness home and reports loader health, dependency integrity, version compatibility, install-script risk, duplicates, and patch integrity, with no writes and no external state.

Features

  • Model tool plugin_health — the agent can diagnose its own environment in-session

and turn findings into concrete fix advice.

  • Web dashboard — a "体检" (Clinic) tab in Settings → Plugins, one entry per profile

with severity-colored plugin cards.

  • JSON reports — a stable schemaVersion: 1 contract for CI and scripts.
  • 8 read-only checks — see docs/checks.md: load-health,

bundle-manifest, peer-deps, runtime-compat, install-scripts, duplicate, patch-health, provenance.

  • One row install — a single npm bundle patch mounts both the Host engine and the

browser dashboard.

Screenshots

The Clinic dashboard inside the official Web GUI — Settings → Plugins → 体检. Per-profile plugin cards carry severity-colored status lines, expandable findings, and the summary bar counts critical/warning/info findings across every profile:

Clinic dashboard in Settings → Plugins

Health summary bar

Install

# from npm (prebuilt lib/)
dsh plugin --profile web add dsh-plugin-clinic

# or straight from GitHub (sources; the prepare script builds them, pnpm asks you to
# allow the build once — see the official publish guide for the allowBuilds semantics)
dsh plugin --profile web add github:ayahunter/dsh-plugin-clinic

Restart the profile. The Settings → Plugins section gains a Clinic tab; the session gains the plugin_health tool.

Update

# upgrades within the saved semver range (^0.1.0 → latest 0.1.x)
dsh plugin --profile web update dsh-plugin-clinic

Upgrades are never applied automatically; restart the profile afterwards.

Quick start

In any session on a profile where the plugin is installed:

体检一下我的插件

or call the tool directly with {"details": true} for per-finding evidence. In the Web GUI, open Settings → Plugins → 体检 to see every profile's health at a glance.

Configuration

Edit the bundle row in the profile's cordis.patch.yml:

- id: clinic
  name: 'dsh-plugin-clinic'
  config:
    profiles: []            # profile directory names to diagnose; empty = all
    enableTool: true        # register the plugin_health tool
    enableWebRoute: true    # register /clinic HTTP routes when a webServer exists
    webRoutePrefix: '/clinic'
    includeHomePatches: true

HTTP endpoints

EndpointReturns
GET /clinic/healthfull ClinicReport
GET /clinic/health/summarysummary projection for the dashboard

Routes require a loopback Host header (DNS-rebinding defense, same spirit as the official /api fence); they are not authentication.

Architecture

One npm package, two halves. The Host half owns a pure diagnostic engine (src/engine/, no I/O, no ctx), the plugin_health tool, and the /clinic routes. The browser half registers the Clinic tab into the official settings.plugins.tab extension point and fetches the same report the tool returns. Design rationale is documented in the repository's internal working docs (not shipped with the package).

Model Experience

Request context and condition

What the model sees

One tool schema: plugin_health with profiles, severity, and details parameters. The tool is registered on ctx.tools like any model-facing tool, so its schema flows into the system-prompt assembly of every agent in a profile that loads this plugin.

Token effect

Fixed at registration: one tool schema entry per agent. The execution result is a ClinicReport JSON document whose size scales with the number of diagnosed plugins; details: false (the default) returns counts only, keeping the model-visible payload bounded regardless of how many plugins are installed.

KV Cache effect

The tool schema is part of the fixed prompt prefix and does not invalidate reuse. The execution result is a per-turn tool result, not part of any later request prefix.

Known Limitations and Deferred Work

  • Diagnosis only, no fixes — v1 reports; repair is agent/user action. A dry-run fix

proposal surface is planned for a later milestone.

  • No npm online checks — deprecated flags and update availability are v2 (configurable
  • cached); v1 is fully offline.
  • Current profile is not detectable — DSH exposes no API for the running profile name,

so v1 diagnoses every profile (config can narrow the list). --profile extraction from argv is best-effort UI highlighting only, never authoritative.

  • Browser-first dashboard — the Clinic tab is verified against the official Web GUI;

Electron desktop shells carry fetch over an IPC bridge and are not yet validated.

  • Loader-only plugins — entries not in a profile manifest have no package.json, so

peer/runtime/script checks do not apply to them; only load-health and provenance do.

  • No source-level security scan — that is dsh-plugin-doctor's job; optional

integration of its CLI is deferred to v2.

  • Report is a point-in-time snapshot — no cache, history, or subscription

(intentionally; the same trade-off the official plugin inventory makes).

Documentation

License

MIT — see LICENSE.

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目