dsh-inspiration-deck-workshop
github.com/zjsthmjialin/inspiration-deck-workshop
v0.1.1
技能包
可执行外部程序写入文件发起网络请求
灵感演示工坊的 DSH 插件化分发:注册 inspiration-deck-workshop 技能(本地 HTML 演示文稿工作台,含 6 套 deck 模板、25+ 布局、validate/export CLI 与 smoke 测试)。
该插件尚未翻译,显示作者原文。
deepseek-harnessdsh-pluginskillpresentationhtml-deckpptslides
检测报告
关注度高。命中了不少能力模式,其中可能有需要留意的。逐条看下面的清单。
1高关注2需留意3一般18未命中
高关注需留意一般
能力清单
- 可执行外部程序
spawns-processes高关注4 处命中…k-workshop/tools/lib/browser.mjs:3import { spawn } from "node:child_process";…k-workshop/test/doctor-smoke.mjs:2import { execFile } from "node:child_process";…k-workshop/test/script-smoke.mjs:2import { execFile } from "node:child_process";…workshop/test/validate-smoke.mjs:2import { execFile } from "node:child_process";- 看它调用哪些程序。调用本机已有的工具是常见做法。
- 写入文件
writes-files需留意46 处命中…/tools/build-catalog-preview.mjs:758await fs.mkdir(outDir, { recursive: true });…/tools/build-catalog-preview.mjs:760fs.writeFile(path.join(outDir, "index.html"), html, "utf8"),…/tools/build-catalog-preview.mjs:761fs.writeFile(path.join(outDir, "catalog.manifest.json"), `${JSON.stringify(manifest, null, 2)}\n`, "utf8")…/tools/build-client-delivery.mjs:39await fs.writeFile(file, `${JSON.stringify(value, null, 2)}\n`, "utf8");- 看写入位置。写自己的配置目录是正常的,写系统目录不是。
- 发起网络请求
network需留意1 处命中…ls/build-theme-showroom-site.mjs:68const worker = `const files = ${JSON.stringify(entries)};\n\nfunction responseFor(pathname) {\n const key = pathname ===…- 看请求发往哪些域名。发往作者自己的后端是常见做法。
- 读取文件
reads-files一般39 处命中index.js:13const SKILL_MD = readFileSync(new URL('skills/inspiration-deck-workshop/SKILL.md', import.meta.url), 'utf8')…rkshop/test/animations-smoke.mjs:113assert(existsSync(cssPath), "assets/animations/animations.css should exist");…rkshop/test/animations-smoke.mjs:117css = readFileSync(cssPath, "utf8");…rkshop/test/animations-smoke.mjs:147showcaseHtml = readFileSync(showcasePath, "utf8");- 读文件是绝大多数插件的正常工作方式,本身不构成顾虑。
- 读取环境变量
reads-env一般1 处命中…k-workshop/tools/lib/browser.mjs:14export function chromeCandidates(platform = process.platform, env = process.env) {- 环境变量里常混有密钥。看它是否把整个 env 都读走。
- 动态加载模块
dynamic-import一般1 处命中…k-workshop/tools/lib/browser.mjs:45await import("playwright");- 动态导入本身无害,但会让依赖关系难以静态审阅。
逐条扫描明细
| 能力 | 标识 | 关注度 | 命中次数 |
|---|---|---|---|
| 可执行外部程序 | spawns-processes | 高关注 | 4 |
| 写入文件 | writes-files | 需留意 | 46 |
| 发起网络请求 | network | 需留意 | 1 |
| 读取文件 | reads-files | 一般 | 39 |
| 读取环境变量 | reads-env | 一般 | 1 |
| 动态加载模块 | dynamic-import | 一般 | 1 |
这份报告的口径
扫描读的是包里的源码,全程不执行第三方代码。 本次读了 119 个文件,扫描于 2026-10-15。 命中次数只说明源码里出现过这类调用,不说明行为好坏——一个插件读写文件 500 次和 1 次 都会被记为「读取文件」。这是能力清单,不是信任评分,也不是安全结论: 没扫出来的能力可能只是写法没被规则覆盖。
依赖安全公告
已查询这个插件声明的全部依赖,没有匹配到已公开的安全公告。(含 DSH 框架包在内的 @deepseek-ai/* 不作查询——那是运行时自己的问题,不是插件的。)