{"_id":"@captain1275/dsh-ssh","_rev":"13-f7b3496dd243819246ee022487d7313c","name":"@captain1275/dsh-ssh","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.12":{"name":"@captain1275/dsh-ssh","version":"0.1.12","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.1.12","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"e6ad4cddfca42c1077f80542cf61bf6e8e157b55","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.1.12.tgz","fileCount":54,"integrity":"sha512-OOhmIbXrJBbGF+ReShN2w216hNTyQdrlBJh45fdrnm/kFCum3B1fuKqq1nLpZcwJmquDavrs7GgJ+h3ggYAtnw==","signatures":[{"sig":"MEUCICJjrRqwzuXdmDcPTKTGySsebIyUJGm8VPlxhnwXLOONAiEAthGbx0gPk0C+IzrjTtV2gJDSVdznTQiuLFWMMjPN5EI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304355},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/zhu1090093659/dsh-web-ui.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.1.12_1786720741784_0.05881627330563144","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@captain1275/dsh-ssh","version":"0.2.0","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.0","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"f1ef543a52177a97fd6dd360be4654c9745a7cab","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.0.tgz","fileCount":54,"integrity":"sha512-thSSPYbz8OhXY7tUII1+1wp2w60msHMguR7TQCdcWBV9MLmAZgnVdCsEvp8GHMo8slCgWefOaEBv6wFzJR8Y7g==","signatures":[{"sig":"MEYCIQCLzmZrHsDOz3Eq+APj0e6u0r0rXKByfHJi1UBxVbvHBwIhAKNm1+lx73QFlAkDn6KZ53XRUq1Ju7wlqPu+qd3jfGUn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.0_1786730985308_0.7838646663892856","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@captain1275/dsh-ssh","version":"0.2.1","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.1","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"2c8c7e547f6ff962b7829bb5c05204d70736d88c","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.1.tgz","fileCount":54,"integrity":"sha512-noSNebdlTH0l8InSG63BqPNaSrniuPnaEyVzhH1unX6xVzpyl6lklda+T9m5LbFRYEKwy6W8MkWrBhAa3C3Qhw==","signatures":[{"sig":"MEUCIBDA8Nnv78O7Hq8887kksInJfuImMcfPROcQJHOb/R6TAiEA75nwOhWObPPk22MP0juCxN/psC7FUndATQScX9DsOWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.1_1786732011396_0.9820679535065513","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@captain1275/dsh-ssh","version":"0.2.2","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.2","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"9467e11fd9768829681d66d8d95c5dcd9f840a77","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.2.tgz","fileCount":54,"integrity":"sha512-tfyio+ccpJ0lgWfOIaJK60GhjZcJ9XdUqNFDspf/5JRysbGhVKrxIG+JmK8OSVURgDxNol3v8gv8ESG4k+Aptg==","signatures":[{"sig":"MEUCIQCcJXfqfEWKwmW2P7nsLjkB7EKMo+4N1u6W2572CDp8QwIgLQ9LX16UjzSE5SaKWRhYuK2xClwf+Zwm0Ao15EXrlss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.2_1786778355306_0.3863124461765002","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@captain1275/dsh-ssh","version":"0.2.3","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.3","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"01466c43f7af0f81003184a61daced63198b7db4","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.3.tgz","fileCount":54,"integrity":"sha512-xb+27bqyCgaLRVrZkAxmCeze58zttVpKE91z0ej1CT+JIySByLhwMyGWQTOOztkrSGV05yps52sAXFiinVq0ag==","signatures":[{"sig":"MEUCIHFST6QIN6OY+OTZiRE77fx0ktzmJB7VWc6OLgKVPgK+AiEA0UaXtBc0VpqkeGFEbjawdLhJq9DoDZAhThGZJYWsORc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.3_1786795117599_0.3231320645983009","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@captain1275/dsh-ssh","version":"0.2.4","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.4","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"5a81b262e7107ca8ea2f2dcc25a44497ad8ffbe7","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.4.tgz","fileCount":54,"integrity":"sha512-6c+K0lmQVcEapEYs9//fETQA5oEtmeTYpxWzgsCRpjoNJ0Vg3Ekg91W1sr7PZoHwbJlj4T2hiXrJL17BJTN4OA==","signatures":[{"sig":"MEUCIBtbrlUQRwW8iVgPA42FbAa/ECndpEda7TB7I6ck80LXAiEA0BGX20GJ3GZ0o/puY1Qk7MmGIa1iHuxPWx90/eNOeLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.4_1786824494579_0.36818156715575845","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@captain1275/dsh-ssh","version":"0.2.5","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.5","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"96f8daa569894e7d42eadf5e125ac789a19e37fb","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.5.tgz","fileCount":54,"integrity":"sha512-JJZTPn4OscRx9nJF6azK8NmAArNC+OZRrurgJZ9hfdagQSN/Wxi6B6YuVtAGbNd9/MiCIyEGPsRveDz8TMA8bA==","signatures":[{"sig":"MEYCIQCfcwEcZJp1vW9jFXOB38IC2f1uvjDFZT/STdfF/SBARAIhAO+wYJkDvGQ0GbAVjFx8X4ggnaCIhXKzeig2PFGuVJax","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.5_1786889493480_0.1037448333547355","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@captain1275/dsh-ssh","version":"0.2.6","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.6","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"8b058684b0e66b02eb38d4057912877877d9e42c","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.6.tgz","fileCount":54,"integrity":"sha512-Nu+oJhxxoDtKKi3l8UIxFeyE5atnPQ1ggkw+b1Jj0bhp4oFkYaLiHe6Aj8fa6UyJ9e+er0xr6sZaWG1ya0pN0g==","signatures":[{"sig":"MEYCIQCViqxxTcUZgtI7FmVNgVAzK2cYFmticxrzNxWukbZxDAIhAOYlSuaiZhNcr87tdgIfNQ6OX3CAkne/j6x/SBZpAbVE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.6_1786899649135_0.02844985995026672","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@captain1275/dsh-ssh","version":"0.2.7","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.7","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"57d6e57c00b23b1f99d49c2a6097510faad8e227","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.7.tgz","fileCount":54,"integrity":"sha512-jzJrxq3mjfm8GWqRjgt9pySi6fy3DWy08nbcq23yA41+2jrMctYgiZkg0iDDorxMlti+Clv3EJLCbRMLR8k9IQ==","signatures":[{"sig":"MEUCIQDKrz3ouPnC0xz7yi8Sa8pr/shIccF183NGqn4sD2vAwgIgFe382uRYzvBL35cS/Le8BK87PFYZVefCSnU/V/L1IXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.7_1786901069214_0.31629844998762824","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@captain1275/dsh-ssh","version":"0.2.8","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.8","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"12ba71419eb275896824c34e67eb3f2380c34817","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.8.tgz","fileCount":54,"integrity":"sha512-D3zdtXIkfJGi0gNOQlwLRC26y5TLhofBGjpa6qYThDuC5MMgGl+JTVpZICinrBhAIat753IHTYBtKVODSnXeWw==","signatures":[{"sig":"MEMCIAFsDF+nb5f3fhOGsdoIS5Wh6aQeIYlP20CmqEOr6mB1Ah8X+ciUTx+49XryMGViKEovvosS+opzQI9ViMyQdBPR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.8_1786902365407_0.6996262444193448","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@captain1275/dsh-ssh","version":"0.2.9","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.2.9","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"5124cd14e537e69d98cbaecf80a2f5952a7a589d","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.2.9.tgz","fileCount":54,"integrity":"sha512-5HeGaQrctJePuEHAKEjDaB8J53gXIsU5obbrn83RC79Vc3Da5aVg5/2FTTszwCTJEsFSBdszgm6jydnrIN6Baw==","signatures":[{"sig":"MEUCIEtgOg+cZ1QT2BHgfZ+8MhE5Ey6ThANyU5521PYl83JtAiEA/EIffQbq7qncV2k9c42QmGJzl3SXS2NUBjlYFB/MB7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-system-prompt":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-system-prompt":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.2.9_1787408302271_0.8405985500671169","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@captain1275/dsh-ssh","version":"0.3.0","license":"Apache-2.0","_id":"@captain1275/dsh-ssh@0.3.0","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"953e39106debe7ab03259d08a168f121db61711e","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.3.0.tgz","fileCount":54,"integrity":"sha512-x2IR/o5xldZHSBMyIg2tR2gHp03ymB67Ip6IDUtxgoJ3H3twrkymUtxgxTP7P5T/TWRWc+OiOnKC+mykx5A1TQ==","signatures":[{"sig":"MEYCIQD4cp12G9zFIOJ9QHrgbtw9vTdRsDsjCPxYZczulXlrIQIhALdHgPLwxjbpgogpy07WRpgE0lBihml7dOysUaVRrNPu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2304352},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ssh2":"^1.17.0","@xterm/xterm":"^6.0.0","@xterm/addon-fit":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","@types/ws":"^8.5.13","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/ssh2":"^1.15.5","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-system-prompt":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-system-prompt":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ssh_0.3.0_1787410797800_0.6523100216809887","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@captain1275/dsh-ssh","description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","version":"0.3.1","type":"module","engines":{"node":"^22.19.0 || >=24.0.0"},"main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dependencies":{"@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ssh2":"^1.17.0","ws":"^8.18.0"},"peerDependencies":{"@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-system-prompt":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-llm":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-system-prompt":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@types/node":"^22.20.0","@types/react":"~18.3.1","@types/react-dom":"^18.3.5","@types/ssh2":"^1.15.5","@types/ws":"^8.5.13","jsdom":"^25.0.0","lightningcss":"1.32.0","react":"^18.3.1","react-dom":"^18.3.1","schemastery":"^3.18.0","tsdown":"0.22.2","typescript":"~5.7.2","vitest":"^3.0.0"},"license":"Apache-2.0","repository":{"type":"git","url":"https://github.com/CAPTAIN1275/dsh-ui-web.git"},"scripts":{"build":"tsc -p tsconfig.build.json && tsdown","bundle":"tsdown","watch":"tsdown --watch","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest"},"_nodeVersion":"24.18.0","_id":"@captain1275/dsh-ssh@0.3.1","dist":{"integrity":"sha512-UKLHw/+I0LfNct3dn7QNieeXrQOMnulfzDhvsvaNcEjAbV2BSkcowHqYt2TAxaalLDFx7GeHsIoE5jsxfch6vQ==","shasum":"69c2f2181930e0a91c3f39ddf496616bd470d2d9","tarball":"https://registry.npmjs.org/@captain1275/dsh-ssh/-/dsh-ssh-0.3.1.tgz","fileCount":54,"unpackedSize":2304352,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDd3ehP3wMLMJ6wozqkcCh6OLUHI5/tbz18K9gJLFLDBAiBS2+g1GRS7drIvyXtWaMEIqmDw4pqeV49hraPpSIdSgQ=="}]},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"directories":{},"maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-ssh_0.3.1_1787429156946_0.9306095934777205"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-14T15:19:01.609Z","modified":"2026-08-22T20:05:57.271Z","0.1.12":"2026-08-14T15:19:02.019Z","0.2.0":"2026-08-14T18:09:45.474Z","0.2.1":"2026-08-14T18:26:51.547Z","0.2.2":"2026-08-15T07:19:15.499Z","0.2.3":"2026-08-15T11:58:37.779Z","0.2.4":"2026-08-15T20:08:14.805Z","0.2.5":"2026-08-16T14:11:33.646Z","0.2.6":"2026-08-16T17:00:49.290Z","0.2.7":"2026-08-16T17:24:29.377Z","0.2.8":"2026-08-16T17:46:05.570Z","0.2.9":"2026-08-22T14:18:22.412Z","0.3.0":"2026-08-22T14:59:57.959Z","0.3.1":"2026-08-22T20:05:57.122Z"},"license":"Apache-2.0","repository":{"type":"git","url":"https://github.com/CAPTAIN1275/dsh-ui-web.git"},"description":"Remote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"readme":"# dsh-ssh — 远程 SSH 运维插件（DSH 版 ssh-skill）\n\n基于 [badseal/ssh-skill](https://github.com/badseal/ssh-skill) 的能力清单，为\nDeepSeek Harness（DSH）定制的远程 SSH 插件：Host 进程内的持久连接池 + Web GUI\n主机管理面板 + Web 终端 + Agent 工具，全部通过官方 NPM SDK 实现，不修改 DSH\n源码。\n\n## 能力\n\n| 能力 | 说明 |\n| --- | --- |\n| 主机管理 | 增删改查、搜索、连接测试；配置存 `~/.dsh/dsh-ssh.json`；支持密钥 / 密码认证、passphrase 密钥、ProxyJump 跳板机（多级） |\n| 配置导入 | 一键解析标准 `~/.ssh/config`（Host/HostName/User/Port/IdentityFile/ProxyJump 等），已有别名自动跳过 |\n| 持久连接池 | 每台主机复用长连接（对应 ssh-skill 的守护进程），空闲 30 分钟自动断开，断线自动重连（最多 3 次） |\n| 命令执行 | exec 带超时（默认 60s），stdout/stderr 分离，输出截断保护（2MB） |\n| Web 终端 | xterm.js + WebSocket PTY 终端，自适应尺寸，实时输出 |\n| 文件传输 | SFTP 上传（浏览器选文件，NDJSON 进度流）、下载（进度条 + 浏览器保存）；远程目录浏览 |\n| 端口转发 | 本地端口转发隧道（仅监听 127.0.0.1），访问远程数据库 / 内网服务，支持列表 / 停止 |\n| 集群执行 | 一条命令并发跑多台主机（按别名 / 环境 / 标签过滤，默认并发 8） |\n| Agent 工具 | `ssh_list` / `ssh_exec` / `ssh_upload` / `ssh_download` / `ssh_tunnel` / `ssh_cluster`，GUI 与 Agent 共享同一份主机配置 |\n\n## 安全模型\n\n- 所有 `/api/dsh-ssh/*` 路由仅限 loopback 访问（含同源校验）——对远程服务器执行\n  命令的接口不会暴露给局域网。\n- 密码 / 密钥口令以明文保存在 `~/.dsh/dsh-ssh.json`，文件权限 0600、目录 0700\n  （与 ssh-skill 把密码写进 ssh-config 注释同一信任模型）。\n- 隧道只监听 `127.0.0.1`。\n- Agent 使用工具前，主机需先在 GUI 中配置（或从 ~/.ssh/config 导入）。\n- `ssh_upload` / `ssh_download` 以宿主进程权限直接读写本机任意路径（不经 bash\n  沙箱）——与 ssh-skill 的宿主本地路径语义一致，注意该权限面。\n- exec / cluster 的远程输出原样返回（不脱敏），命令如 `env` 可能把远端环境中的\n  密钥带回对话记录。\n\n## 安装\n\n推荐直接安装全家桶聚合包 `@captain1275/dsh-web-ui-all`（一个包装齐全部功能插件与皮肤），或单独安装本插件：\n\n```sh\n# 推荐：直接从 npm 安装\ndsh plugin --profile web add @captain1275/dsh-ssh\n\n# 或从仓库安装（开发调试）\ngit clone https://github.com/zhu1090093659/dsh-web-ui.git\ncd dsh-web-ui\npnpm install && pnpm -r build\ndsh plugin --profile web add link:$(pwd)/packages/dsh-ssh\n\n```\n\n安装后**重启 `dsh web`**：侧边栏出现「SSH」入口；Agent 提示词中自动出现插件说明。\n\n## 配置\n\n设置面板（插件配置）可开关 `announceToAgent`（是否向 Agent 宣告插件）与\n`enabled`（总开关）。\n\n## 数据\n\n- 主机配置：`~/.dsh/dsh-ssh.json`（版本化 JSON，原子写入）\n- 传输暂存：`os.tmpdir()/dsh-ssh-uploads/`\n\n## 开发\n\n```sh\npnpm install --filter @captain1275/dsh-ssh...\npnpm --filter @captain1275/dsh-ssh test    # 单测：store + 引擎（内嵌 ssh2 Server + 真实 sshd）\npnpm --filter @captain1275/dsh-ssh build   # tsc 类型 + tsdown 双半区产物\n```\n\n## 已知限制\n\n- 上传的远程目标路径必须是绝对路径（相对路径会被拒绝）。\n- 下载暂不支持整个目录（逐文件下载）；上传支持目录递归（walk 本地目录逐文件传）。\n- exec 断线自动重连（最多 3 次）可能重复执行非幂等命令——长命令注意副作用。\n- 跳板机 ProxyJump 的每一跳必须是本插件已配置的主机别名。\n- 断点续传（resume）暂未实现。\n- Agent 工具的传输为宿主机器本地路径（与 ssh-skill 相同的语义）。\n","readmeFilename":""}