DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Startup Check — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-startup-check

Startup Check

DeepSeek Harness 配置的插件树预检:静态检查(语法、包结构、补丁引用、配置树组装),以及可选的真实启动冒烟测试(隔离的 `dsh web` 实例)和页面端冒烟测试(通过 CDP 运行的无头 Edge),并确认实例已关闭及审计残留实例。

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-startup-check@1.0.0
README兼容性版本

说明

DeepSeek Harness 配置的插件树预检:静态检查(语法、包结构、补丁引用、配置树组装),以及可选的真实启动冒烟测试(隔离的 `dsh web` 实例)和页面端冒烟测试(通过 CDP 运行的无头 Edge),并确认实例已关闭及审计残留实例。提供面向模型的 `plugin_check` 工具,并捆绑 `plugin-fault-diagnosis` 技能。

兼容性与来源证明

Startup Check 以 dsh-startup-check 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

1.0.0stable
2026/9/18
0.4.1stable
2026/9/18
0.4.0stable
2026/9/17

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
148.4 kB
文件数
16
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/9/18
查看源码 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

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 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-startup-check — catch a broken plugin before the restart

dsh-startup-check

Catch a broken plugin before the restart.

One tool — plugin_check — for the moment between "I installed a plugin" and "the harness won't open".

简体中文 · English


The problem

Every DSH plugin install is a leap of faith:

install a plugin  →  restart  →  find out the hard way

When the leap fails you are left with a harness that will not open, no page to ask, and a plugin tree you have to bisect by hand. By then the agent that could have read the code is gone.

plugin_check moves that discovery in front of the restart: the model inspects the tree — and, if you want, boots a real isolated instance to prove it comes up — while it can still fix what it finds.

Without the check: install, restart, harness fails to open. With the check: static checks pass, an isolated instance boots, exits, and only then are you told it is safe to restart.

What a failure looks like

Broken syntax in one plugin, caught before any restart, with the file named:

// plugin_check { "target": "dsh-oauth" }
{
  "ok": false,
  "checks": [
    { "name": "语法检查", "ok": false,
      "detail": "dsh-oauth/lib/index.js: Unexpected token '}' (node --check exit 1)" },
    { "name": "package.json 结构", "ok": true, "detail": "1 个插件结构一致" },
    { "name": "配置树组装", "ok": true, "detail": "配置树组装成功 (162 行)" }
  ]
}

The model reads that, fixes the file, re-runs the check, and only then do you restart. When the verdict is a real failure, the bundled plugin-fault-diagnosis skill takes over: read the verdict → locate the file → classify the error → fix, disable, or roll back.

What it checks

#CheckCatches
1Syntaxa plugin lib/*.js that fails node --check (typos, TypeScript/JSX in a plain-JS plugin)
2Package structuremissing main target, dsh.client declared without an exports["./client"] entry, wrong name prefix
3Patch referencescordis.patch.yml pointing at a plugin directory that no longer exists
4Config-tree assemblydsh --profile <p> --dump-config failing — the loader cannot compose the tree at all
5Real-boot smoke live: truethe isolated instance never prints its dsh web: <url>
6Page-side smoke page: truethe page throws, logs errors, or renders nothing — client-side failures the host never sees
7Instance shutdown (with live)the isolated instance did not actually exit, verified against the process table
8Stray-instance audit sweep: trueleftover smoke instances, plus a report of live hosts — report only unless you ask

🛡️ Read-only by design

It never restarts or touches the harness you are using. Smoke instances run on --port 0 with --no-open and a hard timeout; cleanup kills only isolated smoke instances, by exact PID — a resident host is never killed.

Install

dsh plugin --profile web add dsh-startup-check

Then restart the harness — installing a plugin changes dsh.profile.bundles, which is read at boot. That is the last leap of faith you take.

The npm package is published by GitHub Actions with a signed provenance attestation, so anyone who installs it can verify that this tarball was built from this repository at a particular commit, rather than uploaded by hand from someone's machine:

npm view dsh-startup-check dist.attestations
plugin_check                          # static checks (fast)
plugin_check { live: true }           # + boot an isolated instance        (~12s)
plugin_check { page: true }           # + headless-browser page check      (~30–45s, implies live)
plugin_check { sweep: true }          # + audit live DSH processes         (~1–2s)
plugin_check { live: true, killStray: true }   # and clean up this run's leftovers

Reading the verdict

  • ok: true means the checks that ran passed. A static-only run says nothing about runtime behaviour; only live proves the tree boots.
  • "Not measured" is not "failed." No browser, unreadable process table — the affected check says why and is treated as untested (tested: false) instead of being blamed on your plugins.
  • Checks 1–3 walk ~/.dsh/profiles/web/plugins/**, the @local layout. Plugins installed from npm into the profile's node_modules are covered by checks 4–8 instead.
  • The profile is currently fixed to web; other profiles are open work.

Requirements

HarnessDeepSeek Harness with a web profile
OSWindows — the instance audit uses PowerShell/WMI, the page half drives Edge/Chrome over CDP
Node≥ 22 (the harness's own engine)
BrowserEdge or Chrome, only if you want the page-side check

Development

git clone https://github.com/cningan/dsh-startup-check.git
cd dsh-startup-check
npm test

npm test runs node --check over every lib/ file and then test/tool-body-selftest.mjs, which drives apply() and the tool's execute() in a fresh Node process against a stubbed context. That is the layer neither node --check nor a boot smoke can see: a running harness keeps serving the code it booted with, so a broken tool body stays green until the next restart.

Full design, per-object lifecycle and known limitations: docs/architecture.md. Contributions welcome — see CONTRIBUTING.md and CHANGELOG.md.

MIT © cningan · built for DeepSeek Harness