dsh-plugin-healthcheck 使用指南
DSH 插件上线前体检:L0 静态检查 + L1 配置组合 + L2 隔离试跑 + 木马扫描,发现即自动修复、回滚或打包提示词。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-plugin-healthcheck
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add --allow-build=dsh-plugin-healthcheck github:chenw2759-wq/dsh-plugin-healthcheck
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 隔离铁律:只
readFile,绝不 import / require / 执行插件代码。 - 7 类恶意模式:M1 下载执行、M2 凭据窃取、M3 外联回传、M4 混淆后门、M5 持久化、M6 破坏性、M7 环境劫持。
- 两级校准:强组合(下载执行 / 破坏性 / 凭据+外联)→ error;单一命中 → warn(提示人工复核)。
- 证据脱敏:密钥/令牌/私钥一律
[REDACTED]。 - 误报控制:跳过 tests/node_modules/构建产物;
new Function("return …")(schemastery 惯用法)、
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
这个插件是干什么用的?
在 DSH 里给“刚装好、还没重启后端”的插件做体检,扫 files 白名单/依赖副本/lockfile/Windows 命令/恶意代码,发现问题自动改插件代码、删危险副本、写禁用行回滚,或把修复提示词打包让 agent 接手。
它会不会修改安装包本身的代码?
不会。修复执行器有一条“铁律”门禁:realpath 后的目标如果落在安装根里直接拒绝,只允许写 ~/.dsh/plugins/** 与 /.dsh/profiles/**、/.dsh/cordis.patch.yml;回滚通过 HMR 热生效,不重启后端。
自动回滚具体是怎么做的?
在 ~/.dsh/cordis.patch.yml 追加一条 - id: <插件id>\n disabled: true,写入前用 include 插件的 schema 再解析一遍校验格式,原文件备份为 .bak-时间戳;撤销是把同一段时间戳的 auto-rollback 块整段删除。
跑完一次检测,结果存在哪里?
在 ~/.dsh/storages/healthcheck/history.json 里只保留最近 20 条;运行中的 runId 在内存 Map 缓存,超过 1 小时会被清理掉。
木马扫描会执行插件代码吗?
不会,只用 readFileSync 读文本做正则匹配,从来不 import/require/spawn;插件自身因为正则在源码里命中签名会被显式跳过(service.ts 里 row.name === 'dsh-plugin-healthcheck' 跳过)。
L2 “隔离试跑”到底跑什么?
子进程里用基座 boot() 完整 boot 整个 profile tree,把 webserver 端口覆写成 0(避免和运行中的后端抢端口),超过 90 秒会强制 kill 子进程;失败时给出整改错误并标记可回滚。
— 源: plugin_wiki.faq_json
兼容性
- DSH: ^0.1.0-rc.6
- Node: 未声明
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则