Skip to content

v0.2.0

Choose a tag to compare

@6mt 6mt released this 18 Oct 14:09
· 27 commits to main since this release

新增:场景二「远程环境」

左侧栏新增「🌐 远程环境」,把远端机器上完整的 dsh 界面(工作区/会话/对话/设置)呈现在本地一个页面里,顶部标签切换环境。

  • 同源反向代理:页面由本地 web 服务转发并注入远端凭据,浏览器不接触令牌;远端外面的反向代理/鉴权层不影响
  • 界面 100% 真实:远端自己渲染,随远端版本自动更新
  • 常驻浮层:切到本地会话再回来,远端界面不重载、连接不重建
  • 资源保留 gzip:仅文档请求关压缩(需注入),静态资源走压缩

修复(本轮全部实测定位)

  • 桌面壳自定义协议导致帧内 WebSocket 1006 → 同 scheme 帧 + 注入绝对 streamBaseUrl
  • 远端 CSRF 栅栏 403 → 转发时重写 Origin/Referer
  • iframe 401 → 每次打开前经 SSH 重探测 token
  • 收养的隧道死亡后不重建 → 每次使用前实测端口
  • 面板空白(SessionList 被误删仍引用)→ 补回 + 静态检查
  • 对话只显示 source.kind === "user"(白名单)

测试

  • 全量入口:node scripts/run-tests.mjs — 12 个文件 75 项,逐文件独立进程 + 超时
  • 新增回归用例覆盖上述每个 bug,均做变异验证

安装:dsh plugin --profile <profile> add github:6mt/dsh-control
固定本版:dsh plugin --profile <profile> add github:6mt/dsh-control#v0.2.0

升级后需 ⌘Q 完全重启(宿主半代码在进程启动时加载)。