【开源】DSH Tunnel :做了一个本机 DSH 启动器兼远程连接的桌面工具,支持 Win / Mac

刘不得 2026-08-22 11:34 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出





本来是自用,做着做着顺手工具化了,于是开源分享一下。




如标题所示,一共俩功能:



  • 一个是一键启动本机的 DSH,然后打开 WebUI。像我非常喜欢用的秋叶 ComfyUI 启动器一样,十分丝滑。

  • 另一个是通过 SSH 隧道连接其他设备上的 DSH,然后在本机打开 WebUI。可以是局域网内的其他设备,可以是线上服务器,也可以是通过 FRP 中转的其他设备,也可以是 Tailscale 之类的虚拟局域网。


没错,这不是一个 DSH 的桌面端,而是一个 WebUI 的启动器。


不过我先在这里丢一个暴论,如果日常就使用 Codex 之类桌面 App 作为主 Harness 的话,使用桌面版的 DSH 反而不如 WebUI 方便。具体的后面再说。


于是,因为它只是一个 WebUI 的启动器,所以也没啥好说道的。


唯一让我自己比较满意,可以拿出来说一说的是,做了几个主题,添加了点小动画,顺便添加了 Mac 状态栏和 Windows 托盘图标,搞得好像是个正经 APP。





我觉得 DSH 对我的工作流来说,最大的价值就是填补了 Codex 本身的一块缺陷。


Codex APP 的机制特别烦的一点是,虽然 Codex 支持添加第三方模型,但只在使用 API 的情况下有效。如果使用 ChatGPT 订阅登录的话,不使用第三方桥接,是没有办法像 OpenCode 一样随心切换模型的。所以单纯地使用原生 Codex APP + ChatGPT 订阅,没有办法在使用 GPT 5.6 作为核心模型的时候,偶尔用一下 Deepseek。


DSH 则跟 OpenCode 一样,有一个很好的优点,它本身支持添加并切换不同的自定义模型。并且 DSH 还支持 WebUI,这就很方便了,只要开一个内置浏览器,就可以让 Codex 自己使用 DSH,像调用子代理一样。


实际体验上,尤其是对于 GPT 5.6 这种「事儿逼」模型,简单的 Browser Use 操作,甚至优于让它调用 CLI。


以前在上下文膨胀污染,GPT 模型思维受限卡住,需要找外部模型头脑风暴或者审查的时候,我一般会让 Codex 自己去调用Claude Code 或者 AntiGravity CLI、Qoder CLI 等等。理论上直接使用命令行工具速度应该是快的,但实际上会有诸多问题。如果不刻意做约束或者搓成 skill,只是简单的让 Codex 调用 OOO 让他使用 XXX 模型提供一下建议,或者做一下审查,Codex 往往会禁用对方的工具调用,会指定错模型名称,写的 Prompt 不透明,不要求显示调用它就不会打开让你看到,自己还不知道看对方的过程输出只等最终结果,以及沙盒权限多半要折腾一下,在 Windows 下撞两次 PowerShell 的墙也十分正常……


但现在方便多了,只要打开内置浏览器,打开 DSH 的 WebUI,权限、模型、工作区等等,点两下鼠标就能设置好。Codex 用的 Prompt 和对方模型的实际过程直接就会在页面上显示出来,如果觉得不对,可以随时纠偏。


甚至由于 DSH 轨迹透明,做一个小插件配个廉价模型解读一下,第三方模型在执行过程中都做了什么,有哪些高风险的行为,可以清清楚楚地呈现出来,比起让 Codex 拉其他 CLI 安心多了。



Qwen3.8-27b 确实有点东西。



实际在 Codex 里用起来,比如说我要让它安排 DSH 做一次代码审查。


我只要在内置浏览器打开 DSH 的 WebUI,然后选好模式和模型,再去让 Codex 使用 Browser User 就可以了。


其实模式和模型也可以让 Codex 选,但我觉得这种情况下显然手选更快。


