fix: 局域网下改用页面内目录选择器

directory-picker-auto 按服务器侧事实选后端:native 要求「仅绑回环 + 非 SSH +
有显示器」。本插件让官方服务器保持回环,于是局域网部署仍被判为 native,点
「添加工作区」会在服务器本机弹原生对话框,远程操作者看不到。

按官方文档锁定 browse 这一对(host-directory-picker-browse +
client-ui-directory-picker-browse),它在页面内列出服务器目录树,可服务远程客户端。

取舍:该 seam 每进程只能挂一个后端,本地页面也会改用页面内浏览;删除 patch 里
最后三行可恢复自适应选择。README 中英双语已补充说明。
This commit is contained in:
2026-09-27 03:54:48 +08:00
parent ced05e06a3
commit fb3389971d
3 changed files with 74 additions and 6 deletions
+19
View File
@@ -91,6 +91,25 @@ DSH 官方把「持久化设置」限制在回环页面:客户端由 `location
回环隔离 —— 设为 `false` 即回到官方姿态,设置请在本机通过 `127.0.0.1:3080`(或
`ssh -L 3080:127.0.0.1:3080 <主机>` 隧道)修改。
## 添加工作区的目录选择器
`directory-picker-auto` 在启动时按**服务器侧**事实选一个后端:`native` 要求「仅绑回环 + 非 SSH +
有可用显示器」,理由是「全网卡绑定意味着存在操作系统对话框够不到的远程浏览器」。本插件刻意让官方
服务器保持回环(LAN 由 3082 独立转发),于是局域网部署仍被判为 `native` —— 对话框会在**服务器
本机**弹出,远程操作者既看不到也点不到。
因此本插件的 patch 按官方文档的方式锁定 `browse` 这一对(`directory-picker-auto` 的文档写明
「pinning an interaction remains composing that pair directly instead of this row」):
- `@deepseek-ai/dsh-host-directory-picker-browse`(后端)
- `@deepseek-ai/dsh-client-ui-directory-picker-browse`(界面)
该后端在页面内列出服务器目录树,官方描述为「serves remote clients the dialog backend cannot」。
**取舍**:这个 seam 每个进程只能挂一个后端,所以**本地页面也会改用页面内浏览**,不再弹操作系统
对话框(也就是说"本地原生、远程网页"无法并存)。想恢复自适应选择,删掉 `cordis.patch.yml` 里
最后那三行即可(`- id: directory-picker / disabled: true` 与其后的 `insert` 块)。
## 排障
| 现象 | 原因与处理 |