DeepSeek Chat Switch:在 Harness 與 DeepSeek Chat 間切換

前言

DeepSeek Harness 是一個本地運行的智能體開發與調試工具。在使用過程中,開發者常需要在 Harness 的原生工作區、會話列表,與 DeepSeek Chat 的網頁版大模型之間來回切換。頻繁手動跳轉會打斷工作流。

下面介紹 mryouyouHK/youyou-deepseek-chat-switch。這是一個 DSH 插件,在 Harness 左側側邊欄新增模式切換,可在「HARNESS」與「Chat」之間快速切換,同時支持從 Harness 會話直接向 DeepSeek Chat 發送內容。

是什麼

該插件由 mryouyouHK 維護,歸類爲客戶端插件。GitHub 倉庫地址爲 https://github.com/mryouyouHK/youyou-deepseek-chat-switch。插件名稱爲 youyou-deepseek-chat-switch,版本 1.0.0,MIT 許可證。

核心價值是在 Harness 界面內集成 DeepSeek Chat 的訪問入口,減少瀏覽器標籤頁的切換,保持上下文連續性。

會話目錄模式:HARNESS / Chat

左側會話目錄(原生會話列表)頂部新增一組模式切換 Tab,固定在會話列表上方。

Tab 內容
HARNESS(默認) 當前 app 原生會話內容(Workspace / 會話樹)
Chat 本插件 deepseek-chat-switch:history 裏記錄的 DeepSeek Chat 瀏覽歷史:今天 / 昨天 / 更早分組
  • 切到 Chat 時原生列表只是被隱藏(display:none),組件不卸載,切回 HARNESS 會立即恢復滾動位置與展開狀態。
  • 點擊 DeepSeek Chat 圖標打開插件時,會話目錄會自動切到 Chat(寫入 deepseek-chat-switch:directory-mode)。
  • Chat 列表頭部右側有「新建」與「更多」兩個圖標按鈕。新建在插件面板打開 DeepSeek Chat 的新對話;更多展開菜單,包含「清空歷史」(無歷史時禁用)。
  • 每行標題前顯示來源圖標:DeepSeek / 元寶 / 豆包 用各自官方 logo;其他站點則用頁面標題的第一個字做成字母徽標。
  • 頭部篩選按鈕可按模型過濾:全部 / DeepSeek / 元寶 / 豆包 / 文心一言 / 其他。選擇保存在 deepseek-chat-switch:chat-filter。
  • 只顯示真實對話:三個支持站點都必須帶對話 id 纔會顯示。DeepSeek 需 /a/chat/s/<id>(或 chat_id / session_id 參數);豆包需 /chat/<id>;元寶需 /chat/<id>(/chat/naQivTmsDa 是默認空會話入口);文心一言的 URL 不含會話 id,因此不過濾。
  • 標題超寬時單行省略號截斷。鼠標懸浮該行時按約 30px/s 的節奏橫向滾動到標題末尾,滾動過程中用左右漸變遮罩淡出。
  • 懸浮任一行在右側顯示「更多」與「置頂」兩個圖標按鈕。置頂按鈕在鼠標停留約 500ms 後在按鈕下方右對齊彈出浮層。
  • 更多菜單與行懸浮「更多」都複用 Harness 原生會話行「更多」浮層的樣式。
  • 菜單包含置頂 / 取消置頂、重命名、複製對話鏈接、移除記錄。重命名使用行內輸入框,保存到 deepseek-chat-switch:history-titles。
  • 從 Chat 列表點擊標題打開頁面時,只同步選中態,不刷新該條目的記錄時間與排序。
  • 當前頁面選中態 / 懸停態:主面板裏 DeepSeek 頁面正在顯示的地址會同步到側欄列表,對應條目帶 aria-current="true"。
  • 側欄收起時整組 Tab 隱藏。選擇寫入 deepseek-chat-switch:directory-mode,默認 harness。

新會話頁模式:HARNESS / Chat

點擊左側「新會話」後,Hero 標題「探索未至之境」下方新增一組模式切換 Tab,默認 HARNESS。

