前言¶
在 DeepSeek Harness 的日常使用中,管理多個工作區與大量會話是常見場景。當對話列表過長時,快速定位正在進行的對話或關鍵參考內容會變得耗時。爲了解決這個問題,需要一種能夠將特定會話固定在側邊欄頂部的機制,以便在切換工作區時依然保持即時訪問。
插件定位¶
dsh-session-pin 是由 OpenSaozi 維護的 DeepSeek Harness 網頁版插件。它的核心功能是提供全局會話置頂能力,允許用戶將重要的對話“釘”在側邊欄頂部,形成一個獨立的置頂區域,從而在所有工作區中保持可見。
核心功能¶
該插件通過以下方式優化會話管理體驗:
- 跨工作區持久化:置頂的會話會保持在側邊欄頂部區域,無論用戶如何切換工作區,該列表始終可見。
- Codex 風格交互:提供類似 Codex 的快速操作,點擊會話菜單即可執行“置頂/取消置頂”。
- 歸檔生命週期集成:置頂狀態會隨會話的歸檔操作保留。當會話被取消歸檔時,置頂位置會自動恢復。
- 輕量級本地存儲:數據存儲在
$DSH_HOME/settings.yaml的ui-session-pin.pinnedSessionIds字段中,僅記錄會話 ID,無需手動編輯配置文件。 - 乾淨卸載:移除插件不會修改對話記錄、工作區路徑或憑據,卸載後所有會話將恢復到默認的列表順序。
安裝與使用¶
此插件不運行在標準的 Harness 上,安裝前必須滿足特定條件。
前置條件¶
需要將 patches/harness-session-pin.patch 應用於 dsh-v0.1.1-rc.2 的檢出版本。未打補丁的安裝會導致入口掛起且 Web UI 無法加載。
安裝步驟¶
使用官方安裝命令將審覈過的版本添加到 Web 配置文件中:
dsh plugin --profile web add github:OpenSaozi/dsh-session-pin#<commit-sha>
使用方法¶
- 安裝完成後刷新頁面。
- 在左側側邊欄的任意對話行上懸停,會出現操作菜單。
- 點擊菜單中的“Pin Session”即可將該會話置頂,新置頂的會話會自動移動到列表頂部。
兼容性與隱私¶
兼容性要求¶
- 宿主環境:主機所有者需要通過設置 API 暴露
ui-session-pin配置項。如果未暴露,插件將不顯示置頂控制,且不會在本地存儲副本。 - DeepSeek Harness 版本:需要
@deepseek-ai/dsh-client-ui-workspace包暴露ctx.sessionPins提供者註冊表。
隱私與模型交互¶
- 數據存儲:插件僅持久化會話 ID 列表。它不會存儲提示文本、模型響應、憑據、工作區路徑或提供者請求。
- 模型可見性:模型無法感知置頂狀態。請求組裝過程不會讀取
pinnedSessionIds字段。 - 資源消耗:該插件不產生令牌消耗,也不會影響 KV 緩存效果。
限制與注意事項¶
- 排序限制:置頂區域內部不支持手動拖拽排序。置頂操作會自動將會話移動到列表最上方;普通的拖拽排序僅適用於工作區文件夾和普通列表行。
- 依賴特定版本:由於涉及底層 UI 的注入,插件對 Harness 版本有特定要求,升級 Harness 可能需要重新檢查兼容性。
總結¶
dsh-session-pin 通過輕量級的方式解決了多項目、多會話管理中的定位問題。它專注於 UI 層面的輔助,不干擾模型推理過程,適合需要頻繁在特定對話間切換的用戶。