xiazhicheng/dsh-remote-retry-llm-plugin ↗★ 0

dsh-remote-retry-llm-plugin

提供支持LLM重试的SSH远程开发工具 适合在不稳定或受限的远程网络下进行SSH开发与文件操作。

包名
dsh-remote-retry-llm-plugin
兼容性
待验证
Harness 依赖范围
^0.1.7-rc.2
Cordis 依赖范围
~4.0.4
版本
0.1.0
许可证
Apache-2.0
最近更新
2026年9月25日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:xiazhicheng/dsh-remote-retry-llm-plugin

Example usage

Agent: ssh-exec { command: "ls -la /home/user/project" }
→ { stdout: "total 48\ndrwxr-xr-x ...", stderr: "", exitCode: 0 }

Agent: ssh-read { path: "/home/user/project/config.yaml" }
→ { content: "host: ...\nport: 22", path: "/home/user/project/config.yaml" }

Agent: ssh-write { path: "/home/user/project/README.md", content: "# My Project" }
→ { success: true, path: "/home/user/project/README.md" }

The SSH connection is established lazily on first tool call and cached for the plugin's lifetime; a failed or timed-out call drops the connection so the next call reconnects. Connection parameters come from the plugin config (see below):

  • identityFile — private key path (~ is expanded); when set, key auth is used.
  • password — used when no identityFile is set. Both password and keyboard-interactive are offered, so PAM/AD-backed servers (which commonly advertise only keyboard-interactive) log in exactly like ssh(1) does.
  • neither — SSH_AUTH_SOCK (ssh-agent) when available, otherwise the default ~/.ssh/id_ed25519, id_ecdsa, id_rsa keys.
  • username — defaults to $USER.

remoteDir is the default remote working directory: ssh-exec runs commands as cd '' && , and ssh-read/ssh-write resolve relative paths against it (absolute paths and ~ are used as-is).

The plugin talks SSH directly through ssh2, so it does not read ~/.ssh/config. Put the host, port, username, and key in the plugin config instead; a Host alias from your ssh config will not resolve.