前言¶
DSH 的插件生態爲 web UI 提供了擴展入口。下面介紹的 dsh-session-hub 解決一個具體問題:遠端機器上的 dsh web 會話,以及本機 Codex CLI、Claude Code、opencode、Pi 的歷史對話,默認不會自然出現在同一棵會話樹裏。這個插件把兩類會話接進 DSH 的官方會話樹,並繼續使用官方側邊欄和對話區。
插件定位¶
dsh-session-hub 是一個面向 web profile 的插件。倉庫與目錄頁均位於 Asaiuta 名下,許可證爲 MIT。當前安裝使用 @alpha,README 標註 alpha,tarball 標籤爲 v0.1.0-alpha.2。
核心能力¶
先說結論:它不替代 DSH 的 UI,主要在 /api 數據層做合併與路由。
- 遠端會話聚合:把多臺遠程
dsh web服務器的 DSH 會話接進官方會話樹;查看歷史、逐 token 即時流、審批卡片、提問問卷,並支持發送、取消、重命名。 - 本機歷史導入:把 Codex CLI、Claude Code、opencode、Pi 的歷史對話按項目目錄導入;未點擊導入的軟件日誌不讀取。
- SSH 隧道託管:插件自行開啓 SSH 隧道、保活重連、自動分配本地端口。
- 模型配置增量同步:把本機有而遠端缺的提供方、默認模型和 API Key 補到遠端,不覆蓋遠端已有配置。
- 功能開關:
features.aggregate、features.tunnel、features.modelSync、features.importer可獨立控制相應能力。
安裝與啓用¶
先安裝插件:
dsh plugin --profile web add dsh-session-hub@alpha
裝完重啓 dsh web 並刷新頁面。進入 設置 → 插件,出現 會話樞紐 標籤頁即表示可用。
如果需要使用 GitHub tarball 安裝:
dsh plugin --profile web add https://github.com/Asaiuta/dsh-session-hub/archive/refs/tags/v0.1.0-alpha.2.tar.gz
如果要改代碼調試:
git clone https://github.com/Asaiuta/dsh-session-hub && cd dsh-session-hub
npm install && npm run build
dsh plugin --profile web add file:$(pwd)
環境要求¶
- 本機 DSH:實測
@deepseek-ai/dsh@0.1.0-rc.6。 - Node:
^22.19 || >=24。 - Profile:僅
web;裝進headless/tui會一直 pending,並導致該 profile 啓動失敗。 - 遠端 DSH:需爲未安裝本插件、能應答標準
/api的dsh web。 - 網絡:當前 DSH 只允許環回綁定,遠端通常需要 SSH 隧道或已有
ssh -L。
典型用法¶
接一臺遠端機器¶
遠端先啓動 DSH Web:
dsh web --port 3080
本機安裝並重啓插件後,打開官方 Web UI,進入 設置 → 插件 → 會話樞紐 → 添加服務器。填寫名稱、主機、SSH 用戶、私鑰路徑、遠端 dsh 端口,測試通過後添加。
本地端口由插件自行分配。經過上面的步驟,遠端服務器會出現在工作區樹中;組內會話可以用官方對話區查看歷史、接即時流、處理審批卡片和提問問卷,並支持發送、取消、重命名。
導入本機其他工具的會話¶
打開 設置 → 插件 → 會話樞紐 → 外部會話,按 Codex CLI、Claude Code、opencode、Pi 逐個點擊導入。
導入的會話在樹裏只讀。如果直接嚮導入會話發送消息,可將其轉成真實 DSH 會話,原只讀副本隱藏。源日誌只讀打開,從不改寫、從不刪除。
配置功能開關¶
在 profile 的 cordis.yml / cordis.patch.yml 中可配置 dataFile、trustedHosts 或 features 開關。
例如只保留導入,不啓用多服務器聚合:
- id: dsh-session-hub
config:
features:
aggregate: false
例如不導入本機其他工具日誌:
- id: dsh-session-hub
config:
features:
importer: false
關閉導入後不讀取日誌,關閉聚合後不發起出站連接。
注意事項¶
- 插件以當前 DSH 進程權限運行,並能讀取已授權的本地工具日誌、與配置的服務器通信。安裝前應檢查源碼、許可證和配置項。
- Alpha 版本的配置格式、路由表、
/hub/events幀協議在 1.0 前可能破壞性變更。 - README 稱只驗證過一套環境:Windows 本機 + 騰訊雲 Linux,經 SSH 隧道跑通跨機對話、審批應答與即時流。
- 插件不需要任何 API key 或令牌環境變量;唯一相關環境變量是
DSH_HOME,影響註冊表默認路徑。 - 徹底移除時,除移除插件配置並重啓外,還需刪除
$DSH_HOME/plugins/dsh-session-hub.json和$DSH_HOME/plugins/dsh-session-hub-imports.json。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/Asaiuta/dsh-session-hub
- GitHub:https://github.com/Asaiuta/dsh-session-hub