DeepSeek Harness 插件市场点「安装」做了什么?插件安装的等价命令与落盘过程

概念与架构发布于 2026-10-01作者: DeepSeek Plugin 插件市场
DeepSeek HarnessDSH plugin插件市场插件安装profilenode_modules
在 DeepSeek Harness 插件市场点「安装」,后台执行的就是一条 dsh plugin add:pnpm 解析依赖、把包写进 $DSH_HOME 下 profile 的 node_modules,再更新依赖声明。本文讲清按钮与命令的对应、落盘结构,以及怎么手动复现同一步。

在 DeepSeek Harness 插件市场点一下「安装」,后台执行的就是一条 dsh plugin --profile web add <包名>:包管理器取包、写进该 profile 的 node_modules、再更新 profile 的依赖声明(来源)。 界面没有自己的一套机制,它只是把命令的输入、过程与结果做成了按钮和进度条(这里的插件,中文也常写作 DSH插件、DeepSeek插件)。这篇讲清按钮与命令的对应、落盘结构,以及怎么手动复现同一步。

插件市场的安装按钮,对应哪条命令

安装按钮的等价命令就是 dsh plugin --profile <名字> add <包名或仓库>,--profile 取的是你当前这个界面所属的 profile(来源)。 一次点击拆开是三件事:

步骤界面表现等价动作
解析目标弹窗显示插件名与来源add 的参数就是包名或 github:owner/repo
取包与解析依赖进度条推进包管理器从 registry 或来源拉包
写入并登记完成后进已安装列表写 node_modules,同时更新 package.json

所以「确认弹窗里那条命令」不是装饰——它就是本次点击真正要执行的内容。想自己复现,抄它即可。

DSH Plugin Hub 确认安装弹窗:展示插件名、来源仓库与将要执行的安装命令

DSH plugin 落盘过程:文件到底写进了哪里

落点是当前 profile 的 node_modules,完整路径为 $DSH_HOME/profiles/<名字>/node_modules;$DSH_HOME 取不到时默认 ~/.dsh(来源)。 四步看清结构:

  1. 看 profile 目录 — 执行 ls "$DSH_HOME/profiles/web"。预期:看到 package.json、配置文件与 node_modules 三样。
  2. 看顶层目录 — 执行 ls "$DSH_HOME/profiles/web/node_modules"。预期:顶层目录名对应已装插件包名,且大多是符号链接。
  3. 看真实文件 — 进入 node_modules/.pnpm。预期:包的真实内容按 <包名>@<版本> 分目录存放(来源)。
  4. 看依赖声明 — 打开该 profile 的 package.json。预期:插件写在 dependencies 里,dsh.profile.bundles 列出要激活的组合包。

一个容易误判的点:dsh 内置的组合包(base / web / headless)不从 profile 目录解析,它们在 profile 的 node_modules 里缺席属正常现象,不代表安装失败。位置细节见《DSH plugin 装在哪个目录》。

怎么手动复现插件市场那一次 DSH plugin 安装

复现方式就是把界面做的事在终端做一遍:抄下弹窗里的命令,带上正确的 --profile 执行。 四步:

  1. 先装好插件市场入口 — 执行 dsh plugin --profile web add dsh-plugin。预期:重启后设置页出现 DSH Plugin Hub 的插件市场。
  2. 在市场上选一个插件,点安装 — 打开设置 → 插件市场,找目标插件点「安装」。预期:确认弹窗出现,里面显示插件名、来源与将要执行的命令。
  3. 抄下命令到终端执行 — 把弹窗里的命令复制到终端运行,注意 --profile 与界面所属 profile 一致。预期:输出过程与界面进度一致,装完进已安装列表。
  4. 两处校验 — 执行 dsh plugin --profile web list,再回插件市场已安装列表核对。预期:两处都能看到该插件,版本一致。

命令本身的参数与退出码,见《dsh plugin add 命令怎么用》。

DSH Plugin Hub 插件市场

插件市场把「取包 → 写入 → 登记」三步可视化,命令行则把同一套流程交给你直接调用,两者操作的是同一份数据。

