前言¶
在 DeepSeek Harness(DSH)裏跑會話,Web 側邊欄的會話行「…」菜單是日常操作入口。但官方菜單提供的動作有限:跑完的會話想稍後再看,沒有「標爲未讀」;想把會話 ID 貼進腳本,只能自己到界面上找;歸檔一點就執行,誤觸沒有緩衝。會話一多,這些小事每次都要繞一下。
DSH 的理念是「一切皆插件」,界面層的這類補缺正適合用插件來做。dsh-more-session-operations 就是這樣一個插件:它在會話行「…」菜單裏新增「標爲未讀」「複製會話 ID」「刪除會話」三個操作,並給官方歸檔加上二次確認。下面按功能、安裝、典型用法的順序介紹。
這是什麼¶
dsh-more-session-operations 是一個 DSH 客戶端插件,由 Ruiming-cn 維護,許可證爲 MIT,當前版本 0.3.1。一句話定位:DeepSeek Harness Web 側邊欄會話行「…」菜單增強插件。
插件分兩端:
1、宿主端註冊刪除端點 POST /__dsh-more-session-operations/delete,負責會話刪除;
2、客戶端負責 DOM 注入菜單項、攔截歸檔操作、彈出確認框。
運行環境要求:客戶端面向 web 平臺(dsh.client.platform: web),注入依賴 @deepseek-ai/dsh-client-runtime;宿主端要求 Node >= 20,peerDependencies 爲 cordis >=4.0.0-rc <5。
核心功能¶
標爲未讀¶
在「複製會話 ID」上方新增「標爲未讀」操作。點擊後複用官方「已完成但未打開」的綠色提醒點;進入或選擇該會話後自動清除,不需要再手動標回已讀。未讀標記與官方完成提醒一樣,是會話運行期狀態,不額外落盤。
複製會話 ID¶
點擊後把會話 ID 寫入剪貼板,菜單項上短暫顯示「已複製」。
刪除會話¶
點擊後先彈二次確認彈窗,確認後通過宿主端 POST /__dsh-more-session-operations/delete 物理刪除會話。刪除鏈路包括:
- 停止運行中的 agent;
- 刷新/分離會話;
- 刪除日誌目錄與 projection/workspace 記賬。
同時遞歸同步刪除所有後代子代理會話;普通分叉會話保留。
同源保護¶
刪除端點校驗 Origin / Sec-Fetch-Site,拒絕跨源瀏覽器請求。
歸檔會話二次確認¶
攔截官方「歸檔會話 / Archive session」菜單項:點擊後先彈確認彈窗,確認後調用官方 __workspacesSvc.archiveSession(sessionId) 完成歸檔,取消則不做任何操作。
安裝與啓用¶
先在插件倉庫目錄打包:
npm pack # prepack 會自動構建 lib/
npm pack 會生成一個 tgz 包,再用官方插件安裝命令裝進 web profile:
dsh plugin --profile web add <生成的 tgz>
典型用法:本地開發與運行時注入¶
如果你在改這個插件,或者參考它寫自己的插件,可以先構建,再在已加載 dsh-super-injector 的 web 會話中注入本地倉庫,省去每次打包安裝:
npm run build # 把 src/ 同步到 lib/
然後在 web 會話裏執行:
dev_inject_plugin {"dir": "<本倉庫絕對路徑>"}
適用場景與注意¶
適合長期在 DSH Web 界面裏同時跑多個會話、需要在側邊欄快速整理會話的開發者。
使用前注意:
1、插件以當前 dsh 進程的權限運行,「刪除會話」是物理刪除,且會遞歸刪除所有後代子代理會話,安裝前建議先檢查源碼與許可證(MIT);
2、插件只面向 web 平臺,其他平臺不適用;
3、宿主端刪除邏輯複用/裁剪自 lsz-asd/dsh-plugin-session-delete,僅保留 HTTP 端點,不註冊模型工具。
小結¶
這個插件做的事情不復雜:把會話菜單裏缺的幾個高頻操作補上,再給危險操作加一道確認。如果你經常在 Web 側邊欄整理會話,可以按上面的步驟裝上試試。
- GitHub:https://github.com/Ruiming-cn/dsh-more-session-operations
- 社區插件目錄:https://www.skillhub.cn/plugins/Ruiming-cn/dsh-more-session-operations(獨立社區站點,與 DeepSeek / 幻方無官方從屬關係)