athif23/dsh-shell-select ↗★ 0

dsh-shell-select

提供可配置且受限的Shell执行工具 适合需要让智能体在指定且安全的Shell环境中执行系统命令的用户。

包名
dsh-shell-select
兼容性
待验证
Harness 依赖范围
^0.1.6-alpha.1
Cordis 依赖范围
^4.0.2
版本
0.1.0
许可证
MIT
最近更新
2026年9月18日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:athif23/dsh-shell-select

Configuration

Settings live in ~/.dsh/settings.yaml under the shell-select namespace:

shell-select:
  shell: gitbash
  loginShell: false
SettingDefaultMeaning
shellautoA catalog id, or auto.
executableemptyExplicit path for the selected shell. Wins over discovery. A path that cannot be resolved, or that names a different shell, is an error rather than a cue to search.
loginShellfalseRun a bash-family shell with -l, which sources your profile scripts on every command.
wslDistroemptyWSL distribution name; empty uses the distribution's default.
wslMountRoot/mntWhere the distribution mounts Windows drives.
enableRunInBackgroundtrueOffer run_in_background on the shell tool.

The remaining fields are the inherited local executor's budgets, carried through so one composition row configures the whole executor: cwd, timeoutMs (120000), maxTimeoutMs (600000), maxOutputBytes (64000), maxSpillBytes (67108864), and graceMs (3000). pwshPath is the harness's own PowerShell path setting, still honored for the PowerShell entries so an existing value keeps working.

Automatic is the default because it reproduces what the deployment already does: the first catalog entry that resolves, which on Windows is PowerShell (what the harness's own executor runs) and on Linux follows a $SHELL that names a catalog entry. An explicit executable override changes the answer, because an override naming a shell claims that shell: setting executable to a bash.exe path while shell is auto runs that bash, with bash's arguments.

A settings change applies to subsequent calls. It never alters a call that is already being prepared, a running process, or the facts a finished call recorded.