dsh怎么安装插件?DeepSeek Harness 安装 DSH plugin 的三种入口

安装与快速上手发布于 2026-10-13作者: DeepSeek Plugin 插件市场
DSH pluginDeepSeek Harnessdsh怎么安装插件插件安装插件市场
dsh 怎么安装插件?DeepSeek Harness 装 DSH plugin 有三条入口:DSH Plugin Hub 插件市场点着装、命令行 dsh plugin --profile web add 装、本地目录或离线包装;本文给出每条入口的步骤、profile 归属与装完验证。

装 DSH plugin 有三条入口:在 DSH Plugin Hub 的插件市场点着装、用命令行 dsh plugin --profile web add 装、以及从本地目录或离线包装——按「有没有界面、要不要联网」三选一即可。

DSH plugin 安装概览

本文用一张「三入口速选卡」回答 dsh 怎么安装插件:要省事就从市场点着装,要灵活就用命令行,要抗网就从本地/离线装。 DeepSeek Harness 是「一切皆插件」的架构,所谓「装插件」,本质是把某个插件作为依赖装进当前 profile 目录(默认 ~/.dsh/profiles/web),下次启动再由插件树加载它(来源)。还没跑通本体的先看《DeepSeek Harness 怎么安装》。三条入口的差别先看这张速选卡:

入口适合谁前置条件装完怎么生效
市场安装(DSH Plugin Hub)想少记命令、要可视化已装 Hub、能联网重启 dsh web
命令行安装(dsh plugin add)已知包名 / Git 地址、要写脚本终端 + pnpm重启 dsh web
本地 / 离线安装内网、无外网、自改源码本地目录或离线包重启 dsh web

一句话总结:能上网又怕麻烦,用市场;能上网且要精确控制,用命令行;不能上网,用本地/离线。 三条路最后都落到同一个动作——把依赖写进某个 profile 的目录,然后重启让它挂载。

入口一:从 DSH Plugin Hub 插件市场点着装

从 DSH Plugin Hub 装插件全程不敲命令,四条操作走完:打开市场 → 搜索或筛分类 → 点「安装」→ 确认弹窗点「直接安装」。 它的目录与 dsh-plugin.org 同源,当前收录 10000+ 社区插件(来源)。按顺序来:

  1. 打开「插件市场」 — 在界面侧边栏进入 DSH Plugin Hub,它默认停在「插件市场」。预期:插件卡片列表加载完成,顶部有搜索框与收录数量。
  2. 搜索或按分类收窄 — 搜索覆盖插件名、描述、标签三类字段,输入插件名或仓库名最准。预期:列表实时收窄,结果条数显示在列表上方。
  3. 点目标卡片的「安装」 — 此刻还没开始装,只是弹确认。预期:弹出「确认安装」弹窗;之前装过的会显示「已安装」,走更新语义。
  4. 在确认弹窗核对三项再点「直接安装」 — 核对插件名、来源仓库、将执行的安装命令,读完再点。预期:弹窗切到实时进度并逐行打印输出;点「取消」就不会发出任何安装请求。
  5. 按提示重启宿主 — 结果弹窗给「立即重启 / 稍后重启」两个选择。预期:重启后插件能力出现,状态点转为运行中。

挑 DeepSeek插件 时先看卡片上的兼容状态(verified / unconfirmed)与最近更新时间,再决定装不装。Hub 还顺带把「装完之后」管起来:通知中心记录每次安装、更新的成功与失败,失败可一键提交 Issue;已安装列表集中管理当前 profile 的全部插件,支持搜索、来源筛选、更新与卸载。这条路每一步的点击路径与确认弹窗逐项说明,见《DeepSeek Harness 插件怎么安装?最短路径》。

入口二:命令行 dsh plugin add 安装(profile 归属)

命令行的统一写法是 dsh plugin --profile <name> add <包名或 Git 地址>,它把 --profile 之后的参数原样转发给该 profile 目录里的 pnpm 来安装(来源)。 关键在「profile 归属」:web 是 Web UI 正在用的那个 profile,headless 是无界面模式,装进哪个就只影响哪个,互不干扰。按顺序操作:

  1. 先启动一次,让 profile 初始化 — 执行 npx @deepseek-ai/dsh web。预期:首次启动会自动从内置模板生成 web profile(目录 ~/.dsh/profiles/web)。
  2. 装 npm 包 — 执行 dsh plugin --profile web add dsh-plugin。预期:终端出现 pnpm 的 added 输出,依赖写入 profile 的 package.json。
  3. 装 GitHub 仓库 — 执行 dsh plugin --profile web add github:<owner>/<repo>。预期:从 git 源拉取并安装,输出与上一步同类。
  4. 验证依赖真的进来了 — 执行 dsh plugin --profile web why <包名>。预期:打印该包的依赖链,确认它不是被别的东西间接带入的。
  5. 重启 dsh web — 命令行装进去的 DSH插件 同样要重启宿主才挂载。预期:插件提供的工具或界面入口出现。
bash
# 装 npm 包
dsh plugin --profile web add dsh-plugin
# 装 GitHub 仓库
dsh plugin --profile web add github:<owner>/<repo>
# 确认某个依赖为什么被装进来
dsh plugin --profile web why dsh-plugin

为什么要有 --profile?因为 DeepSeek Harness 把「配置 + 插件」按 profile 隔离:一个 profile = 一套 bundle 补丁层 + 自己的 node_modules,你在哪个目录启动 dsh,它就以那个目录为默认工作区根。所以同一个插件想在 Web 与无界面模式都用,就要分别装上。命令的语法细节、动作词位置与真实插件示例,见《DSH plugin 怎么安装?dsh plugin add 命令》。

