DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Doctor — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@linxin666/dsh-doctor

Doctor

DSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @linxin666/dsh-doctor@0.3.23
README兼容性版本

兼容性与来源证明

Doctor 以 @linxin666/dsh-doctor 发布,当前版本为 0.3.23。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.3.23stable
2026/9/16
0.3.22stable
2026/9/13
0.3.21stable
2026/9/12
查看其余 21 个版本
收起版本
0.3.20stable
2026/9/10
0.3.19stable
2026/9/9
0.3.18stable
2026/9/8
0.3.17stable
2026/9/7
0.3.16stable
2026/9/5
0.3.15stable
2026/9/5
0.3.14stable
2026/9/3
0.3.13stable
2026/9/3
0.3.12stable
2026/9/2
0.3.11stable
2026/9/1
0.3.10stable
2026/8/31
0.3.9stable
2026/8/30
0.3.6stable
2026/8/27
0.3.5stable
2026/8/26
0.3.4stable
2026/8/25
0.3.3stable
2026/8/24
0.3.2stable
2026/8/23
0.3.1stable
2026/8/23
0.3.0stable
2026/8/23
0.2.9stable
2026/8/22
0.2.8stable
2026/8/22

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话
最新版
0.3.23
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
1 MB
文件数
89
Surface
web
许可证
BSD-3-Clause
发布源
npm
GitHub
★ 0
周下载
27,661
安全扫描
✓ v0.3.23 扫描通过
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

README

@linxin666/dsh-doctor

English | 中文

Transactional rescue mode for DeepSeek Harness profiles: a Doctor Supervisor plus a transparent Doctor Launcher keep an isolated rescue capsule ready, detect boot failures, process crashes, heartbeat timeouts, Web failures and browser white screens, and restore the profile through snapshots, deterministic repairs, isolated health gates and atomic promote or rollback. The package ships enabled by default: fresh installs and Web UI version updates boot with rescue mode active, while an explicit off choice in the Doctor card is preserved. It can be toggled from its Doctor card in Settings → Plugin configuration → Web UI plugins. It does not modify a DSH installation.

