DSH 插件:dsh-progress 進度管理

前言

在 DSH 中進行實驗跟蹤或項目管理時,需要同時兼顧甘特圖、畫板、週期管理和協作留言。手動維護這些分散的工具效率較低。dsh-progress 插件將原版單頁應用「進展.html」集成到 DSH 中,通過 Agent 工具和側邊欄界面提供統一的項目進度管理入口。數據存儲在會話項目目錄下,支持與界面共享。

核心功能

  • 16 個 Agent 工具:提供從創建、更新到搜索、導出的全流程操作接口。
  • 側邊欄集成:向 dsh-better-sidebar 註冊「進度」Tab,通過 iframe 託管原版界面,保留地圖、看板、甘特、導出 Word/PPTX 等所有功能。
  • 數據存儲:數據存儲在會話項目目錄的 .progress/progress.json(schemaVersion 3),附件存儲在 .progress/files/,包文件存儲在 .progress/package/。
  • 導入導出:支持導出 JSON、Markdown、Word/PPTX 以及完整的項目文件夾包。
  • 協作與搜索:支持協作留言與全局搜索,可查看安排、畫板和留言的上下文片段。

安裝與啓用

安裝推薦使用官方提供的安裝腳本,該腳本會自動處理網絡環境和 pnpm 的供應鏈保護策略。

1. 使用安裝腳本(推薦)

curl -fsSL https://raw.githubusercontent.com/lsqace-del/dsh-progress/main/scripts/install.sh | bash

安裝腳本默認使用 desktop profile,如需指定其他 profile(例如 web),請執行:

curl -fsSL https://raw.githubusercontent.com/lsqace-del/dsh-progress/main/scripts/install.sh | bash -s -- web

2. 使用 CLI 命令

如果網絡環境良好,可以使用 CLI 安裝。注意:npm 上存在同名無作用域包 dsh-progress(0.0.1),與本插件無關,請勿安裝。本項目 npm 包名爲 @lsqeon/dsh-progress。

dsh plugin --profile desktop add dsh-better-sidebar @lsqeon/dsh-progress

安裝完成後,需要重啓 DSH Desktop(或 dsh web)才能看到側邊欄的「進度」Tab。

Agent 工具清單

插件提供了 16 個 progress_* 系列工具,用於在對話中直接管理進度。

工具名 說明
progress_list 列表篩選(狀態/項目/日期/模板/文本),返回命中行和總數
progress_get 獲取單條完整詳情及當天畫板頁
progress_create 新建安排(包含九步記錄字段)
progress_update 部分字段更新(含 starred/提醒)
progress_delete 刪除安排及其留言
progress_board 畫板頁讀寫(get/set/addPage/deletePage/renamePage)
progress_daily_record 跨日安排的每日記錄讀寫
progress_search 全局搜索(安排/畫板/留言,帶上下文片段)
progress_overview 概覽統計(逾期定義:非 done/paused 且 endDate<今天)
progress_gantt 獲取甘特數據(行、依賴邊、指標)
progress_cycle 週期範圍讀寫
progress_comments / progress_comment_add 協作留言
progress_import 導入項目數據/分享 HTML/JSON(按 id 合併)
progress_export 導出 json / teacher-html / markdown / package
progress_info 查看存儲路徑與統計信息

典型用法

  1. 在對話中管理:使用 progress_list 查看當前安排,或使用 progress_create 快速新建任務。
  2. 可視化界面:通過側邊欄「進度」Tab 打開可視化界面,進行甘特圖拖拽或畫板編輯。
  3. 導出數據:在對話中調用 progress_export 導出 JSON 或 Markdown 文件,或在界面中導出 Word/PPTX。

已知限制

  • 併發編輯:界面與 Agent 工具併發寫同一文件時,可能因 storageRevision 衝突導致未同步改動丟失(返回 409 錯誤)。
  • 通知權限:提醒鬧鐘/通知在 iframe 內受瀏覽器權限策略影響,可能不可用。
  • 導出格式:progress_export 的 package 爲服務端簡化版,與界面導出的完整包格式兼容但不逐字節相同。
  • 路由規則:prefix 路由註冊必須不帶尾斜槓(例如 /progress,而非 /progress/),否則靜態資源無法訪問。

注意事項

  • 插件代碼通過 Electron 渲染進程頭 x-dsh-desktop-renderer 訪問服務端,shell 環境直接請求會返回 403。
  • 安裝時若遇到 pnpm 報錯,可檢查 profile 的 pnpm-workspace.yaml 是否包含 allowBuilds: node-pty: true。
羽毛球分组比赛记分
小程序二维码

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

小夜