在 DeepSeek Harness (DSH) 的 Web 環境中處理多輪對話或調試 Prompt 時,有時需要快速引用或複用之前的消息內容。手動滾動查找或複製粘貼會打斷操作流。該插件通過在 Web GUI 中引入方向鍵導航和懸浮歷史面板,解決了這一場景下的效率問題。
功能定位¶
這是一個客戶端插件,爲每個會話自動添加一個瀏覽器端組件。它註冊了一個懸浮在輸入框上方的歷史下拉框,並在輸入框的工具欄中註冊了一個時鐘圖標按鈕。
核心能力¶
- 方向鍵導航
當光標位於輸入框開始處時按下↑,打開歷史記錄列表(最舊在前);位於輸入框末尾時按下↓,打開列表(最新在前)。列表範圍從當前會話的對話快照中實時讀取。 - 交互邏輯
打開列表後,繼續按方向鍵可以切換記錄。按下Enter接受選中的記錄(保留輸入框中的內容),按下Esc或點擊列表外部取消並恢復到打開前的草稿狀態。點擊列表中的某一行可以直接跳轉到該條消息。 - 列表展示
支持按日期分組(今天、昨天、更早),每行顯示時間戳。長消息在列表中顯示爲 3 行截斷預覽,鼠標懸停可查看完整文本(通過瀏覽器原生title屬性實現)。連續重複的消息會被摺疊,列表最多保留最新的 500 條記錄。 - 技術實現
插件爲純客戶端 UI,不涉及主機端行爲、持久化存儲或網絡請求。代碼聲明瞭dsh.bundle.patch,並直接分發lib/index.js和lib/client.js,無需構建步驟或額外的allowBuilds權限。 - 兼容性
歷史記錄的調用不會干擾輸入框中原有的/或@菜單。輸入框中的組合鍵(Ctrl/Cmd/Alt)以及中文輸入法(IME)的編輯狀態在觸發歷史記錄前會保持不變。
安裝與啓用¶
該插件依賴 DeepSeek Harness 的 CLI 工具。
dsh plugin --profile web add github:wellorbetter/dsh-input-history
安裝完成後,需要重啓目標 profile(例如 dsh web 或 dsh --profile <name>)以加載插件。
典型用法¶
- 在任意會話中聚焦聊天輸入框。
- 如果光標在行首,按下
↑;在行尾,按下↓。這會打開歷史記錄面板。 - 使用方向鍵或鼠標滾輪選擇記錄,按
Enter確認,或點擊列表行直接跳轉。 - 也可以直接點擊輸入框工具欄中的時鐘按鈕打開面板。
注意事項¶
- 使用前請確認本地已安裝
dshCLI。 - 由於插件聲明瞭
dsh.bundle.patch,安裝時會自動合併到 profile 的 bundles 配置中。 - 插件不提供數據持久化,歷史記錄僅限於當前會話的對話快照。
該插件適用於需要在 Web GUI 中頻繁查閱或複用歷史上下文的開發者。更多細節及源碼可參考其 GitHub 倉庫。