dsh-remote-picker:強制瀏覽器內瀏覽的目錄選擇器修復

前言

在使用 DeepSeek Harness(DSH)進行遠程開發時,通過 tailscale serve 或 cloudflared 等反向代理訪問 Web GUI,目錄選擇功能通常失效。這是因爲官方的 directory-picker 組件在迴環綁定 + darwin/win32 場景下默認調用 native OS 對話框,遠程瀏覽器無法操作。dsh-remote-picker 通過 bundle patch 機制強制切換到瀏覽器內瀏覽模式,解決這一問題。

核心功能

本插件主要解決以下問題:
1. 強制瀏覽器內瀏覽:在遠程訪問場景下,強制使用瀏覽器的文件選擇界面。
2. 修復遠程訪問場景:適配 tailscale serve、cloudflared 及 --trusted-host 配置下的目錄選擇邏輯。
3. 禁用 native OS 對話框:避免在無人值守主機上彈出無法被遠程瀏覽器驅動的原生對話框。
4. bundle patch 機制:通過修改依賴包配置生效,無需修改 DSH 核心代碼。
5. 啓動驗證:啓動後自動驗證 browse 能力是否正常加載。

安裝與啓用

使用官方插件管理命令安裝:

dsh plugin --profile web add dsh-remote-picker

安裝完成後,重啓 dsh web 服務使配置生效。

注意事項:
若 cordis.patch.yml 中已手工添加過相同的 disable+insert 配置(排查遠程訪問問題時的常見做法),需先移除該段配置,避免重複裝載。

典型用法

本插件僅在以下遠程訪問流程中發揮作用:
1. 建立代理:使用 tailscale serve 或 cloudflared 將 HTTPS 流量反代到本地端口。
2. 啓動服務:運行 dsh web 並指定 --trusted-host 參數以允許遠程域名訪問。
3. 觸發選擇:通過手機或遠程瀏覽器訪問服務地址,進入“設置 -> 工作區 -> 選擇目錄”步驟。

驗證日誌:
啓動 dsh web 後,在日誌中應出現以下信息以確認插件生效:

dsh-remote-picker: in-browser browse directory picker active

適用場景與注意

本插件僅在使用 tailscale serve 或 cloudflared 從手機/遠程瀏覽器使用 DSH 時需要安裝。如果僅在電腦本機使用 http://127.0.0.1:3080,則無需安裝。

該插件以當前 dsh 進程權限運行,建議在安裝前檢查源碼與許可證(MIT)。

生態背景

DeepSeek Harness(DSH)採用“一切皆插件”的架構理念,旨在通過插件化擴展功能。本插件由社區開發者維護,與 DeepSeek 官方無從屬關係,僅作爲技術補充方案存在。

更多詳情與源碼,請訪問:
* 插件目錄
* GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