入口三:本地目录与离线安装(无外网也能装)

当插件是你自己 checkout 的源码,或机器连不上 npm / GitHub 时,走本地目录与离线包:相对路径(.、../plugin 及 file:/link: 形式)会先锚定到执行命令的目录,add . 装的就是你手里这份,而不是同名的线上包(来源)。 按顺序:

  1. 进入插件源码目录 — 执行 cd ~/code/my-plugin。预期:pwd 指向该目录。
  2. 装当前目录这份 — 执行 dsh plugin --profile web add .。预期:pnpm 以本地路径安装,装的是你正在改的这份源码,而不是线上同名包。
  3. 用 file: / link: 引用同级目录 — 执行 dsh plugin --profile web add file:../my-plugin。预期:按文件或软链引用,本地改动能直接反映到 profile。
  4. 切到离线方式 — 无外网时改用离线包或内网 npm 源,避免任何公网请求。预期:安装过程不访问公网,安装照常成功。

为什么单独留一条路?因为内网开发、插件自改、以及 CI 复现都需要绕开公网:本地目录让你边改边试,离线包让封闭网络也能批量装机。两个细讲见《本地目录安装》与《离线安装》。

使用 DSH plugin 的注意事项与局限

  1. 装进哪个 profile 就只属于哪个 profile — 在 web 里装的插件不会带到 headless,换 profile 要重装一次。
  2. 大多要重启才生效 — 文件已经写进 profile,但插件树要下次启动才加载它;重启不会丢文件,只是让它被加载。
  3. git 源码插件首次 add 可能失败 — pnpm ≥10 默认不放行 git 依赖的构建脚本,按提示把 allowBuilds key 复制到 profile 的 pnpm-workspace.yaml 再重跑。
  4. 安装等于执行第三方代码 — 插件装进来就在你的机器上执行,装前读一遍来源仓库,来源不明的别装。
  5. 三条入口不要混着重装 — 同一个插件别既从市场装又从命令行装,容易造成版本漂移;以已安装列表里的版本为准。
  6. 版本会变 — DeepSeek Harness 处于开发者预览阶段,官方明确未来会有破坏兼容性的变更(来源),界面文案与命令都以当前版本为准。

与其每次翻文档、对着包名手敲 dsh plugin add 再自己逐项核对来源,不如用 DSH Plugin Hub 的插件市场:搜索、一键安装、确认弹窗与已安装管理都收在一个界面里。

确认安装

来源:dsh CLI README、dsh CLI behavior reference、dshplugin/dsh-plugin-hub

常见问题

dsh 怎么安装插件?从插件市场点着装和用命令行装,到底有什么区别?

dsh 安装插件的两条路分别是图形化插件市场和命令行:市场在 DSH Plugin Hub 里点「安装」并在确认弹窗确认,命令行则执行 dsh plugin --profile web add <包名>。功能上等价,区别是市场不用记命令、还能可视化管已装插件,命令行更适合已知包名或要写脚本自动化的场景。

dsh plugin --profile web add 后面跟什么?插件到底装进了哪个目录?

dsh plugin --profile web add 后面跟插件包名或 GitHub 地址,命令会把参数转发给 profile 目录里的 pnpm,装进 ~/.dsh/profiles/web。装到哪个 profile 就只影响哪个环境,web 与 headless 各自独立,profile 归属完全由 --profile 决定。

没有外网、内网机器上怎么给 DeepSeek Harness 安装 DSH plugin?

没有外网时走本地目录或离线包:把插件源码放到机器上,在源码目录里执行 dsh plugin --profile web add . ,相对路径会锚定到当前目录、装的就是本地这份。离线包同理改用 file: 引用或内网 npm 源,全程不访问公网。

为什么 dsh 安装插件之后没生效?到底要不要重启 DeepSeek Harness?

dsh 安装插件后大多要重启宿主才会挂载,因为插件要等下次启动才被插件树加载。装完重启 dsh web,界面类插件会改 UI、工具类插件会出现在工具列表;如果没变化,先确认插件标注的兼容版本,再用 dsh plugin --profile web why <包名> 看依赖是否真的进了 profile。

从 GitHub 装插件报 allowBuilds 错误,DeepSeek Harness 里该怎么处理?

这是 pnpm ≥10 默认不放行 git 依赖构建脚本导致的:git 源码插件安装时要跑 prepare,pnpm 会提示把 allowBuilds key 复制到 profile 目录的 pnpm-workspace.yaml,复制后再重跑 dsh plugin --profile web add 即可,或者改装该插件对应的 npm 包版本。

相关术语

DSH plugin
DSH plugin 是安装进 DeepSeek Harness 某个 profile、为其扩展能力的最小单元,以 npm 包或 GitHub 仓库形式分发,通过 dsh plugin add 装入 profile 目录。— dsh CLI README
profile
profile 是 DeepSeek Harness 插件 bundle 补丁层的有序堆叠,存放在 $DSH_HOME/profiles/<name>;装插件时 --profile 决定装进哪个 profile,web 与 headless 各自独立。— dsh CLI README
dsh plugin add
dsh plugin add 是 DeepSeek Harness 安装插件的子命令,写法为 dsh plugin --profile <name> add <包名或 Git 地址>,它把参数转发给 profile 目录里的 pnpm 完成安装。— dsh CLI behavior reference
$DSH_HOME
$DSH_HOME 是 DeepSeek Harness 的用户数据根目录,默认 ~/.dsh,profile 及其已装插件都放在 $DSH_HOME/profiles/<name> 下。— dsh CLI README

来源