ZCode 内置插件中 DSH 尚未提供的那部分,非官方移植;另含原创插件。DSH 已经有…
数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
dsh plugin --profile web add Adamaik/dsh-zcode-plugins状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 16:36:55
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
查看扫描证据(共 49 处,展示前 49 条)
- 读取本地文件packages/bilibili-summary/index.js:75
content: skillBody(readFileSync(new URL('SKILL.md', SKILL_DIR), 'utf8')), - 发起网络请求packages/bilibili-summary/lib/api.js:84
const response = await fetch(ref.value, { redirect: 'follow', signal: options.signal }).catch(() => undefined) - 执行外部命令来自配置/变量packages/bilibili-summary/lib/asr.js:50
const child = spawn(command, args, { stdio: ['ignore', 'pipe', 'pipe'] }) - 读取本地文件packages/bilibili-summary/lib/asr.js:71
if (!python || !existsSync(python)) return false - 读取本地文件packages/bilibili-summary/lib/asr.js:93
const base = VENV_PYTHONS.find((candidate) => existsSync(candidate)) - 写入本地文件packages/bilibili-summary/lib/asr.js:95
mkdirSync(venvDir, { recursive: true }) - 读取本地文件packages/bilibili-summary/lib/asr.js:131
if (code !== 0 || !existsSync(outPath)) { - 读取本地文件packages/bilibili-summary/lib/asr.js:134
const parsed = JSON.parse(readFileSync(outPath, 'utf8')) - 读取本地文件packages/bilibili-summary/lib/asr.js:140
scriptBytes: statSync(outPath).size, - 读取本地文件packages/bilibili-summary/lib/audio.js:27
if (existsSync(candidate)) return candidate - 读取本地文件packages/bilibili-summary/lib/audio.js:32
if (existsSync(candidate)) return candidate - 执行外部命令来自配置/变量packages/bilibili-summary/lib/audio.js:46
const child = spawn(command, args, { stdio: ['ignore', 'pipe', 'pipe'] }) - 写入本地文件packages/bilibili-summary/lib/audio.js:82
mkdirSync(dirname(options.outPath), { recursive: true }) - 读取本地文件packages/bilibili-summary/lib/audio.js:106
if (code !== 0 || !existsSync(options.outPath)) { - 读取本地文件packages/bilibili-summary/lib/audio.js:109
return { path: options.outPath, bytes: statSync(options.outPath).size } - 读取本地文件packages/bilibili-summary/lib/cookies.js:44
text = readFileSync(join(dshHome(), '.env'), 'utf8') - 读取本地文件packages/bilibili-summary/lib/cookies.js:90
if (!existsSync(file)) return undefined - 读取本地文件packages/bilibili-summary/lib/cookies.js:92
const parsed = JSON.parse(readFileSync(file, 'utf8')) - 写入本地文件packages/bilibili-summary/lib/cookies.js:126
mkdirSync(dirname(file), { recursive: true }) - 写入本地文件packages/bilibili-summary/lib/cookies.js:133
writeFileSync(file, `${JSON.stringify(record, null, 2)}\n`, 'utf8') - 写入本地文件packages/bilibili-summary/lib/cookies.js:135
chmodSync(file, 0o600) - 读取本地文件packages/bilibili-summary/lib/cookies.js:148
if (!existsSync(file)) return false - 删除本地文件packages/bilibili-summary/lib/cookies.js:149
rmSync(file, { force: true }) - 发起网络请求packages/bilibili-summary/lib/http.js:70
const response = await fetch(url, { - 发起网络请求packages/bilibili-summary/lib/http.js:97
const response = await fetch(url, { - 写入本地文件packages/bilibili-summary/lib/login.js:63
mkdirSync(dirname(outPath), { recursive: true }) - 写入本地文件packages/bilibili-summary/lib/login.js:64
writeFileSync(outPath, image.buffer) - 写入本地文件packages/bilibili-summary/lib/login.js:73
writeFileSync(loginStateFile(), `${JSON.stringify(state, null, 2)}\n`, 'utf8') - 写入本地文件packages/bilibili-summary/lib/tools.js:176
mkdirSync(dirname(target), { recursive: true }) - 写入本地文件packages/bilibili-summary/lib/tools.js:177
writeFileSync(target, payload.endsWith('\n') ? payload : `${payload}\n`, 'utf8') - 删除本地文件packages/bilibili-summary/lib/tools.js:662
rmSync(wavPath, { force: true }) - 删除本地文件packages/bilibili-summary/lib/tools.js:663
rmSync(`${wavPath}.json`, { force: true }) - 读取本地文件packages/browser-use/index.js:71
content: skillBody(readFileSync(new URL('SKILL.md', base), 'utf8')), - 写入本地文件packages/browser-use/lib/browser.js:286
await mkdir(dirname(path), { recursive: true }) - 写入本地文件packages/browser-use/lib/browser.js:287
await writeFile(path, bytes) - 发起网络请求packages/browser-use/lib/client.js:299
return fetch(STATUS_URL, { - 发起网络请求packages/browser-use/lib/client.js:307
return fetch(STATUS_URL, { - 发起网络请求packages/browser-use/lib/client.js:525
await fetch(RESULT_URL, { - 发起网络请求packages/browser-use/lib/client.js:536
const res = await fetch(COMMAND_URL, { method: "GET", cache: "no-store" }); - 写入本地文件packages/browser-use/lib/own-tools.js:183
await mkdir(dirname(path), { recursive: true }) - 写入本地文件packages/browser-use/lib/own-tools.js:184
await writeFile(path, bytes) - 读取本地文件packages/image-search/index.js:38
text = readFileSync(join(home, '.env'), 'utf8') - 读取本地文件packages/pdf/index.js:53
const raw = readFileSync(new URL('SKILL.md', SKILL_DIR), 'utf8') - 读取本地文件packages/reverse-image-search/index.js:50
content: skillBody(readFileSync(new URL('SKILL.md', SKILL_DIR), 'utf8')), - 发起网络请求packages/reverse-image-search/lib/http.js:29
const response = await fetch(url, { headers: { 'User-Agent': USER_AGENT }, signal: controller.signal }) - 写入本地文件packages/reverse-image-search/lib/http.js:39
await mkdir(dirname(target), { recursive: true }) - 写入本地文件packages/reverse-image-search/lib/http.js:40
await writeFile(target, bytes) - 读取本地文件packages/reverse-image-search/lib/tools.js:111
const stats = await readFile(resolved).catch(() => undefined) - 删除本地文件packages/reverse-image-search/lib/tools.js:130
if (temporary) await rm(queryPath, { force: true }).catch(() => undefined)
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
功能亮点
- 补齐未内置插件
- PDF处理
- 免密钥反向图搜
非官方 DeepSeek Harness 插件包,补齐 DSH 未内置的 ZCode 插件:PDF、带内置侧栏镜像的 browser-use、image-search,以及免密钥反向图搜。
README
由 DeepSeek 最新模型翻译生成展开完整文档(README 剩余 1 节)
dsh-zcode-plugins ZCode 内置插件中 DSH 尚未提供的那部分,非官方移植;另含原创插件。DSH 已经有 office-docx、office-pptx、office-xlsx 技能,所以本仓库补齐剩下三项能力,并额外提供无需 ZCode 账号的无 key 搜图,以及一个 B站字幕 → HTML 汇总插件。 | 包 | 移植对象 | 许可证 | 上游处理方式 | | dsh-zcode-pdf | ZCode pdf 插件 | MIT | 净室重写;上游是专有许可 | | dsh-zcode-browser-use | ZCode browser-use 插件 | MIT | 技能与文档原样照搬;传输层用 Playwright 重写 | | dsh-zcode-image-search | ZCode image-search 插件 | Apache-2.0 | MCP 声明原样照搬;通过 DSH MCP 客户端接线 | | dsh-reverse-image-search | —(原创,非移植) | MIT | 以图搜图(百度识图);无需 API key 与代理 | | dsh-bilibili-summary | —(原创,非移植) | MIT | B站 AI/CC 字幕抽取(protobuf 接口 + 播放器 URL 重签),无字幕时本地 ASR 兜底,并附带 HTML 报告技能 | 每个包都是标准 DSH bundle:package.json 声明 dsh.bundle.patch,再加一层 cordis.patch.yml。 安装 每个包都已发布到 npm,profile 可以直接按名字安装: dsh plugin --profile <profile> add dsh-zcode-pdf dsh plugin --profile <profile> add dsh-zcode-browser-use dsh plugin --profile <profile> add dsh-zcode-image-search dsh plugin --profile <profile> add dsh-reverse-image-search dsh plugin --profile <profile> add dsh-bilibili-summary 从仓库本地安装则先把每个包打成 tarball。用 link 方式装目录也可以,但那样 pnpm 不会安装浏览器包的 playwright 依赖,所以本地安装以 tarball 为准: cd dsh-zcode-plugins mkdir -p dist for p in pdf browser-use image-search reverse-image-search bilibili-summary; do (cd packages/$p && npm pack --pack-destination ../../dist); done dsh plugin --profile <profile> add ./dist/dsh-zcode-pdf-0.1.1.tgz dsh plugin --profile <profile> add ./dist/dsh-zcode-browser-use-0.6.1.tgz dsh plugin --profile <profile> add ./dist/dsh-zcode-image-search-0.1.2.tgz dsh plugin --profile <profile> add ./dist/dsh-reverse-image-search-0.1.1.tgz dsh plugin --profile <profile> add ./dist/dsh-bilibili-summary-0.1.3.tgz 安装后请保留 dist/:profile 里记录的是 tarball 路径,删掉会让该 profile 之后的 pnpm install 失败。 不启动也能检查合成后的层: dsh --profile <profile> --dump-config 浏览器包每台机器还需要装一次 Chromium(npx playwright install chromium);搜图包需要 ZCODE_BASE_URL 与 ZCODE_JWT_TOKEN。 来源 三个移植包都来自 ZCode 3.14.3 内置插件(/Applications/ZCode.app/Contents/Resources/glm/packages/),两个原创包在上表中已标注。每个包都有 NOTICE,写明上游版本、许可证与所有为 DSH 做的改动。浏览器与搜图包把上游文件原样随包提供,与 DSH 接线代码并列。 验证 node scripts/check.mjs # frontmatter、patch 与目录结构检查 node scripts/verify-plugins.mjs # 用真实 DSH 注册表加载每个插件 node scripts/verify-browser-sidebar.mjs # 真实 Chromium + 侧边栏镜像逻辑 node scripts/test-bilibili.mjs # B站 bundle 的免网络单元测试 运行期验证命令写在每个包的 README 里,覆盖 PDF 脚本、真实 Chromium 上的浏览器工具,以及把 bundle 安装进临时 profile。
预览分享卡片长什么样 ↓
ZCode 内置插件中 DSH 尚未提供的那部分,非官方移植;另含原创插件。DSH 已经有…