前言¶
在管理多個會話時,頻繁切換固定狀態或標記閱讀進度往往依賴原生操作,不夠直觀。dsh-session-context-menu 插件通過擴展 DeepSeek Harness 的會話行註冊表和配件槽位,提供類似 Codex 的生命週期安全會話上下文操作。它不修補安裝的包,不檢查 React Fiber,也不查詢私有 DOM。
核心功能¶
該插件在會話行上下文菜單中提供以下操作:
- 固定與取消固定:保持固定行在現有相對順序內領先。
- 標記已讀/未讀:帶有可訪問行指示器的狀態標記。
- 工作區目錄:使用 DSH 原生路徑打開器顯示工作區目錄。
- 複製信息:複製工作區路徑、會話 ID 或瀏覽器深度鏈接。
- 打開鏈接:在新瀏覽器窗口中打開深度鏈接。
- 集成操作:在同一個菜單中使用 DSH 內置的“重命名”、“Fork”和“歸檔”操作。
使用方法¶
通過以下方式打開共享操作模型:
* 會話行上的省略號按鈕。
* 原生右鍵點擊。
* Shift + F10。
* 菜單鍵。
深度鏈接使用 ?session=<id>,並且僅當會話列表包含該 ID 時纔會被解析。
安裝¶
在兼容的上游版本發佈後,通過以下命令安裝:
dsh plugin --profile web add github:Harzva/dsh-session-context-menu
對於隔離的本地開發:
DSH_HOME=/path/to/throwaway-dsh-home dsh plugin --profile web add /absolute/path/to/dsh-session-context-menu
DSH_HOME=/path/to/throwaway-dsh-home dsh web
移除插件以清理 Host 路由、註冊表操作、配件組件和深度鏈接監聽器:
dsh plugin --profile web remove dsh-session-context-menu
持久化與隱私¶
Pin/read 狀態存儲在 $DSH_HOME/storages/dsh-session-context-menu/state.json(或配置中提供的 storeRoot)中的僅布爾值的 JSON 文件中。文件創建權限爲 0600。會話記錄、提示、工作區路徑、憑據和剪貼板內容永不持久化。主機在 /dsh-session-context-menu/state 處暴露一個同源無存儲 JSON 路由。
適用場景與注意¶
- 兼容性要求:需要 DSH 提供的
ctx.sessionRows和sidebar.workspaces.session.accessory支持。插件有意在缺少必要服務時拒絕加載,避免靜默回退到私有 UI 附件。 - 權限與安全:插件以當前 DSH 進程權限運行,不進行 DOM 檢查或私有 API 調用。Pin/read 狀態僅保存布爾值,不會保存會話記錄、提示、路徑、憑據或剪貼板內容。
- 許可證:項目使用 MIT 許可證,安裝前建議檢查源碼以確保符合當前環境需求。
總結¶
該插件通過將標準會話操作集成到上下文菜單中,減少了管理聊天曆史所需的點擊次數,同時保持了安全性和生命週期安全。獲取更多詳情或提交問題,請訪問 GitHub 倉庫。