dsh-remote-shell
v0.1.0
Published
DSH plugin bundling the remote-shell skill: secure SSH/SFTP/Telnet/WinRM remote operations with an encrypted credential vault.
Maintainers
Readme
dsh-remote-shell
DSH(DeepSeek Harness)插件,打包 remote-shell 技能:安全的 SSH / SFTP / Telnet / WinRM 远程操作,内置加密凭证库(Fernet + PBKDF2-HMAC-SHA256)。
English version: README.md。
安装
从 npm 注册表(发布后):
dsh plugin --profile web add dsh-remote-shell从本地检出(开发 / 测试):
dsh plugin --profile web add /path/to/dsh-remote-shell安装后重启 dsh web 使插件生效。技能会以 remote-shell 出现在技能目录中(provider dsh-remote-shell,source bundled)。
功能
打包的技能提供:
- 远程命令执行(SSH / WinRM / Telnet):单条命令、批量执行、脚本执行、远程系统信息、健康检查。
- SFTP 文件传输:上传、下载、目录遍历。
- 加密凭证库:登录/执行脚本不接受明文密码(无
-p参数),强制从加密凭证库取用;使用credctl录入、查询、修改、删除凭证。 - 安全拦截:修改类命令默认被拦截,需用户确认后以
--auto-confirm执行。
工作原理
本插件是一个 Cordis 插件,注入单个技能提供方。加载时扫描打包的 skills/ 目录中的 SKILL.md 文件,解析每个文件的 YAML frontmatter,并以 rank 600、source bundled 注册到宿主技能注册表。提供方是不可变的:不做文件监听或轮询;缺失或格式错误的技能会优雅降级(跳过,绝不抛错)。
行尾策略
打包的技能文件从源技能逐字节复制,而源技能使用混合行尾。.gitattributes 将每个文件钉住到其源行尾,使任何 core.autocrlf 设置下的检出都能精确复现源字节。SKILL.md 钉为 LF,因为提供方的 frontmatter 检测要求精确的 --- 行——CRLF 检出会使提供方完全跳过该技能。
开发
运行单元测试(Node.js 内置测试运行器,无需额外工具):
node --test依赖
技能脚本为 Python 3,需要 paramiko(SSH/SFTP)、pywinrm(WinRM)等第三方库,首次使用时按技能 SKILL.md 中的指引安装。
安全声明
安装本插件即会在本机运行第三方代码。凭证库主密码由用户自行管理,插件不存储、不传输该密码。
许可
MIT — 见 LICENSE。
