dsh-enforce-package-manager
在终端中运行以下命令:
dsh plugin install acus9345/dsh-enforce-package-manager
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端执行 dsh plugin install acus9345/dsh-enforce-package-manager,从 https://github.com/acus9345/dsh-enforce-package-manager 安装;若用 web、headless 或 acp 等不同 profile,请在各自 profile 下各装一次。
插件介绍
Agent 写代码时经常随手敲 npm install 或 pip install,而仓库其实用的是 pnpm、uv 或 Poetry。结果是 lock 文件混用、依赖没写进 pyproject.toml,下次 sync 就丢包。这类错误不显眼,却会持续污染项目状态。
dsh-enforce-package-manager 会在执行前识别项目真正使用的包管理器:从命令工作目录向上查找,尊重 git 根目录边界;JavaScript 侧优先读 package.json 的 packageManager,再依据单一 lockfile 判断;Python 侧识别 uv、Poetry、PDM、Pipenv 等信号。若 Agent 用了错误的工具,命令会被拦截,并收到已翻译好的等价指令,模型通常下一轮就会照做。
它只处理会改动项目依赖的命令,npm run、npx、全局安装以及仅有 requirements.txt 时的 pip 会放行。yarn、bun、npm 与 poetry、pipenv、pdm 之间的常见 install、add、remove 及 workspace、prefix 等参数也会一并映射。
适合在 DeepSeek Harness 里让 coding agent 长期维护多栈仓库的团队与个人:少一份锁文件冲突,少一轮装上了但没进清单的排查。
使用场景
- pnpm 项目里 Agent 误跑 npm install 导致 lock 混用
- uv 或 Poetry 仓库中被 pip install 装包但未写入清单
- 需要在 monorepo 中把 npm workspace 命令自动译成 pnpm 或 yarn
适合人员
- 用 DeepSeek Harness 让 Agent 改真实代码库的开发者
- 同时维护 JavaScript 与 Python 依赖的团队
- 希望减少锁文件冲突与幽灵依赖的维护者