前言¶
DSH 通過插件擴展能力,dsh-remote-workspace 是 FYL1025 維護的一個遠程工作區插件。它面向一個具體場景:在 DSH Web 會話中處理遠端 SSH 服務器上的文件、代碼和命令,而不是隻依賴本地文件或另開終端。
這是什麼¶
FYL1025/dsh-remote-workspace 是 DSH 插件,定位爲 “Remote Workspace for DSH”。它複用本地 SSH 連接方式,讓 Web 端接入一臺或多臺服務器,並在對話旁邊打開工作區面板。許可證爲 MIT。
核心功能¶
- 多服務器連接管理:支持 SSH alias(
~/.ssh/config中的Host)或 host/port/user 模式,可隨時切換;連接配置保存在瀏覽器 localStorage。 - Connect / Disconnect:一鍵驗證並保持/釋放活動服務器的連接狀態。
- 文件樹瀏覽器:懶加載展開/摺疊,可切換隱藏文件,按類型顯示圖標,支持一鍵複製路徑。
- 代碼編輯器:行號 + 語法高亮預覽(keywords/strings/comments/numbers/decorators),可編輯並保存回服務器。
- 命令執行器:在服務器運行命令,工作目錄跟隨當前打開文件。
- Dock / Float 雙模式:貼靠對話旁,對話區可重排並拖動分隔線;或加寬爲浮動面板,最大 1400px。
- 會話直接操作:可在聊天中讓 agent 直接操作服務器文件。
安裝與啓用¶
先確認環境:Node.js ≥ 18、pnpm、一個 DSH profile(通常是 web)。
插件依賴本地 SSH 免密登錄(key-based passwordless login)。如果還沒配置,先按 host/port/user 或 SSH alias 完成免密登錄,確保之後能用 SSH 連上目標服務器。
安裝命令:
dsh plugin --profile web add git+ssh://git@github.com/FYL1025/dsh-remote-workspace.git
安裝後重啓 DSH,然後打開 Settings -> Remote Workspace。
典型用法¶
1、在 Settings -> Remote Workspace 中添加服務器(SSH alias 或 host/port/user),並選擇爲當前連接。
2、點擊 Connect 驗證連通性;成功後按鈕變爲 Disconnect。
3、點擊 Open Workspace Panel,文件瀏覽器出現在對話旁。
4、展開目錄並點擊文件:用 Preview 查看語法高亮;用 Edit 修改後點擊 Save 寫回服務器。
5、在底部命令執行器中運行命令,例如:
ls -la
python train.py
6、點擊 Widen 加寬爲浮動面板,並拖動邊緣調整大小。
適用場景與注意¶
適合需要在 DSH 會話中頻繁查看遠端文本文件、修改代碼、運行命令的人,尤其是希望把遠端操作留在當前 DSH Web 界面裏的場景。
使用前注意:
- 插件讀取文本文件 ≤ 2MB;更大文件需通過聊天讓 agent 處理。
- 連接配置(alias/host/port/user)存儲在瀏覽器 localStorage;不存儲密碼或私鑰。
- 插件以當前 DSH 進程權限運行
ssh命令,使用danger-full-access策略。這相當於用戶在終端自行運行ssh,但僅限該插件發起的命令。 - 安裝前應檢查源碼與許可證,確認接受其訪問模型。
- 安裝後需要重啓 DSH。
鏈接¶
GitHub:https://github.com/FYL1025/dsh-remote-workspace
插件目錄線索頁(獨立社區目錄線索,未在本資料中抓取驗證):https://www.skillhub.cn/plugins/FYL1025/dsh-remote-workspace