dsh-todolist:在 DSH 側欄掛上看板與甘特圖的項目進度管理器

前言

在 DeepSeek Harness(DSH)裏做智能體或日常開發時,任務往往散落在對話、筆記和外部工具裏,和當前工作區並不在同一塊界面。社區插件按「一切皆插件」的思路擴展宿主能力;dsh-todolist 走的是客戶端路線:把一塊自帶看板與甘特圖的頁面接到左側欄,點開即用,數據只留在本機 localStorage,不額外發網絡請求。下面按「是什麼 → 能做什麼 → 怎麼裝 → 怎麼用」說明。

這是什麼

  • 包名:dsh-todolist(npm 描述版本 0.1.0)
  • 側欄入口:標籤 ToDoList(面板標題爲「項目進度管理器」)
  • 維護者:ericddm
  • 分類:客戶端插件(platform: web,依賴宿主提供 webServer)
  • 許可:MIT
  • 倉庫:github.com/ericddm/dsh-ToDoList

實現上是單文件 HTML 頁面(默認 assets/index.html),由插件宿主半身通過同源路由掛在 iframe 裏;界面沒有重寫成 React 組件,看板拖拽、甘特圖等交互保持原樣。

核心功能

資料中寫明的能力如下。

看板視圖:待處理、處理中、完成待審覈、已完成四列,卡片可拖拽換列。

甘特圖視圖:按截止日期排布任務條,便於查看截止壓力。

項目分組:左側項目列表,每個項目一套看板;項目內有 5 天內到期的任務時,列表上顯示小紅點。

緊迫度分級:逾期、今天、3 天、7 天、14 天、30 天,顏色自動區分。

本地數據:存在 DSH 渲染進程同源下的 localStorage,鍵名爲 sh-pm-v1;結構包含 projects 與 activeId,項目內任務含 id、title、due、col 等字段。

導出與導入:頁面頂欄可複製或下載 JSON,換機器時可整份遷移;覆蓋導入會二次確認。

自定義頁面(可選):可用環境變量 DSH_TODOLIST_HTML、插件目錄下 config.json 的 html 字段,或直接替換 assets/index.html;路徑無效時回退到自帶頁面。自定義頁面若要用頂欄導入導出,需把數據寫在同一鍵 sh-pm-v1。

安裝與啓用

前置條件:DSH 客戶端(桌面版或帶 Web 前端、且 webServer 可用)+ Node.js ^22.19.0 || >=24.0.0。

README 提到可以直接讓 DSH 從 github.com/ericddm/dsh-ToDoList.git 安裝;也可以先拿到代碼再裝進 profile。手動流程如下。

1、拿到代碼

git clone https://github.com/ericddm/dsh-ToDoList.git

也可下載 ZIP 解壓,效果相同。

2、裝進 profile

將 <插件目錄> 換成解壓後的絕對路徑,--profile 按實際 profile 名修改(桌面版一般爲 desktop)。Windows 上 dsh 常在安裝目錄的 win\resources\runtime\cli\bin\dsh.cmd:

& "D:\Program Files\DeepSeekHarness\win\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add "C:\path\to\dsh-ToDoList"

Linux / macOS 或已將 CLI 加入 PATH 時:

dsh plugin --profile desktop add /abs/path/to/dsh-ToDoList

成功時會看到類似 dependencies: + dsh-todolist 0.1.0 <- ...。若退出碼爲 1 但已打印該行,可能是 profile 裏其他插件版本衝突,與本插件無關。

3、徹底重啓 DSH

關閉所有窗口與後臺進程後重新打開。側欄「日程」下方應出現 ToDoList。客戶端模塊在啓動時掃描並緩存包元數據,熱加載不會重新掃描新裝插件。

卸載(不刪除 localStorage 數據):

& "D:\Program Files\DeepSeekHarness\win\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop remove dsh-todolist

卸載後同樣需完整重啓 DSH。

典型用法

  1. 打開側欄 ToDoList,在默認演示項目「示例項目 · 科創中心」中熟悉看板與甘特圖;若不需要示例內容可直接刪除。
  2. 新建項目與任務,拖拽卡片變更列,在甘特圖裏對照截止日期。
  3. 需要備份時:頂欄「導出」複製或下載 JSON;恢復時「導入」並確認覆蓋(會顯示舊項數與新項數)。
  4. 若曾用瀏覽器 file:// 單獨打開過同款 HTML,數據與 DSH 內不同源;用導出再導入即可合併到 DSH 側。
  5. 想確認當前託管的是哪份 HTML,在打開面板後請求同源接口:
GET /dsh-todolist/status

返回 JSON 中含 page、source(如 bundled)等字段。

長期固定自定義頁面可在插件目錄創建 config.json(參考 config.example.json):

{ "html": "D:\\我的項目\\index.html" }

或設置環境變量 DSH_TODOLIST_HTML 指向 HTML 絕對路徑。改配置或替換 assets/index.html 後,重新點開面板即可,一般不必重啓 DSH。

適用場景與注意

適合:希望在 DSH 同一窗口內管理多項目看板與甘特圖、且不希望任務數據上雲的開發者。

宿主與權限:插件以當前 DSH 進程權限運行,安裝前宜閱讀倉庫源碼與 MIT 許可證,自行判斷是否滿足安全與合規要求。

排障摘要(來自 README):

現象 處理方向
側欄無 ToDoList 未完整重啓;或查 profile 的 package.json 裏 dsh.profile.bundles 是否含 dsh-todolist
面板一直轉圈 webServer 不可用或端口衝突
頁面不像自定義版本 查 /dsh-todolist/status 是否回落 bundled
安裝報 atomic-write: timed out 刪除 profile 下殘留的 package.json.lock 後重試

首次打開自帶示例數據,不代表真實項目進度。

結尾

dsh-todolist 把看板加甘特圖的項目進度頁嵌進 DSH 左側欄,數據落在本機 sh-pm-v1,並提供頂欄 JSON 搬移與可選自定義 HTML 託管。社區目錄頁:SkillHub - dsh-ToDoList;源碼與完整說明見 GitHub 倉庫。

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

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

小夜