dsh-wingman:對話旁的貼邊工具條

前言

在 DSH 里長時間對話時,常見指令要反覆手打、選中的片段要複製到別處再粘回輸入框、上下文快滿卻不好一眼看出佔用。把便籤、跟進、摘錄和狀態拆到瀏覽器外或多個插件頁,又會打斷對話節奏。Wingman 以一條 42px 貼邊工具條掛在左側欄與正文之間:不擠佔正文寬度,點開再滑出面板,把速記、選中文字動作、常用指令、會話小結和對話狀態收在同一側。

這是什麼

Wingman(包名 @bingomu/dsh-wingman)由 bingomu 維護,歸類爲 DSH 客戶端插件。當前資料中的版本爲 v1.0.5,MIT 許可證;運行要求 DSH ≥ 0.2.1-rc.5(package.json 中 engines.dsh 爲 >=0.2.1-rc.5 <0.3.0-0)。

定位可以概括爲:對話左側的細長 dock——內置五顆入口(速記、選中文字、常用指令、會話小結、對話狀態),另有自定義入口與設置。窗口寬度 ≤1100px 時,工具條改到輸入框上方橫排,約佔 42px 高度。

社區目錄:skillhub.cn/plugins/bingomu/dsh-wingman
源碼與說明:github.com/bingomu/dsh-wingman

界面與佈局

默認貼在左側欄和正文之間的 42px 細條上,淺色/深色跟宿主主題走。收起後只剩一枚羽毛圖標,可點擊喚回或拖動換位置;拖近側欄可吸附,位置會記住。

各入口在工具條上用顏色區分(資料中的排色):速記琥珀、選中文字淺綠、常用指令淺藍、會話小結玫瑰、對話狀態淺灰、自定義入口淡紫,設置齒輪爲中性灰。

核心功能

速記(✎)

不離開當前對話,一句話記成三種形態之一:

  • 便籤:Enter 後請求 POST /dsh-sticky-wall/api/notes,落在便籤牆(依賴便籤牆插件 HTTP 接口)。
  • 跟進:可選「明天 / 週五 / 3天后」等 due,走 POST /followup/add,並帶上當前會話 id。
  • 提醒:選時間或快捷按鈕,到點由工具條彈提示;客戶端每 30 秒輪詢 GET /dsh-wingman/api/reminders,提醒數據寫在本地 reminders.json。

面板底部會顯示便籤與未完成跟進數量,以及最近各 3 條。

選中文字(✦)

在正文裏選中至少 3 個字後點 ✦(輸入框、文本域或本插件面板內選區不算)。面板分三塊:

  • 對話:引用到輸入框、評論後引用。
  • 留存:存便籤、存常用指令、存跟進、複製。
  • 交給模型:改寫、提煉、解釋、生成測試用例、中譯英/英譯中等;用當前會話模型,25 秒超時,傳輸錯誤自動重試一次。

結果可插入輸入框(不自動發送)、複製或存入常用指令。

常用指令(❝)

308px 面板內搜索、分組;點一條插入當前輸入框,光標在末尾,面板自動收回。首次啓動會在本機 JSON 寫入三條示例,可刪。支持「+ 新建」、行內編輯刪除,以及右上角釘住面板。

會話小結(≡)

  • 這輪:讓模型讀最近十幾條消息,輸出 3 條結論 / 2 條未決 / 1 條下一步。
  • 上個會話:從上一個有內容的會話接一句開場。

可重新生成或插入輸入框(不發送)。

對話狀態(◔)

只讀一屏:上下文佔用環(75% 黃、90% 紅)、本輪 token(輸入/輸出/緩存讀)、provider · model、正在跑的子代理數、未完成跟進條數(讀 DSH_HOME/followup/tasks.json)。不打開面板不請求;缺項顯示 —。

自定義入口

設置裏可建最多 30 個:「打開路徑」用系統默認方式打開文件/文件夾;「運行命令」在指定工作目錄執行,20 秒超時,輸出顯示在面板。命令僅在本機執行,勿粘貼不明來源命令。

快捷鍵與手勢(摘錄)

操作 結果
⌘1–⌘5 / Ctrl+1–5 按設置順序打開前五顆入口(工具條收起時不生效)
Esc 收起面板
拖頂部握把 移動工具條;離側欄右緣 56px 內鬆手可吸附
點磁鐵 切換吸附;吸附後隨側欄摺疊與窗口縮放

安裝與啓用

需要已安裝 DSH,且版本滿足 ≥ 0.2.1-rc.5。從 GitHub 安裝指定標籤:

dsh plugin add github:bingomu/dsh-wingman#v1.0.5

裝完後對頁面做一次硬刷新(Cmd/Ctrl+Shift+R)。本機開發也可把倉庫裏的 dsh-wingman 目錄交給插件管理器的 install_bundle(軟鏈接,改 client.js 可熱更新);從 GitHub 安裝的是實體包,需重新發版並重裝。

典型用法

資料中的四步流程適用於「選中文字」:

  1. 在正文選中目標句子。
  2. 點工具條 ✦。
  3. 選引用、留存或交給模型的動作。
  4. 結果進入輸入框、便籤牆或常用指令,不會自動發送。

記一句話:點 ✎ → 選便籤 / 跟進 / 提醒 → 回車。常用指令:點 ❝ → 搜索或點一條 → 內容進輸入框待你編輯發送。

本機數據目錄爲 $DSH_HOME/wingman/(無 DSH_HOME 時爲 ~/.dsh/wingman/),含 snippets.json、custom.json、reminders.json。常用指令上限 200 條;自定義入口 30 個。

適用場景與注意

適合誰:長期在 DSH 單頁對話裏工作、需要貼邊速記/摘錄、想複用指令模板、或想一眼看上下文與子代理狀態的開發者。

權限與信任:客戶端插件隨當前 DSH 進程在瀏覽器/本機側注入 UI;自定義「運行命令」在本機執行。安裝前建議在 GitHub 閱讀 client.js 與許可證,僅從可信來源安裝。

依賴與邊界(README 已知項摘要):

  • 速記裏的便籤/跟進依賴對應插件的 HTTP 接口,缺失時只提示、不靜默丟內容。
  • 選中文字的 AI 動作用掉一次模型調用;尚無 agent 工具直接讀寫常用指令。
  • {光標} 佔位目前會被去掉,光標停在插入末尾。
  • 複製依賴剪貼板權限;跨頁選區不處理。

DSH 社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;本文事實以倉庫 README 與 package.json 爲準。

結尾

Wingman 把速記、選區動作、指令片段、小結和狀態收成一條貼邊工具條,儘量少改佈局和對話流。若要安裝或看更新,可打開 Skillhub 目錄頁 與 GitHub 倉庫;實現細節見倉庫內 docs/01-design.md。

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

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

小夜