dsh-flow:把 DSH 的動作改回直覺

前言

DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。在插件化的生態中,dsh-flow 作爲一個心流優先的插件,主要解決的是 DSH 中那些「明明該順手、卻總要繞一步」的動作摩擦。它通過調整交互細節,將動作方向迴歸直覺,幫助用戶在對話和開發流程中減少打斷。

核心功能

該插件由開發者 d0ublecl1ck 維護,採用 MIT 許可證。它通過修改交互邏輯,提供了以下功能:

1. 定位當前會話

在側欄會話過多導致難以定位時,可以通過快捷鍵快速回到當前正在聊的會話。
* 觸發方式:點擊側欄標題行的「準星」按鈕,或使用快捷鍵 ⇧⌘D(macOS)。
* 行爲:插件會自動展開所屬分組、處理溢出滾動,並將當前會話定位到視口並短暫高亮。

2. 複製會話 ID

快速獲取當前對話的 ID 用於後續操作或調試。
* 觸發方式:在側欄會話行上點擊右鍵,選擇「複製會話 ID」;或使用快捷鍵 ⇧⌘C(macOS)/ Ctrl+Shift+C(Windows/Linux)。
* 提示:複製成功後,頂部橫幅會提示當前 ID。

3. 行內代碼右鍵菜單

在對話正文中,針對行內代碼提供右鍵操作,避免誤觸打開文件。
* 觸發方式:在對話正文裏的行內代碼上點擊右鍵。
* 功能:彈出菜單提供「打開」和「複製」。其中「打開」支持系統默認應用或已安裝的 IDE。注意:僅對話正文裏的行內代碼有效,多行代碼塊、輸入框內的代碼或鏈接文字不觸發此菜單。

4. 鏈接用系統默認程序打開

解決鏈接被關進內置窗口無法使用的問題,支持 localhost。
* 觸發方式:直接點擊鏈接。
* 行爲:鏈接會交給系統默認程序打開(包括 http://localhost),而非 DSH 的內置窗口。
* 限制:不要同時安裝 dsh-external-link 插件,否則鏈接會被打開兩次。

5. 換行與發送對調

調整輸入習慣,將 Enter 改爲換行,將 ⌘/Ctrl+Enter 改爲發送。
* 觸發方式:在輸入框內按 Enter 換行,按 ⌘/Ctrl+Enter 發送。
* 設置:此功能默認關閉,需在設置 → 心流 → 「⌘+Enter 發送」中開啓。

6. 切換髮過的消息

在空草稿狀態下,快速回填之前發送過的消息。
* 觸發方式:輸入框爲空時,按 ↑ 往前翻,按 ↓ 往回走。
* 行爲:按 ↑ 會將最近的一條消息填入輸入框,圖片會重新粘回。繼續按 ↑ 會加載更早的歷史消息。

7. 工作區名顯示與 Otty

優化工作區相關的打開操作。
* 顯示工作區名:在標題行「打開」按鈕的圖標左側直接顯示當前工作區名稱。
* 加入 Otty:在「打開」按鈕的下拉菜單末尾添加 Otty 選項(僅支持 macOS)。點擊該選項會調用 otty-cli open 在新窗口打開當前工作區目錄。

安裝

本插件沒有 npm 包,必須通過倉庫目錄安裝。

dsh plugin --profile web add /absolute/path/to/dsh-flow

安裝完成後,刷新頁面即可生效。

使用示例

  1. 定位與複製:在側欄按 ⇧⌘D 快速定位當前會話,按 ⇧⌘C 複製其 ID。
  2. 處理代碼與鏈接:在對話中看到行內代碼路徑,右鍵選擇「打開」或「複製」。直接點擊鏈接,在系統默認瀏覽器(或終端)中打開。
  3. 調整輸入習慣:開啓「⌘+Enter 發送」設置後,在輸入框內按 Enter 換行,按 ⌘Enter 發送。
  4. 使用消息歷史:輸入框爲空時,按 ↑ 將上一條發送過的消息拉回,修改後再次發送。
  5. 工作區操作:點擊標題行「打開」按鈕,在菜單中選擇 Otty 打開當前目錄。

注意事項與安全邊界

  • 依賴衝突:切勿同時安裝 dsh-external-link,否則鏈接處理邏輯會衝突。
  • 平臺限制:Otty 功能僅支持 macOS。行內代碼右鍵菜單僅支持對話正文中的行內代碼。
  • 安全限制:外部鏈接打開通過宿主路由 POST /flow/open-external 實現,URL 長度上限爲 8192,請求體上限爲 16KB。

參考資料

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

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

小夜