# Zat-DSH Engine > DeepSeek Harness 的可视化插件市场。像 Wallpaper Engine 一样浏览、搜索、安装、更新和卸载社区插件。 [中文说明](#zat-dsh-engine) · [English](README.md) Zat-DSH Engine 在 DeepSeek Harness 网页界面的 **设置 → 插件** 里新增一个 **🛒 插件市场** 页签。它实时列出 GitHub 上整个 `dsh-plugin` 主题社区,双语简介,一键安装。 ## 功能特性 - **全社区目录** — 实时搜索 GitHub `dsh-plugin` 主题(1700+ 仓库,每天都在增长) - **AI 找插件** — 任意对话里直接说出需求(例如"找一个让模型看图的插件"),AI 自动搜索插件市场、推荐候选,每个候选都附**装前体检 + 安全扫描**结论(✅/⚠️/❌),有问题如实报出、不盲目推荐 - **12 个分类** — 皮肤主题、工具终端、浏览器自动化、技能、视觉多媒体、网络 MCP、多智能体、数据存储、硬件桌面、设计文档、安全通知… - **输入即搜** — 打字自动筛选,不需要回车;清空搜索框自动回到完整列表 - **双语简介** — 内置 999 条预生成中文简介;新插件保持英文简介(不再现场调用模型翻译,省 token、高峰时段不烧余额);英文界面显示 GitHub 原始简介 - **安装 / 更新 / 卸载** — 一键完成,底层走官方 `dsh plugin` 的 profile 机制(pnpm) - **多插件仓库智能安装** — 一个仓库打包多个插件也能装对:只有一个插件的仓库点一下无感装好;多个插件的仓库用大白话列表让你选 - **已安装识别** — 标记你已装的插件,自动比较版本,发布新版本后显示**更新徽章** - **跨平台** — Windows 与 Linux 全支持(PowerShell / sh、curl / wget 自动切换) - **网络自适应** — 自动继承你的 VPN/系统代理来拉取和安装;GitHub 连不上时自动切到 `gh-proxy.com` 镜像,网络恢复后再切回直连;**没 VPN 也能用**:代理→直连→镜像→内置请求自动降级 - **一键启用/停用** — 卡片上直接启停插件,官方组件与市场自身受保护 - **装前冲突拦截 + 🩺 一键体检** — 两个市场互装、官方包劫持、挂载行/注册名重复会被直接拦截;一键体检报告冲突、依赖矛盾、缺失依赖 - **装前体检 + 安全扫描** — 每个候选装之前先体检(入口文件、构建产物、依赖写法、网络去向、系统兼容);安全扫描抓混淆、偷凭据、可疑外发,但只提示、不误杀;入口缺失/系统不支持这些客观硬伤才拦 - **一键检测 + 一键修复** — 一键查出网络/pnpm/入口/系统/历史报错等所有问题,能修的自动修(装 pnpm、启用插件、补依赖),修不了的写清楚怎么弄 - **稳,坏了能救** — 安装/卸载/启停失败自动回滚;每次成功后自动备份,装崩了按说明一条命令恢复 - **实时进度条** — 安装/更新/卸载显示在卡片上(百分比 + 实时计数),离开市场再回来进度也不丢 - **一键星标** — 自动复用本机 git 凭据给仓库点星;卡片标签与颜色图例、提示自动消失 - **自更新** — 插件市场自身有新版本时,标题旁边出现更新按钮 ## 安装 > ⚠️ **请用下面的命令安装,不要手动改任何 patch 文件。** > 直接把仓库地址丢给 AI、让它手动编辑 `cordis.patch.yml` 会导致 dsh 起不来:市场自带的 `plugin-market` 条目由 dsh 从随包补丁自动挂载,若再手动抄进两个地方(`app.asar.unpacked/cordis.patch.yml` 和 `~/.dsh/profiles//cordis.patch.yml`),id 重复,启动直接失败。如果 dsh 已经起不来,删掉你 profile 的 `cordis.patch.yml` 里手抄的 `plugin-market` 那条,再用下面的命令重装即可。 ### 从 GitHub 安装(发布后推荐) ```sh dsh plugin --profile web add github:mishibeikejie/zat-dsh-engine ``` ### 国内没有 VPN 时安装(走国内镜像,已实测可用) ```sh dsh plugin --profile web add https://gh-proxy.com/https://github.com/mishibeikejie/zat-dsh-engine.git ``` 两个命令任选其一,装的是同一个插件。装好之后,插件市场内部的搜索和安装自带镜像回退,不用再管网络问题。 ### 从本地目录安装 ```sh git clone https://github.com/mishibeikejie/zat-dsh-engine.git dsh plugin --profile web add ./zat-dsh-engine ``` ### 从 npm 安装(如果后续发布到 npm) ```sh dsh plugin --profile web add zat-dsh-engine ``` 如果你的 profile 不叫 `web`,把它换成你自己的 profile 名。 > 前置要求:已安装 dsh;PATH 里有 `pnpm` 和 `curl`;profile 已初始化(第一次 `dsh plugin add` 会自动创建)。 ## 使用 1. 安装后重启 dsh。 2. 打开网页界面 → **设置 → 插件**。 3. 点击插件列表右边的 **🛒 插件市场** 页签。 4. 浏览、搜索、按分类或安装状态筛选,点卡片上的 **安装**。 5. 重启 dsh 让安装的插件生效。 ## 更新 ```sh dsh plugin --profile web add github:mishibeikejie/zat-dsh-engine ``` 重新执行 `add` 即更新到最新版本。插件市场也会自动检测自身新版本,并在标题旁显示更新按钮。 ## 卸载 ```sh dsh plugin --profile web remove zat-dsh-engine ``` ## 常见问题 **「全部」视图最多显示 1000 个插件。** 这是 GitHub 搜索 API 对单次查询的硬上限。用搜索框或分类筛选可以找到任何一个插件,不受此限。 **为什么有的插件没有中文简介?** 插件内置了 999 条中文简介。快照之后新发布的插件保持英文简介——已移除现场翻译(DeepSeek 峰谷定价下,打开商店会对没缓存的新插件批量调用当前模型翻译,高峰时段会白烧大量余额)。 **镜像安全吗?** 只有直连 GitHub 失败时才走镜像,而且只拉取公开仓库的元数据。 **装了某个插件之后 dsh 起不来怎么办?** 市场每次成功安装/卸载/启停之后,都会把上一份可用状态自动备份到 profile 目录的 `zat-backup/` 文件夹。恢复只需把里面的三个文件复制回 profile 目录覆盖。 下面命令里的 `web` 就是你的 profile 名:**用网页版的人都是 `web`**(除非你启动 dsh 时专门用了别的名字;不确定的话,打开插件市场看底部那行「当前 profile:」,写的是啥就填啥): ```sh # Windows (PowerShell) Copy-Item "$HOME\.dsh\profiles\web\zat-backup\*" "$HOME\.dsh\profiles\web\" -Force # macOS / Linux cp ~/.dsh/profiles/web/zat-backup/* ~/.dsh/profiles/web/ ``` 然后重新启动 dsh。恢复的是"上一次成功操作"之后的状态,那个把你带崩的插件会被移除出启用名单,profile 可以正常启动。 **可以同时装两个市场类插件吗?** 不可以,安装时会被直接拦截:两个市场/管理器插件会注册相同的设置页和服务,互相覆盖甚至让 dsh 起不来。想换用另一个,先卸载当前这个。 **安装前会自动检查冲突吗?** 会。每次安装前,市场自动检查三件事:① 官方包(`@deepseek-ai/*`)是否被写成普通依赖(会装出第二份拷贝劫持官方 loader,硬拦截);② 挂载行 id 是否与已装插件重复(硬拦截);③ 共享依赖的大版本是否与已装版本矛盾(不拦截,但会在结果里提示风险)。工具栏的「🩺 一键检测」可以随时对全部已装插件做一次同样的体检,报告冲突、依赖矛盾、缺失 peer 依赖、停用状态等。 ## 权限与信任说明(安全审查视角) 这个市场本质上是一个**包管理器**,它的功能本身就要求一些强权限。任何安全审查都会看到下面这些行为,这里主动说明用途和边界: - **执行 shell 命令**:安装/更新/卸载插件就是跑 pnpm 命令。市场只执行自己拼装的 pnpm、curl、wget、powershell 命令;安装时 pnpm 会执行插件自己的 prepare/postinstall 脚本(所有包管理器的通用行为),市场会先扫描这些脚本,联网下载外部组件或高危模式会提前提示。 - **读取 git 凭据**:只用在这两处——给仓库点星、以及在市场里"设置 GitHub Token"。凭据只发往 api.github.com,不落盘、不进日志、不发往任何其他服务器。 - **gh-proxy.com 镜像**:仅当直连 GitHub 失败时作为备选通道,且只用于公开仓库元数据;装完插件之后,插件自己的网络行为与镜像无关。 - **读写 profile 文件**:安装/卸载/启停必须修改 profile 的 package.json 等文件;每次改动前自动备份到 `zat-backup/`,操作失败自动还原。 - **装前体检 + 安全扫描**:对每个候选和已装插件扫描结构、依赖、安全模式(混淆、偷凭据、可疑外发、系统修改),网络去向装前全部列明;安全项只提示不拦截,入口缺失/系统不支持等客观硬伤才拦。 以上每一项都是"为了让市场能工作"的最小权限集合;如果审查时看到某个具体行为有疑问,对照本节即可。 ## 更新日志 ### v0.7.0 - **修复更新按钮从不出现**:0.6.2 起手写 wire manifest 漏了可选参数 zhLocale,更新检查 RPC 每次都被网关拒绝且客户端静默吞错;现已补上,且 RPC 错误会在界面可见显示 ### v0.6.9 - **更新检查更快更醒目**:检查失败 10 秒后自动重试(不再干等 45 秒);切回市场页立即重查;检查成功时显示「已是最新 vX.Y.Z」 ### v0.6.8 - **更新检查自动重查**:市场页打开期间每 45 秒自动重查一次,新版发布后不用刷新,更新按钮也会自动出现 ### v0.6.7 - **兼容 ZAT 启动器内置工具链**:自动复用 %TEMP%\zat-tools 的 node / npm.cmd / PortableGit(存在才用),机器装没装工具都不影响安装 ### v0.6.6 - **修复自更新检查静默失败**:镜像返回 502/503 等网关错误时不再当"确定答案",自动走直连/代理回退;检查失败会显示可见提示,不再悄悄藏起更新按钮 - **界面显示当前市场版本号**:标题旁显示「vX.Y.Z」,一眼看出自己是不是最新版 ### v0.6.5 - **根治弹窗**:Windows 下所有命令调用(pnpm/git/curl/安装/更新)直接由 node 拉起并加 CREATE_NO_WINDOW,不创建任何控制台窗口,彻底不再闪窗 ### v0.6.4 - **修复安装弹窗**:执行安装/命令时不再弹出 PowerShell 窗口 - **没 VPN 也能装**:系统代理失效时自动清除并改走国内镜像,不再被死代理卡死 - **报错不再误导**:区分缺 git、网络/镜像/git 认证与真文件占用,不再误报"文件被占用" - **构建脚本与 node 自动处理**:pnpm 11 拦依赖构建脚本自动放行,无 node 机器自动用 dsh 自带 node,兼容 ZAT 启动器自举的 pnpm/node ### v0.6.3 - **对话管理只显示主对话**:子代理会话直接隐藏,不再出现在进行中/归档列表里 - **删除主对话级联删子代理**:删主对话时其所有子代理后代一并删除,不再产生删不掉的无主孤儿 ### v0.6.2 - **移除新插件自动中文翻译**:新插件保持英文简介,不再调用模型翻译,高峰时段不白烧余额 - **支持桌面封装端专属 profile**:安装/更新/卸载自动落到桌面端真正加载的 profile ### v0.6.1 - **移除误加的第三方主题依赖** `@deepseek-ai/dsh-client-ui-aqua`:它强制给每个安装塞进一个未审计的玻璃主题,还触发 pnpm 11 的 exotic-subdep 拦截;市场根本没用它,现在安装干净了 - **新增:手抄重复挂载行检测** — 体检会报出 profile 的 `cordis.patch.yml` 里、与插件自带补丁同 id 的 `insert` 行(就是"AI 把条目抄进两个 patch 文件"那种翻车),一键修复自动删掉重复行,dsh 又能起来了 - **安装警告** 写进 README:用 `dsh plugin add` 装,不要手改 patch 文件 ### v0.6.0 - **修复安装失败**:网络请求改成镜像优先 + 每条路 2~4 秒超时自动换路,代理断/超时不再把安装卡死;技能(skill)包也能一键装进 `~/.dsh/skills`;文件被占用/无权限的报错不再误报成"网络问题" - 「已安装」纯本地秒出(7ms),断网/断代理都不卡;装了插件后在「全部」列表里不再显示"安装"按钮(状态实时同步) - 进卡片详情再返回,列表停在原位置,不再跳回顶部 - 详情 README 加载失败 10 秒内给提示,不再无限转圈 - 技能安装后星数正确显示 ### v0.5.0 - 一键检测 + 一键修复:真查问题(网络/pnpm/入口文件/系统支持/历史报错),能修的自动修(装 pnpm、启用插件、补依赖),修不了的写清楚怎么手动弄 - 系统兼容:卡片显示「支持系统」(Windows/macOS/Linux),不支持的装前直接拦 - 分类搜索修复(不再 422)+ 搜索词加固(OR/符号/中文都正常)+ 被限流自动切镜像 - 装插件/更新走双镜像(gh-proxy + ghfast),没 VPN 也能用;更新三重兜底,不再误报降级 - 安全扫描只提示、不误杀(通知类插件不再被冤枉);报错全改一句话:出什么问题 + 怎么解决 - 纯 npm/本地装的插件在「已安装」里可见可管理、可查更新(查 npm 源)、可一键更新;装完和详情页显示「怎么用」 ### v0.4.4 - 修复:未登录 GitHub 时不再自动弹登录页;点星也不再强制跳转登录 - 修复:装插件直连 GitHub 失败时自动走国内镜像,没 VPN 也能装;pnpm 缺失时报错更清楚 - 新增:对话管理页拆成两栏,右侧「归档管理」单独列出已归档会话,可直接删除 - 修复:纯 npm/本地安装的插件(无仓库地址)现在也会在「已安装」里显示,可卸载/启停 - 修复:安装时若入口文件缺失(构建产物没提交)直接拦截,不再跑去 pnpm 报错 - 新增:卡片显示「支持系统」(Windows/macOS/Linux),新插件自动检测;不支持当前系统的插件在体检和安装时直接拦截 ### v0.4.3 - 新增:任意对话说出需求,AI 自动找插件,附装前体检 + 安全扫描结果 - 体检会查出:入口缺失、依赖写错、偷凭据、可疑外发等问题,❌ 的直接装不了 - 修复:不再误报"升级到旧版本" ### v0.4.2 - 修复:体检误报"装了多个市场插件"(同一插件被别名重复计数) - 修复:更新/安装时自动查找 pnpm(nvm、corepack、npm 全局安装都能找到) - 更新说明自动换行,不再超出界面 ### v0.4.1 - 新增「对话管理」页签(设置里 Agent预设 下面):列出全部会话(带标题),一键永久删除,运行中/子代理会话受保护 - 修复:中文或特殊字符搜索报 400 - 修复:更新按钮点击无反馈,现改为实时进度条 + 完成提示 - 修复:删除会话后侧边栏残留"未分组"条目 ### v0.4.0 - 一键启用/停用插件(卡片上直接操作,官方组件与市场自身受保护) - 安装前冲突拦截(两个市场互装、官方包劫持、挂载行/注册名重复)+ 🩺 一键体检 - 安装/卸载/启停自动回滚,失败自动还原;每次成功后自动备份,装崩了按说明一条命令恢复 - 卡片上的实时进度条(百分比 + pnpm 实时计数),安装状态离开市场再回来也不丢 - 无 VPN 可用:系统代理→直连→国内镜像→内置请求自动降级,镜像实测约 7MB/s - 已安装/可安装筛选直出全部结果、翻页去重 - 一键星标、卡片标签与颜色图例、提示自动消失 ## 赞助 如果 Zat-DSH Engine 帮你省了时间,欢迎支持作者: - GitHub Sponsors: 每一份支持都会用于维护目录数据、翻译和功能更新。 ## 许可证 [MIT](LICENSE)