dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
面向 Linux/macOS 的 SSH 工作区,支持导入 SSH config、选择远端目录,文件工具、Bash 与持久远程终端沿用 DSH 原生会话权限。
通过 SSH 在远程 Linux/macOS 电脑上使用 DSH 项目。本机负责界面和会话,远端负责项目文件、搜索和 Bash 命令。
在 DSH 插件页面使用 GitHub 地址安装:
https://github.com/Very12345/dsh-ssh-workspace
也可以用官方 CLI 向指定 profile 安装:
dsh plugin --profile desktop add github:Very12345/dsh-ssh-workspace
包中已提交可运行 JavaScript,Git URL 安装不需要 prepare、postinstall 或构建脚本。最低宿主接口为 DSH 0.2 系列,Node.js 22.15 及以上。
ssh 你的别名 可以免交互登录,主机密钥已确认;加密密钥需要先加入 ssh-agent。~/.dsh-ssh-workspace,运行 Agent Host;无需安装 VS Code 桌面界面或在远端安装 DSH。下载及运行环境遵循 Microsoft VS Code Server 条款。SSH config 使用系统 OpenSSH 解释连接选项,包含 Host、Include、IdentityFile、ProxyJump。通配符不会作为可选电脑;未找到的别名可手动添加。可以在设置页指定另一份配置文件。插件只读 SSH config,不写回它,不读取私钥内容,不保存密码。
目录浏览器沿用官方 DSH 的双栏布局、面包屑、路径编辑、新建文件夹和隐藏文件开关。插件只在标题旁加电脑下拉框;SSH 电脑名称后的状态点以灰色表示未连接或未知、黄色表示连接中、绿色表示已连接、红色表示断开,悬停可查看状态说明。打开列表不会主动连接,选择 SSH 后才按原有逻辑连接并浏览目录。手动添加与初始化电脑在设置页完成。
run_code 工具呈现方式,极简模式保留持久 Shell 状态。glob / grep 在远端执行。远端需要 Bash、curl、tar 和 rg;Linux x64/arm64、macOS Intel/Apple Silicon 是初始化支持的架构。连接和映射保存在 DSH home 的 ssh-workspace/catalog.json,占位目录位于 ssh-workspace/projects/。独立删除标记保存在 ssh-workspace/deleted-projects/,即使旧进程把目录配置写回旧快照,也不会在下次启动时恢复已删除的项目。这些属于本地用户数据,不进仓库。
设置页的“远程项目”可以移除单个项目;“清理本机残留”只尝试删除已撤销映射的空占位目录。目录视图和工具输出里的本地占位路径是远端文件的地址映射,不代表项目文件已复制到本机。附件、预览及会话日志属于宿主管理的数据,不由此按钮清除。
远程工作区的文件夹图标右上角显示连接状态:灰色未连接、黄色连接中、绿色已连接、红色已断开。悬停状态点可查看说明。本机工作区不加标记。状态每 5 秒自动刷新,请求最多等待 4 秒,超时后显示状态未知并继续重试。窗口恢复显示或重新获得焦点时立即刷新,不需点击工作区;旧请求的迟到结果不会覆盖新状态。已有 AHP 连接每 15 秒做一次只读心跳,心跳最多等待 4 秒;状态查询不启动新的 SSH 连接,也不等待卡住的初始化任务。断开后,下次项目操作会按原有连接逻辑尝试恢复。
从 0.1.11 起,连接优先复用插件目录中已验证的 VS Code Server 1.140.0 缓存,再尝试已有的其他兼容缓存;只有缓存不可用时才进入在线 CLI 启动,单次最多等待 45 秒。自定义 CLI 路径仍优先使用用户配置。普通 SSH 登录成功并不代表 Agent Host 就绪:远端 DNS 或微软下载站不可用也会阻止新环境启动,但不应阻止兼容缓存的使用。不会修改系统 DNS、关闭主机密钥校验或中断其他 SSH 会话。
这是独立仓库,不属于父目录 npm workspace。
npm ci --ignore-scripts
npm run setup-sdk
npm test
npm run build:client
npm run smoke:ui
npm pack --dry-run
setup-sdk 临时安装测试用 DSH SDK 并恢复清单,运行依赖和锁文件保持独立。UI 测试在 Windows 默认使用已安装 Edge;其他平台先运行 npx playwright install chromium。也可以设置 DSH_UI_BROWSER_CHANNEL。截图只保存于忽略的 .tmp/ui/。
经明确授权后可运行真实 SSH 测试(只在随机 /tmp 目录写入并清理):
$env:DSH_SSH_TEST_TARGET='你的测试别名'
node test/live-smoke.mjs
实现与验证记录 包含传输来源、路由设计、维护修改及联调范围。
本插件的原创代码为 MIT。src/provider/ 中的传输代码基于 Yan-Zero/dsh-remote-ssh 的 Apache-2.0 源码快照;目录浏览器组件来自 DeepSeek 官方 DSH 0.2.0-rc.2,MIT 许可见 DIRECTORY-BROWSER-LICENSE。原始版本、修改范围及许可见 NOTICE 和 PROVIDER-LICENSE。Linux Landlock 预编译 runner 的许可见 LANDLOCK-LICENSE,配套审计源码许可见 LANDLOCK-SOURCE-LICENSE。不分发 Microsoft VS Code 二进制文件。
设置页采用紧凑的行间距与分区留白,保持原生正文字号。侧栏及页面标题使用独立 SVG 图标,并随深浅色主题显示。当前宿主的固定齿轮通过插件内、仅限自身导航项的样式适配替换;卸载时恢复,不修改宿主文件。