@deepseek-ai/dsh-shell
@deepseek-ai/dsh-shell 是 dsh 的一个能力 seam:bash 执行器 seam(ctx.shell)。Windows 上由 dsh-pwsh-local 提供 PowerShell 实现。
这个包发布在 npm 上,当前版本 0.0.1-rc.5,安装位置是 $DSH_HOME/profiles/<名字> 的依赖列表。
安装
插件管理会把参数转发给 profile 目录里的 pnpm,这条命令的行为和 pnpm add 一致。
dsh plugin --profile web add @deepseek-ai/dsh-shell它在 profile 里做什么
bash 执行器 seam(ctx.shell)。Windows 上由 dsh-pwsh-local 提供 PowerShell 实现。当前版本 0.0.1-rc.5。想知道它是否已经在你的 profile 里,看 $DSH_HOME/profiles/<名字>/package.json 的依赖,或用 --dump-config 读合成后的树。
什么时候你需要关注这个包
症状是命令跑出去回不来,或者后台任务凭空消失。run(spec) 在命令结束时 resolve,只在基础设施故障时 reject——退出码非零是结果,不是失败。start(spec) 立刻返回一个 ShellProcess 句柄,不设超时。
移除或换掉它,什么会坏
删掉它,所有需要执行命令的工具都会失败。Windows 上随包 profile 根本不用这个包:windows.cordis.patch.yml 关掉 tool-bash,换成 PowerShell 执行器。所以“Windows 上 bash 坏了”通常只是这次替换,不是故障。
容易被混淆的那个包
它不是 dsh-jobs。执行器负责跑,jobs 负责跟踪。任务 id、归属、收集、取消、完成通知都属于 ctx.jobs。按会话覆盖沙箱模式走的是 sandbox/mode 事件和 effectiveSandboxMode(events) 折叠,不挂在 shell 调用上。
常见问题
装错了怎么卸掉?
用 dsh plugin --profile <名字> remove @deepseek-ai/dsh-shell,和装的时候对称。
版本不匹配会怎样?
插件通过 engines.dsh 或 DSH 的 peer 依赖声明兼容区间。不在区间内时命令行会跳过它并打印要求,而不是启动一个可能崩的组合。