这可比用 CLI 清晰多了。



甚至还可以给它再开一个 ChatGPT。



直接跟 Codex 说,让它找 DSH 进行审查,并持续讨论到所有分歧消失。达成共识后,把代码推送到临时仓库,然后打开 ChatGPT 标签页,选择 Pro,给他仓库链接和你们的结论,让 ChatGPT 再审核一遍。然后根据审核结果的批复,直接去修改。


这样就可以去喝咖啡了。


甚至如果你不介意跑偏的话,可以再调整一下要求,让它直接 Loop 起来。


我觉得 WebUI 真的可以算是一个甜品点,相比于 CLI 看得更清楚,但换成桌面端,再让 Codex 调用就只能通过 Computer Use 操作,效率比直接操作浏览器慢太多。


然后就遇到了 DSH Tunnel 的制作动机。


以前让 Codex 调 CLI 的时候我是直接做成 skill,然后让 CLI 最终输出一份落盘文档,最后 Codex 拿到报告直接读的,过程一直没咋关心。换到 Browser User 操作 WebUI 的模式,发现一个问题。


PowerShell 是根绊倒一切的绳子。



在 Windows 下面,不管用啥模型,总是要在 PowerShell 上面绊一跤。这个现象可以改善,但不能杜绝。


而且大家都说 Deepseek 在 DSH 的极简模式下才是满血版,Windows 它就没有 bash,也用不了极简模式。


那我在用 Windows 的时候,打开 Mac 上的 DSH 不就行了吗?



于是就搓了这么一个东西出来。




目前提供 Windows 便携版和安装版以及 Mac 安装版桌面客户端,由于没有开发者账号,所以 Mac OS 版本安装之后需要手动信任一下。


使用本机 DSH 的时候,可以单纯当做一个启动器使用,并且支持修改本机监听的端口号。



添加远程主机的时候,可以通过 SSH 隧道转发对面主机上的 DSH。



比如说,在局网下有一台开启了 DSH 的 Mac mini,


局域网 IP 是 192.168.1.102,那就在 SSH 地址里面填写这个 IP,


SSH 用户就填写 Mac 对应的用户,SSH 端口一般是 22,


DSH 端口就是 Mac 上监听 DSH 的端口,本地端口就是你想在本地使用的一个未占用过的端口。


需要注意一下的是,要先到 Mac 设置里面打开远程登录,并且添加上相应的用户。



我现在的方案是把 Mac 的外置 SSD 通过 SMB 挂载到了 Windows。


把 Codex 和 DSH 的工作区都设置在这个盘上的目录下,这样两边都可以直接进行查看和编辑。



不过现在这版只 SSH 转发 WebUI, 没有开 SFTP 或者其他的文件连接,所以暂时还只能做一些代码审计之类的工作。


如果涉及到文件的话,就会有一些问题。比如说在 Mac 上生成鹈鹕骑自行车的 HTML,然后在 Windows 转发的 WebUI 视图,点击打开它,最终的结果会是在 Mac 上被打开,而不会在 Windows 上看到。添加工作区之类的操作也是同理,在 Windows 转发的窗口点击添加工作区,会在 Mac 上打开 Finder。所以最好提前创建好工作区,使用的时候只需要选择就可以。然后在 Agents.md 里添加一套子项目自动创建子目录的规则,它就可以自动对不同的子项目进行分类隔离了。


远程也是相同的情况,可以理解成一个 UI 只读的状态。目前支持连接到服务器或者虚拟局域网或者 FRP 转发,后端是能够正常文件写入和编辑的,做但是 WebUI 的界面暂时没有办法进行文件交互。


开源,欢迎大家使用和修改。

最新回复 (1)
  • 刘不得 楼主 08-25 05:52
    1

    更新了远程产物预览插件



    可以在设置界面安装,安装以后就可以在 Mac 电脑打开 Windows 电脑上的鹈鹕骑自行车 HTML 了。

* 帖子来源Linux.do
返回