装前体检插件,扫冲突并让临时插件转正落盘
26.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Nico0713520/dsh-plugin-guardian该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ads
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 77 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 36 处,展示前 35 条)
- 删除本地文件递归src/doctor.test.ts:17
await rm(dir, { recursive: true, force: true }) - 写入本地文件src/doctor.test.ts:22
await writeFile(path.join(dir, 'package.json'), JSON.stringify(pkg, null, 2)) - 写入本地文件src/doctor.test.ts:25
await mkdir(path.dirname(full), { recursive: true }) - 写入本地文件src/doctor.test.ts:26
await writeFile(full, content) - 读取本地文件src/doctor.ts:66
entries = await readdir(current, { withFileTypes: true }) - 读取本地文件src/doctor.ts:89
const buf = await readFile(file) - 读取本地文件src/doctor.ts:150
const raw = await readFile(path.join(dir, 'package.json'), 'utf8') - 读取本地文件src/doctor.ts:283
await access(path.join(dir, dshPatch)) - 删除本地文件递归src/install.test.ts:17
await rm(dir, { recursive: true, force: true }) - 写入本地文件src/install.test.ts:42
await writeFile( - 写入本地文件src/install.test.ts:46
await writeFile(path.join(dir, 'cordis.patch.yml'), '- insert:\n - id: demo-plugin\n') - 写入本地文件src/install.test.ts:72
await writeFile(path.join(dir, 'package.json'), JSON.stringify({ name: 'x', version: '1.0.0' })) - 执行外部命令来自配置/变量src/install.ts:58
execFile( - 删除本地文件递归src/profile.test.ts:24
await rm(dir, { recursive: true, force: true }) - 写入本地文件src/profile.test.ts:96
await writeFile( - 写入本地文件src/profile.test.ts:100
await mkdir(path.join(dir, 'node_modules', 'plugin-a', 'src'), { recursive: true }) - 写入本地文件src/profile.test.ts:101
await writeFile( - 写入本地文件src/profile.test.ts:105
await writeFile( - 写入本地文件src/profile.test.ts:109
await mkdir(path.join(dir, 'node_modules', 'plugin-b', 'src'), { recursive: true }) - 写入本地文件src/profile.test.ts:110
await writeFile( - 读取本地文件src/profile.ts:39
const raw = await readFile(path.join(dir, 'package.json'), 'utf8') - 读取本地文件src/profile.ts:53
texts.push(await readFile(file, 'utf8')) - 读取本地文件src/profile.ts:72
const raw = await readFile(path.join(profileDir, 'package.json'), 'utf8') - 删除本地文件递归src/promote.test.ts:17
await rm(dir, { recursive: true, force: true }) - 写入本地文件src/promote.test.ts:22
await writeFile(path.join(dir, 'package.json'), JSON.stringify(pkg, null, 2)) - 写入本地文件src/promote.test.ts:25
await mkdir(path.dirname(full), { recursive: true }) - 写入本地文件src/promote.test.ts:26
await writeFile(full, content) - 读取本地文件src/promote.test.ts:71
const marker = JSON.parse(await readFile(path.join(result.stagedPath!, '.guardian-managed.json'), 'utf8')) - 读取本地文件src/promote.ts:49
await stat(file) - 读取本地文件src/promote.ts:62
entries = await readdir(dir, { withFileTypes: true }) - 读取本地文件src/promote.ts:73
hash.update(await readFile(path.join(dir, entry.name))) - 执行外部命令固定命令src/promote.ts:83
execFile( - 写入本地文件src/promote.ts:140
await mkdir(outputRoot, { recursive: true }) - 写入本地文件src/promote.ts:161
await rename(staging, finalDir) - 删除本地文件递归src/promote.ts:193
await rm(staging, { recursive: true, force: true })
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/dsh-user-approval给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 安装前诊断插件
- 扫描插件间冲突
- 临时插件转正落盘
只读插件体检工具,给 DeepSeek Harness 用——安装前先诊断,扫描插件间冲突,把临时插件沉淀为长期资产。
README
由 DeepSeek 最新模型翻译生成dsh-plugin-guardian
DeepSeek Harness 插件的一生:先体检,再转正。
CI
License: MIT
dsh-plugin
English ·
5905 个插件还在涨。有些会互相打架——装个皮肤,另一个插件就悄悄坏了;两个插件注册同名工具,整个 Harness 启动就崩;你的 Agent 在创造模式里写了个插件,一重启就没了。
这个插件,让这些问题在你被咬之前先现形、先解决。
为什么需要它
DeepSeek Harness 信奉「一切皆插件」,一周内生态就膨胀到几千个插件——但没有人看场子:
| 痛点 | 实际后果 | guardian 怎么救 |
| 「装了个皮肤,X 就坏了」 | 插件悄悄互相冲突 | plugin_profile_scan 扫出工具名冲突 |
| 两个插件注册同名工具 | 启动直接崩溃(见 Pi #7696) | 装前就拦下冲突 |
| 「这个野 npm 插件安全吗?
展开完整文档(README 剩余 1 节)
dsh-plugin-guardian DeepSeek Harness 插件的一生:先体检,再转正。 CI License: MIT dsh-plugin English · 5905 个插件还在涨。有些会互相打架——装个皮肤,另一个插件就悄悄坏了;两个插件注册同名工具,整个 Harness 启动就崩;你的 Agent 在创造模式里写了个插件,一重启就没了。 这个插件,让这些问题在你被咬之前先现形、先解决。 为什么需要它 DeepSeek Harness 信奉「一切皆插件」,一周内生态就膨胀到几千个插件——但没有人看场子: | 痛点 | 实际后果 | guardian 怎么救 | | 「装了个皮肤,X 就坏了」 | 插件悄悄互相冲突 | plugin_profile_scan 扫出工具名冲突 | | 两个插件注册同名工具 | 启动直接崩溃(见 Pi #7696) | 装前就拦下冲突 | | 「这个野 npm 插件安全吗?」 | 没有任何信任体系 | plugin_doctor 三档置信度体检 | | 「Agent 刚写的插件没了」 | 创造模式插件只存内存 | plugin_promote 一键转正落盘 | 四个工具,一条生命周期 陌生/临时插件 → plugin_doctor 体检 → 通过门禁 → plugin_promote 转正 → 可信磁盘插件 │ plugin_profile_scan 扫已装集冲突 │ plugin_install 引导安装(先审计→再执行) | 工具 | 作用 | 类比 | | plugin_doctor | 单插件体检 | 门诊 | | plugin_profile_scan | 已装集冲突扫描(含官方核心工具被顶替检测) | 体检中心 | | plugin_promote | 临时插件转正 | 落户 | | plugin_install | 引导安装:先审计、再执行 | 一键安装 | 它凭什么可信:三档置信度 每条结论都带置信度标签——借鉴 Pi 的 pi-extension-doctor: | 档位 | 含义 | | confirmed | 从读到的文件可证实(如字段缺失) | | inferred | 看到了静态模式,但不等于运行时真有 bug | | unknown | 边界(远程 spec、文件读不了)挡住了结论 | 不装懂。静态扫描的结果就叫 inferred,绝不吹成「肯定是 bug」。 30 秒上手 dsh plugin --profile web add github:Nico0713520/dsh-plugin-guardian 重启 dsh web,然后在会话里直接问: plugin_doctor target="/path/to/my-plugin" plugin_profile_scan plugin_promote source="/path/to/my-plugin" plugin_install spec="npm:some-plugin" # 默认只审计,不安装 plugin_install spec="npm:some-plugin" approve=true 演示 plugin_doctor 体检一个真实 DSH 插件: DSH plugin doctor target : /path/to/dsh-gh-cli verdict: WARN (0 blocker · 1 warn · 3 info) [info] confirmed — cordis patch file present [warn] confirmed — Pre-release peer dependencies (9) → 建议锁版本 [info] inferred — Spawns subprocesses [info] inferred — Detected 2 possible tool name(s): gh_cli_run, gh_auth_status plugin_promote: DSH plugin promote status : PROMOTED name : dsh-gh-cli@0.1.0 sha256 : 6cf15989… install: dsh plugin --profile web add link:…/.guardian-plugins/dsh-gh-cli-6cf15989 安全边界 - plugin_doctor、plugin_profile_scan 只读:不装包、不执行源码、不跑子进程、不联网、不写文件。 - plugin_promote 只写到一个受管理的 staging 目录($DSH_HOME/.guardian-plugins),并写下溯源标记(sha256 / promotedAt / source)。除非你显式传 register=true,否则绝不碰你的 live profile。 工具 | 工具 | 参数 | 说明 | | plugin_doctor | target(路径或 npm:/github: spec)、format(text/json) | 三档置信度报告 | | plugin_profile_scan | profileDir(默认 $DSH_HOME/profiles/web) | 查工具名冲突、重复项、版本偏斜 | | plugin_promote | source、register(默认 false)、profile、outputDir | doctor 门禁、原子落盘、溯源标记 | FAQ 跟 dsh-plugin-check 有啥区别? —— 有重叠但不同。plugin-check 对单个插件做 33 项只读检查;guardian 多了三样它没有的:置信度分级、跨插件冲突扫描、转正(promote)——最后这个在整个生态里是空白。 plugin_promote 会偷偷改我的 profile 吗? —— 不会。默认 register=false,只 staging 并打印出准确的 dsh plugin add 命令,注册要你显式开启。 那个 Pi 引用是啥? —— Pi 的 pi-extension-doctor 首创了 confirmed/inferred/unknown 置信度模型和严格只读边界。guardian 把同一套纪律用到了更大、更乱的 DSH 生态上。 开发 git clone https://github.com/Nico0713520/dsh-plugin-guardian.git cd dsh-plugin-guardian npm install --legacy-peer-deps npm run typecheck npm run test npm run build 要求 - Node.js ≥ 20 - DeepSeek Harness(@deepseek-ai/dsh,已在 0.1.0-rc.x 验证) 相关链接 - 贡献指南 - 更新日志 - DeepSeek Harness — 官方仓库 - dsh-plugin topic — 发现更多插件 - pi-extension-doctor — 我们借鉴的置信度模型 License MIT — 见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Nico0713520/dsh-plugin-guardian
装前体检插件,扫冲突并让临时插件转正落盘
相关插件 · 营销 / 广告
复古广告弹窗Nagi-ovo/dsh-ads
把 DSH 变成 2005 年门户网站|Parody ads, fake games, and popups for…
★ 679已汉化DSH
67.4
精酿竖版宣传片Finderchangchang/brewreel
精酿 BrewReel:让 DeepSeek 这类便宜模型也能做出好看的竖版宣传片。写一份产品简报,AI…
★ 166已汉化DSH
62.6
工作区分组树KannaKuron/dsh-better-workspace
给 DeepSeek Harness DSH 的侧边栏「工作区」列表装上一套两层文件夹系统——磁盘层按目录路径嵌套官方…
★ 31已汉化DSH
48.1
跨窗提醒Aisland-SJL/dsh-reminder
🔔 DeepSeek Harness 跨窗口完成与审批通知——弹窗提醒把你拉回 DSH,Codex/WorkBuddy 风格。
★ 18已汉化DSH
40.4
推理档位自动选择justhalfbit/dsh-plugin-jev-effort-selector
让 Jev System One 模型替你决定每条消息该用多深的推理。
★ 7已汉化DeepSeek 客户端
37.1
模型价格看板vitas/dsh-model-pricing
在选择模型之前比较 LLM API 价格——并在使用之后查看你实际支付了多少。 这是一个
★ 2已汉化DeepSeek 客户端
36.5