What it does

  • The Doctor Host Plugin runs inside every protected DSH host: it exposes the loopback recovery API, reports heartbeat and launch-phase facts to the Supervisor, and collects browser failure reports.
  • The Doctor Web Console (the family plugin card inside Settings → Plugin configuration → Web UI plugins) shows the system phase, protected profiles, incidents and the client failure probe, records Web UI plugins that were enabled but never started, and offers diagnose, repair, rollback, pause and resume actions alongside the enable switch plus a Service and capsule card: one-click install, restart-upgrade and uninstall.
  • The Send to Harness window composes a troubleshooting prompt from the newest recorded failure (summary plus error stack) and queues it into the current DSH session as a new turn, so the user's agent can diagnose and fix it in place; the prompt is editable and copyable before sending. Failed-plugin rows also carry one-click Copy error and Disable and restart actions (disable writes the profile patch enabled row through the plugin-manager channel and takes effect after the host restart).
  • The Doctor Supervisor runs as a per-user background service. It classifies exits into user stops, task completion and real failures, applies the crash-loop circuit breaker, and owns rescue scheduling.
  • The Doctor Launcher detects the legacy aggregate package before starting DSH and automatically migrates @linxin666/dsh-web-ui-all to @linxin666/dsh-web-all when autoMigrate is enabled (default true) and the target package is available; migration goes through the official dsh plugin CLI with manifest/lockfile backups and a --dump-config gate.
  • The Doctor Launcher relays dsh arguments verbatim to the real DSH executable, forwards stdin, stdout, stderr and signals, records startup intent and exit facts, and only then reports an incident.
  • The Rescue Capsule provisions a pinned DSH runtime, a pinned Doctor package and an isolated DSH_HOME at a machine-local home, so a broken user overlay or profile patch can never block the recovery console.
  • Profile package.json and cordis.patch.yml are only touched through the official dsh plugin command and the documented profile-layer conventions.

    Components

    PartRuns whenResponsibility
    Doctor Host Plugininside every protected hostsettings surface, loopback API, heartbeat and client failure reports
    Doctor Web Consolein the DSH Web GUIenable flow, status, incidents, diagnose and repair actions
    Doctor Supervisoras a host-bounded child processlifecycle monitoring, classification, circuit breaker, rescue scheduling
    Doctor Launcherat every dsh invocationtransparent relay of argv, signals and exit facts
    Rescue Capsulemachine-local isolated homepinned runtime, isolated home, offline diagnostics and repair tooling

    Install

    From npm (family first)

    dsh plugin --profile web add @linxin666/dsh-web-all@latest
    

    As a standalone bundle

    dsh plugin --profile web add @linxin666/dsh-doctor@latest
    

    From the repository (development)

    git clone https://github.com/zhu1090093659/dsh-web.git
    cd dsh-web
    pnpm install
    pnpm -r build
    dsh plugin --profile web add link:$(pwd)/packages/dsh-doctor
    

    Restart dsh web, open Settings → Plugin configuration → Web UI plugins, and expand the Doctor card to confirm rescue mode is on (it is by default). The package also ships the dsh-doctor CLI for the Supervisor, the Launcher, provisioning and the legacy-service cleanup.

    Enable

    When rescue mode is enabled, the host mounts /api/doctor/*, persists the effective protection policy, and reconciles the Supervisor, package version, install path, and rescue capsule in the background without blocking Web startup. The Supervisor runs as a bounded child of the host that spawned it — it answers on the same local socket, carries a parent-liveness watch so it can never outlive its host into a background daemon, and no OS-level service (LaunchAgent, systemd unit, scheduled task) is registered anymore; the first ensure on a machine that still carries one removes it. Disabling stops heartbeats and pauses automatic Supervisor intervention while retaining the capsule. An explicit uninstall writes a suppression marker, so later host starts never respawn the Supervisor; Install now clears that marker. The console button remains available as a manual retry and repair entry point.

    Update

    After an update, restart dsh web so the host half loads the new code: the reconciler detects a Supervisor answering with an older version, asks it to shut down over IPC, and respawns the current one as its own child; the capsule is refreshed when its pinned version differs. When the user changes a provider or its keys, the capsule credential fingerprint detects the drift and the same reconcile re-mirrors the new configuration. The reconcile is idempotent and safe to repeat; dsh-doctor service-uninstall remains available as the manual removal of a pre-child OS service registration.

    CLI

    The dsh-doctor binary exposes the operational commands:

    CommandMeaning
    dsh-doctor supervisorrun the Supervisor in the foreground
    dsh-doctor launch [dsh args...]relay one dsh invocation under supervision
    dsh-doctor migrate [profile]run the deterministic legacy aggregate migration directly
    dsh-doctor statusprint the Supervisor snapshot as JSON
    dsh-doctor provision [profile] [--no-credentials]provision or refresh the rescue capsule (mirrors provider config and credentials with 0600; pinned to the current package version by default; DSH_DOCTOR_PACKAGE, --no-credentials and DSH_DOCTOR_CREDENTIALS=off adjust it)
    dsh-doctor snapshot [profile]capture one profile snapshot
    dsh-doctor diagnose [profile]diagnose and plan one profile without writing
    dsh-doctor repair [profile] --allow-liverun the staged repair transaction (gated promote)
    dsh-doctor rollback <txnId>restore a promoted transaction from quarantine
    dsh-doctor service-uninstallremove a legacy OS service registration left by an older doctor version

    Exit codes: 0 ok, 1 repaired and verified, 2 attention needed, 3 blocked (lock, offline or missing secret).

    Config

    The host settings namespace is doctor:

    KeyDefaultMeaning
    enabledtruemaster switch; mounts routes and reconciles deployment when enabled, pauses without uninstalling when disabled
    fullProtectiontruemanaged protection: heartbeat, incident recording and circuit breaking; off is observation mode
    autoRepairfalsepromote after isolated gates; off keeps a staged candidate pending explicit confirmation. Also gates the boot self-heal below
    autoMigratetruemigrates the legacy aggregate before startup; only the known dsh-web-ui-all -> dsh-web-all mapping is active
    heartbeatIntervalMs5000host heartbeat cadence

    Environment:

    VariableMeaning
    DSH_DOCTOR_HOMEdoctor root (default ~/.dsh-doctor; overridable)
    DSH_DOCTOR_REAL_DSHabsolute path of the real dsh executable
    DSH_DOCTOR_PACKAGEpackage spec used to install the rescue Doctor
    DSH_DOCTOR_PACKAGE_DIRlocal checkout to link during development
    DSH_DOCTOR_CREDENTIALSwhen off, credential files are not mirrored into the rescue capsule (mirrored by default)
    DSH_DOCTOR_ENDPOINTSupervisor endpoint injected by the launcher
    DSH_DOCTOR_TOKENone-run Supervisor token injected by the launcher
    DSH_DOCTOR_RUN_IDone-run launch identity injected by the launcher

    Health and recovery

    FailureDetectionDefault action
    boot failurelauncher exit before the ready phase, structured stderrretry once, then open rescue
    plugin init failurenon-zero config phase exitretry once, then open rescue
    runtime crashsignal or non-zero exit after startupone restart, then circuit breaker
    heartbeat lossno heartbeat within the windowprocess and HTTP probes, then rescue
    Web failurerepeated loopback HTTP failuresrescue on spare port when host is alive
    browser white screenclient probe and error boundaryclient-local recovery first; incident only with evidence
    user Ctrl+Clauncher signalnormal stop, no incident
    headless business failurehealthy app with non-zero exitreport only

    The circuit breaker suspends automatic retries after repeated failures within the window and quarantines the profile for explicit user confirmation.

    Boot self-heal (plugin-level quarantine)

    When a profile fails to boot twice within the failure window and autoRepair is on, the Supervisor attributes the failure from the captured stderr trace (the host names the failing loader entry in its boot errors) and, when exactly one of the profile's own patch rows is implicated, appends a bare - id: <rowId> + disabled: true override to the profile cordis.patch.yml — the same row-merge mechanism the loader uses when it persists a self-disposing plugin. The next dsh web boots without the broken plugin and every other plugin mounts. Failures that cannot be attributed to a single row (file errors, unparseable patches, host-level faults) only annotate the incident; the writer refuses to disable rows it cannot prove broken, never touches a crash after startup, and never edits a patch file that fails to parse (the D-040 quarantine lane owns those). Every heal lands in the journal and the incident evidence, so a disabled plugin is always one cordis.patch.yml read away from being re-enabled by hand.

    Repair model

    Every repair is a transaction: snapshot the live profile, stage a candidate environment, apply only deterministic rule-based operations, run isolated dump-config and Web health gates against the candidate, promote with the original quarantined, verify in place, and roll back byte-exactly on failure. The repair engine never guesses: ambiguous cases generate a candidate and wait for confirmation, and no action installs an unverified latest or executes untrusted shell commands. Repair and rollback journals are append-only and recoverable across crashes.

    Security model

    • Everything runs as the current user; no root or admin elevation.
    • The Supervisor listens only on a local Unix socket (named pipe on Windows); requests carry a per-install bearer token stored with mode 0600.
    • The Web API is loopback-only and never hands the browser the token; rejected requests receive HTTP 403 with { ok: false, error: "forbidden: loopback-only" }.
    • The launcher and Supervisor never run a shell; DSH argv is relayed verbatim.
    • No secrets are written to state, logs or incident records; snapshots redact credentials and the redacted tier can never restore them.
    • The rescue capsule binds only to loopback and never reads the profile home overlay except during explicit inspection.
    • The rescue capsule mirrors the user profile settings and credential files (settings.yaml / .credentials.yaml / .env and peers, mode 0600, canonical names only, never backup variants); the manifest records file names and a content fingerprint only and never holds the secrets themselves; uninstall removes the mirror per the recorded list.
    • Writes are confined to DSH_DOCTOR_HOME and the package-owned files; profile mutations happen only through the official dsh plugin command.
    • One-click install, upgrade and uninstall only invoke this package's CLI with argument arrays and never enable a shell; no OS service is registered, so there is no launchd/systemd/schtasks surface at all.

    Known limitations

    • A profile started by invoking the real dsh executable by absolute path bypasses the launcher; protection covers launcher-started runs, and bypassed hosts are reported as partially managed.
    • Machine-level damage (an unloadable Node binary, an unwritable home, a dead volume) cannot be repaired automatically; the console shows CLI recovery instructions instead.
    • Snapshots stay machine-local by default; cross-machine restore requires exported artifacts and a separate credentials vault.
    • Windows support is best-effort for junctions, PowerShell 5.1 Unicode and per-user scheduled-task registration; several internals assume POSIX file semantics.

    Telemetry

    The browser half sends one anonymous install heartbeat per UTC day to dsh-market.com: a random localStorage id plus this package's name, nothing else. The server stores only a salted hash of that id, never IP addresses, and exposes aggregate counts only. See docs/telemetry.md for the full contract.