切到 Chat 後只保留輸入框,隱藏工作區選擇、代理模式、權限/模型等原生控件。Tab 與輸入框之間保留 20px 間距。

  • 對話模型:Chat 輸入框右下角顯示當前模型及其品牌 logo。默認 DeepSeek。點擊彈出 Harness 菜單樣式的列表,可切換 DeepSeek / 元寶 / 豆包 / 文心一言。選擇寫入 deepseek-chat-switch:chat-model。
  • 記住上次選擇:切到哪個 Tab 會寫入 deepseek-chat-switch:hero-mode。從自動化任務頁的「新建」進入新會話時,插件會先把 hero-mode 重置爲 HARNESS。
  • 點擊發送:文字寫入所選對話站點的輸入框,圖片/文件寫入該頁面的附件區。填入完成後先倒計時 5 秒,再自動點擊網頁的發送按鈕。浮層頭部顯示「N 秒後點擊發送」的計時。
  • DeepSeek 的發送按鈕是無文字的藍色圓形圖標,插件會先按 aria-label / title 匹配「發送 / send」,匹配不到時按特徵識別。
  • 內嵌頁不在所選站點時先導航到目標地址,加載完成後再重試。本輪發送浮層可重試,展示本次文字、附件和發送狀態。附件可點擊查看,倒計時結束自動關閉。
  • 發送計時:填入完成後顯示「N 秒後點擊發送」,5 秒到點自動點擊發送按鈕,再過 3 秒派發 Enter 作爲補充發送。
  • 浮層 UI 複用 Harness 設計 token,保持與宿主一致的深淺色主題。

在其他會話裏「問 deepseek」

Harness 會話頭部註冊了一個「問 deepseek」按鈕,席位在 conversation.session.header.actions(標題行右端)。

按鈕左側複用 Harness 官方的鯨魚標誌,並設置 size: 14。

下拉菜單有兩個選項:

  • 默認不帶上下文:打開右側半屏並新開一個 DeepSeek 對話,不填任何內容。
  • 帶上下文(助手最後回覆):打開右側半屏,把 Harness 當前會話最後一條助手回覆填入 DeepSeek 對話框。

取法:助手回覆是唯一帶 data-chat-group-part="response" 的流項,因此用 document.querySelectorAll('[data-chat-group-part="response"]') 取最後一個非空節點並讀其 innerText。超過 4000 字保留尾部,首行爲「以下是 Harness 對話中助手最後一條回覆:」。

已知限制:不能截圖;上下文來自已渲染的 DOM;內容讀取失敗時按鈕旁會提示「沒有可用的對話內容」。

半屏表面固定以 100% 縮放渲染,避免站點佈局被放大後錯位。腳本用 MutationObserver + requestAnimationFrame 節流跟隨 SPA 路由變化。

安裝與啓用

在 Harness 客戶端安裝命令爲:

dsh plugin add github:mryouyouHK/youyou-deepseek-chat-switch

安裝後插件會自動加載,無需額外配置。

典型用法

  1. 安裝插件後,在 Harness 左側會話目錄頂部會看到「HARNESS」與「Chat」兩個 Tab。
  2. 切到 Chat,即可查看並打開之前訪問過的 DeepSeek Chat 對話。
  3. 在新會話頁切換到 Chat 模式,選擇模型,輸入文字或附件,插件會自動填入對應站點的輸入框並觸發發送。
  4. 在任意會話頭部點擊「問 deepseek」按鈕,可選擇是否攜帶當前會話的助手最後回覆,在 DeepSeek Chat 中繼續對話。

適用場景與注意

適合需要在 Harness 中頻繁訪問 DeepSeek Chat、希望保持上下文連續性的開發者。

插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。已知限制:附件上傳與自動發送依賴 DeepSeek 站點的文件輸入/拖放與發送按鈕實現,站點改版可能失效;圖片/文件目前限制單個 10MB、最多 10 個。

結語

DeepSeek Chat Switch 在 Harness 與 DeepSeek Chat 之間提供了快速切換的入口,減少瀏覽器標籤頁切換,提升開發與調試效率。完整文檔與源碼可在以下鏈接查看:

  • 目錄頁:https://www.skillhub.cn/plugins/mryouyouHK/youyou-deepseek-chat-switch
  • GitHub:https://github.com/mryouyouHK/youyou-deepseek-chat-switch
羽毛球分组比赛记分
小程序二维码

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

小夜