Repository navigation
DSH Remote Console 0.10.0 — Windows (experimental)
Windows support (experimental): the terminal and the agent tools now work on a platform whose OpenSSH has no ControlMaster, by falling back to the PTY channel.
Added
bin/dsh-ssh.mjs— a Node wrapper for platforms without bash. Same menu,--host,--targetand--ask-targetbehaviour and the same rendezvous file as the bash wrapper, but it does not pass-M/-S(Windows OpenSSH has no ControlMaster) and the rendezvous carries an empty socket.- Windows launchers are
node dsh-ssh.mjs --host|--target <spec>using the Node that ships with DSH (process.execPath), so no separate system Node is needed.wrapSpawnTerminalrecognises these terminals from the script path in argv. - PTY fallback channel: with no socket,
remote_exec,remote_upload/remote_downloadandremote_read_file/remote_write_fileautomatically use the same PTY — commands and data pass through the user's window, transfers go as base64 chunks capped at 1 MiB, and sha256 is still verified on both sides. remote_forwardreturnsFORWARD_UNAVAILABLEon this channel: there is no authenticated reusable connection to build a tunnel on.remote_statusand every tool output now statetransport: socket|pty, so nobody has to guess which path ran.- Tool descriptions explain the fallback, so the agent does not misread merged output as a native pipe.
Changed
- README (zh/en) gained a "Windows (experimental)" section;
docs/compat.mdmoves Windows from unsupported to experimental with a per-capability breakdown;SECURITY.mdupdates its known limitations.
Tests
tests/windows.test.mjs: Node wrapper (argument parsing, menu, adding a host, rendezvous with an empty socket, no-M/-S), node launcher shape, spawnTerminal recognition, and tools really running over the PTY fallback (write/read round trip, upload/download with sha256,transport: ptyin output,FORWARD_UNAVAILABLE).tests/pty-transport.test.mjs: chunked base64 write (>2 KB), append, read back, truncation, sha256 and the size cap over a live shell. 123 tests total.
Note
There is no Windows machine on the build host. The wrapper, channel selection, fallback tools and chunked I/O are verified through equivalent paths on Linux; real conpty rendering and line-length behaviour still need a device check, which is why this is marked experimental.
Install / update
- npm:
dsh-remote-console@0.10.0 - Plugin market index: https://cccodder.github.io/dsh-remote-console/market/index.json
- In DSH: 侧栏「插件」→ 卸载旧版 → 重新安装