理解 DSH plugin 安装机制的注意事项与局限

  1. 界面不另立机制:插件市场的安装与命令行 add 是同一套实现,界面只是把过程与结果呈现出来。
  2. profile 决定落点:同一个插件装进不同 profile 是两份独立记录,界面与命令行看不到对方那一份。
  3. 符号链接不是快捷方式:顶层目录只是入口,改插件文件要认准 .pnpm 里的真实路径,否则会「改了不生效」。
  4. 内置组合包例外:base / web / headless 从本体解析,不进 profile 目录,看不到它们是设计如此。
  5. 装完要加载才生效:依赖已写入不等于已经激活,dsh.profile.bundles 与重启缺一不可。

机制清楚之后,按客户端选择入口更顺手,见《三个入口分别怎么安装插件》。DSH Plugin Hub 既是插件市场也是插件管理界面,已安装列表、更新检测与日志都收在里面。

来源:dsh CLI README(官方仓库)、打包与安装插件(官方文档)、pnpm 符号链接结构(官方文档)、dshplugin/dsh-plugin-hub

常见问题

在 DeepSeek Harness 插件市场点一下安装,到底执行了什么?

**在 DeepSeek Harness 插件市场点一下安装,等价于在终端执行一条 dsh plugin add 命令**。插件市场的安装按钮会在后台调用 dsh 的插件安装流程,把你要装的那个包写进当前界面所属的 profile;确认弹窗里显示的那条命令,就是它真正要跑的东西。

插件市场里的安装和命令行 add 是同一套实现吗?

**插件市场的安装与命令行 add 装 DSH plugin 是同一套实现,只是入口不同**。DSH plugin 的安装逻辑只有一个:解析目标、交给包管理器取包、写进 profile 目录并更新依赖声明。插件市场把这个过程做成按钮并显示进度,命令行则把同样的过程暴露给你直接调用。

在插件市场点完安装后,DSH plugin 的文件写到哪里去了?为什么目录里是符号链接?

**装好的 DSH plugin 文件写进 $DSH_HOME/profiles/<名字>/node_modules**。这是 pnpm 的标准结构:包的真实内容按 <包名>@<版本> 放在 node_modules/.pnpm 里,顶层只保留指向它的符号链接,所以看起来像一堆快捷方式,实际文件在虚拟存储中。

想在终端手动复现插件市场点「安装」那一下,具体该怎么操作?

**手动复现 DSH plugin 安装,先抄下确认弹窗里的命令,再到终端执行同一条**。在 DSH Plugin Hub 的设置 → 插件市场点安装,确认弹窗会显示将要执行的插件安装命令;把它复制到终端,带上正确的 --profile 参数运行,就能得到与界面点击完全一致的结果。

为什么插件市场显示装好了,但我的 dsh 里看不到这个插件?

**插件市场显示装好、dsh 里却看不到这个 DSH plugin,是因为你看的是另一个 profile**。插件按 profile 隔离,DeepSeek Harness 插件市场操作的是当前界面所属 profile,而终端里跑的命令可能带的是别的 --profile 值;两个 profile 的已安装列表互不相通,先对齐 profile 再判断是否装好。

相关术语

插件市场
插件市场是 DeepSeek Harness Web UI 内置的插件收录与安装入口,位于「设置 → 插件市场」。它的安装按钮不另立一套机制,而是调用 dsh 的插件安装命令,并把过程与结果可视化。— dshplugin/dsh-plugin-hub GitHub 仓库
profile 目录
profile 目录是 DeepSeek Harness 中单个运行栈的落盘位置,位于 $DSH_HOME/profiles/<名字>,内含 package.json、配置文件与 node_modules。插件安装的最终落点就在这里。— dsh CLI README
node_modules/.pnpm
node_modules/.pnpm 是 pnpm 的虚拟存储目录,包的真实内容按 <包名>@<版本> 分目录存放,node_modules 顶层只保留指向它的符号链接。判断插件文件是否存在要进这里看。— pnpm 官方文档
dsh.profile.bundles
dsh.profile.bundles 是 profile 的 package.json 中的加载声明,按顺序列出该 profile 要激活的组合包。它与 dependencies 一起决定插件装完之后是否真的被加载。— dsh CLI README

来源