配置与版本固定

插件管理与配置更新于 2026-08-17 · 约 3 分钟阅读

profile 是什么#

DSH 用 profile 管理一套插件环境,插件之间通过 pnpm 管理依赖,对应的配置文件是 profile 目录下的 pnpm-workspace.yaml。绝大多数时候你不需要碰它,但有两种情况必须动手:构建脚本被拦截,以及锁定插件版本。

构建脚本被拦截怎么办#

从 GitHub 安装的插件可能带有安装期构建脚本(postinstall 等),pnpm 出于安全默认不会执行它们。首次安装这类插件时,可能安装不完整或直接报错。

解决办法是在 profile 的 pnpm-workspace.yaml 中把该包加入 allowBuilds 白名单:

allowBuilds:
  - <owner>/<name>

保存后重新执行安装命令即可。只允许你信任的来源,不要盲目放行所有仓库。

用 commit-sha 锁定版本#

安装命令支持在仓库名后追加 commit-sha,把插件固定到某个确定提交:

dsh plugin add github:<owner>/<name>#<commit-sha>

上游 DeepSeek Harness 目前处于 developer preview 阶段,官方明确提示会有不兼容变更,锁定一个验证过的提交可以有效防止某天更新后插件行为变化。

什么时候锁定,什么时候跟随最新#

建议锁定:

  • 生产或演示环境:稳定性优先,避免上游破坏性变更突然影响你
  • 团队协作:把每个插件的 commit-sha 写进团队文档或安装脚本,保证所有人版本一致;升级时先由一人验证,再统一更新锁定值
  • 排查问题:上游某次提交引入故障时,锁回上一个可用提交

可以跟随最新:

  • 个人尝鲜:想第一时间体验新功能,能接受偶发故障
  • 上游活跃且变动小:维护者稳定、更新谨慎的插件,跟随最新省去手动升级

拿不准时先锁定。锁定是保守默认值,需要新功能时再显式升级,比被上游变更偷袭好处理得多。

下一步#