dsh-work-chat-switch:在 DSH 側邊欄切換「聊天」與「工作」

前言

在 DeepSeek Harness(DSH)桌面端裏,主工作區通常走 API Key 與正式會話;而官方網頁聊天(chat.deepseek.com)走的是另一套額度與登錄態。若經常在「免費網頁聊幾句」和「用 API 開新會話寫代碼 / 跑智能體」之間切換,就需要在界面裏反覆換應用或換標籤頁。

dsh-work-chat-switch 由社區維護者 M4XC117 發佈,歸類爲客戶端插件。它在側邊欄左上角提供類似 ChatGPT 的「聊天|工作」雙按鈕:一側在主列內嵌官方網頁聊天,另一側回到常規會話並新建一條 API Key 工作會話。下面介紹定位、能力與安裝用法;事實以 GitHub 倉庫 README 爲準。

這是什麼

插件 bundle 名稱:dsh-work-chat-switch(當前資料中版本 1.0.2,許可證 MIT)。它向 DSH 注入客戶端邏輯與一條 Host 行,不在 Host 側實現額外業務;交互集中在側邊欄與主列。

按鈕 Tooltip 作用
聊天 / Chat 無限制使用 / Unlimited use 主列切換到 https://chat.deepseek.com/,以桌面端 <webview> guest 內嵌
工作 / Work 使用API額度 / Uses API quota 回到 Conversation,並以 deepseek-official 提供商新建下一條空白 API Key 會話

社區目錄頁:SkillHub — dsh-work-chat-switch。目錄爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係;安裝前宜自行閱讀源碼與許可證,插件在當前 DSH 進程權限下運行。

核心功能

側邊欄「聊天|工作」切換

DSH 自帶的「New Session」按鈕由 @deepseek-ai/dsh-client-ui-sidebar 繪製,本身沒有插件插槽。本插件測量該按鈕區域,用 visibility: hidden 隱藏原按鈕(保留佈局佔位),再在相同矩形從 shell.overlay 繪製 Chat / Work 一對按鈕。

若找不到該按鈕(不同構建、無此 shell、或側邊欄收折爲 rail),則恢復原廠按鈕,插件不繪製替換 UI。切換時主列會先蓋一層磨砂層,再替換底層視圖,約 250 ms 保持 + 250 ms 淡出;切換過程中兩個按鈕會暫時禁用。

聊天:內嵌官方網頁

chat.deepseek.com 的 CSP 爲 frame-ancestors 'none',無法直接用 iframe。桌面端通過租約門控的 browser bridge 創建 guest,流程如下:

  1. 調用 dshDesktop.browser.acquire(partitionKey) 預留 guest,返回 lease 與 approved partition。
  2. 掛載 <webview name="<lease>" partition="<approved>" src="about:blank#<lease>">;主進程會拒絕無匹配 lease 的 guest。
  3. dom-ready 後再導航到聊天頁。

Guest 爲沙箱、無額外權限、禁止下載,且僅限 http(s) 導航。Partition 爲應用進程生命週期內的瀏覽器存儲:本次運行內登錄可保留、各 Chat 面板共享,應用退出後不寫入磁盤——這是桌面瀏覽器行爲,非本插件單獨持久化。

工作:API Key 會話

「工作」走常規 Host 會話 API:uiWorkspace.connectWorkspace、remote.session.selectModel、uiWorkspace.openSession。若無可用 API Key 模型路由,會回退到部署默認模型,並在按鈕下方顯示簡短提示;會話仍會打開。

安裝與啓用

發佈包爲純 JavaScript,無構建步驟,也無 install-script 審批。

桌面應用內: 打開 Plugins → Add,粘貼 dsh-work-chat-switch 並確認。bundle 會插入一條 Host 行並立即加載 Client 半部分,一般無需重啓即可看到 Chat / Work。

終端(dsh 已在 PATH):

dsh plugin add dsh-work-chat-switch

也可在 Plugins → Add 中選擇本地路徑安裝 checkout;資料未要求 git clone 作爲唯一方式。

引擎要求(package.json):engines.dsh >= 0.2.2-rc.1;README 寫明在 DSH 桌面 0.2.2-rc.1 上驗證。

典型用法

  1. 安裝並確認側邊欄左上角出現「聊天」「工作」。
  2. 點 聊天:主列加載內嵌官方網頁聊天;在 guest 內按網頁流程登錄(登錄態在本次應用運行內有效)。
  3. 點 工作:回到 Harness 會話界面,新建空白會話;需已配置 deepseek-official 的 API Key,否則使用默認模型並見按鈕下提示。
  4. 自帶「New Session」快捷鍵仍按部署默認模型新建會話;僅上述兩個按鈕走 Chat / Work 切換邏輯。

Web 構建無 lease bridge,且頁面拒絕 iframe,內嵌聊天僅桌面端可用;不滿足條件時面板會顯示說明文案。聊天頁需在本機網絡可達,賬號須符合所在地區要求;加載失敗時錯誤信息顯示在面板下方。

適用場景與注意

適合: 經常在同一 DSH 桌面窗口裏交替使用官方免費網頁聊天與 API 工作會話的開發者。

注意:

  • 僅桌面應用完整支持內嵌 Chat;Web 版僅有提示,無法同等內嵌。
  • 工作模式依賴 API Key(deepseek-official);無 Key 時回退默認模型,功能降級但仍可開會話。
  • 切換邏輯替換的是隨版本發貨的側邊欄按鈕;DSH 升級若改名或移除該按鈕,替換可能失效(回退後應用仍可用,但雙按鈕可能不出現)。
  • 插件以當前 DSH 進程權限運行;安裝前請檢查 源碼 與 MIT 許可證。

相關文件(倉庫結構)

文件 用途
package.json Bundle 清單:patch、Client 半部、locale 與 icon
cordis.patch.yml 插入 Host 行
index.js Host 半部(無 Host 行爲)
client.js 側邊欄替換、內嵌 Chat、Work 會話流
locale/*.json 插件管理器展示元數據
icon.svg Bundle 圖標

結尾

dsh-work-chat-switch 把「官方網頁聊天」和「API 工作會話」收到側邊欄兩個按鈕裏,減少窗口切換,同時尊重聊天頁 CSP 與桌面端 guest 安全模型。需要查閱介紹與安裝入口時,可看社區目錄 SkillHub 與倉庫 GitHub。

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

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

小夜