dsh-session-todos:DeepSeek Harness 會話內待辦事項插件

DeepSeek Harness(DSH)採用插件化架構,擴展性強。但在實際使用中,如果在一個會話裏同時推進多個任務,容易遺漏進度。dsh-session-todos 針對這一場景,提供了一個會話內待辦事項插件,幫助用戶在一個對話窗口內管理併發任務。

功能說明

界面與交互
- 懸浮面板:在聊天窗口右上角懸浮待辦面板,支持收起、滑入滑出動畫。
- 📌 釘住:點擊面板標題欄的 📌 圖標可釘住面板,防止自動收起。
- 移動端適配:點擊面板外任意區域自動收起,支持手勢操作。

任務操作
- 勾選保存:勾選任務行即時保存狀態,文字置灰。
- 原地編輯:雙擊任務文字進入多行編輯模式(textarea),按 Enter 保存,Esc 取消,Shift+Enter 換行。
- 拖動排序:長按任務文字上下拖動,實時預覽落點,鬆手提交。
- 追加發送:點擊任務行的 ↗ 圖標,將任務文本追加到消息發送框。
- 刪除:支持刪除任務,帶確認彈窗。

數據與同步
- 服務器端存儲:任務數據存儲在服務器端,文件位於 ~/.dsh/dsh-session-todos/<sessionId>.json。跨設備登錄同一 DSH 環境可同步數據。
- 側邊欄徽章:左側會話列表中,有未完成任務的會話會顯示 🎯 徽章。

安裝與啓用

本插件爲 Host 和 Client 兩半的 bundle 插件,要求 DSH Web 端環境。

dshpm install https://github.com/seeingrain/dsh-session-todos.git --profile web

安裝後重啓 dsh-web,或強制刷新瀏覽器(Ctrl+Shift+R)。

使用方法

  1. 打開任意會話,點擊聊天窗口右上角的 🎯 圖標展開面板。
  2. 點擊底部的 + 按鈕新建任務。
  3. 雙擊任務文字進行編輯。
  4. 長按任務文字上下拖動調整順序。
  5. 點擊 📌 釘住面板,防止點擊外部時自動收起。

實現原理與限制

  • 架構:插件分 Host(lib/index.js)和 Client(lib/client.js)兩半,均爲獨立自包含,不修改 DSH 源碼。
  • 存儲:Host 半邊在 webServer 註冊路由,將任務持久化爲 JSON 文件;Client 半邊將面板掛載至 shell.overlay 插槽。
  • 依賴:會話列表徽章依賴 React 18 fiber 結構,若 DSH 或 React 升級導致結構變化,插件會優雅降級(不顯示徽章)。
  • 本地狀態:面板的展開/收起狀態及釘住狀態存儲在瀏覽器 localStorage,不隨服務器端數據同步到其他設備。

總結

dsh-session-todos 提供了一套輕量級的會話任務管理方案。它利用服務器端存儲保證數據同步,利用懸浮面板和側邊欄徽章提供直觀的進度反饋。適合需要在同一對話中管理多任務流的 DSH 用戶。

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

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

小夜