@deepwhale-cn/dsh-ssh-console: A controlled SSH execution channel for agents

Maintained by feely0208, the DSH plugin `@deepwhale-cn/dsh-ssh-console` turns remote execution into a sidebar panel. The host whitelist is sourced from `~/.ssh/config`; by default, only aliases can be used, but this is relaxed to allow any `user@host` only if `DSH_SSH_ALLOW_ANY=1` is explicitly set. It uses `BatchMode=yes`, relying solely on keys and immediately erroring out if a password is required. When patterns such as `rm -rf /`, `mkfs`, `dd`, `shutdown`, `chmod 777`, force push, or `npm publish` are detected, a confirmation prompt is returned, and execution only proceeds if `confirm=true` is provided. Every execution, rejection, and pending confirmation is logged to `~/.dsh/ssh-console-audit.jsonl`. The panel displays the exit code, duration, stdout/stderr, and the last 20 audit entries. Installation command: `dsh plugin --profile web add @deepwhale-cn/dsh-ssh-console`. It is licensed under MIT, requires `dsh` version `>=0.1.0-rc.6 <0.3.0`, and `node >=18`. The text also clarifies boundaries such as that it is not a full terminal, does not preserve shell state, has a default timeout of 30 seconds (max 120 seconds), and that the audit logs are in plaintext JSONL format.

Read More