Foreword¶
When performing experiment tracking or project management in DSH, you need to consider Gantt charts, boards, cycle management, and collaboration comments simultaneously. Manually maintaining these scattered tools has low efficiency. The dsh-progress plugin integrates the original single-page application “Progress.html” into DSH, providing a unified entry point for project progress management through Agent tools and a sidebar interface. Data is stored in the session project directory and supports sharing with the interface.
Core Features¶
- 16 Agent tools: Provide interface operations for the full workflow, from creation and updating to searching and exporting.
- Sidebar integration: Registers a “Progress” Tab to
dsh-better-sidebar, hosts the original interface via iframe, and preserves all features such as map, board, Gantt, and Word/PPTX export. - Data storage: Data is stored in the session project directory under
.progress/progress.json(schemaVersion 3), attachments are stored in.progress/files/, and package files are stored in.progress/package/. - Import and export: Supports exporting JSON, Markdown, Word/PPTX, and a complete project folder package.
- Collaboration and search: Supports collaboration comments and global search, and can display context snippets from arrangements, boards, and comments.
Installation and Activation¶
Installation using the official installation script is recommended. This script automatically handles the network environment and pnpm supply-chain protection policies.
1. Use the Installation Script (Recommended)¶
curl -fsSL https://raw.githubusercontent.com/lsqace-del/dsh-progress/main/scripts/install.sh | bash
The installation script uses the desktop profile by default. If you need to specify another profile (for example web), run:
curl -fsSL https://raw.githubusercontent.com/lsqace-del/dsh-progress/main/scripts/install.sh | bash -s -- web
2. Use CLI Commands¶
If the network environment is good, you can install it using CLI. Note: there is a same-name unscoped npm package dsh-progress (0.0.1), which is unrelated to this plugin. Do not install it. The npm package name for this project is @lsqeon/dsh-progress.
dsh plugin --profile desktop add dsh-better-sidebar @lsqeon/dsh-progress
After installation, you need to restart DSH Desktop (or dsh web) to see the “Progress” Tab in the sidebar.
Agent Tools List¶
The plugin provides 16 progress_* series tools for managing progress directly in conversations.
| Tool Name | Description |
|---|---|
progress_list |
List filtering (status/project/date/template/text), returns matched rows and total count |
progress_get |
Retrieves full details for a single item and the current day’s board page |
progress_create |
Creates a new arrangement (including nine-step record fields) |
progress_update |
Partial field update (including starred/reminders) |
progress_delete |
Deletes an arrangement and its comments |
progress_board |
Board page read/write (get/set/addPage/deletePage/renamePage) |
progress_daily_record |
Read/write daily records for cross-day arrangements |
progress_search |
Global search (arrangements/board/comments, with context snippets) |
progress_overview |
Overview statistics (overdue definition: not done/paused and endDate < today) |
progress_gantt |
Retrieves Gantt data (rows, dependency edges, metrics) |
progress_cycle |
Cycle range read/write |
progress_comments / progress_comment_add |
Collaboration comments |
progress_import |
Imports project data / shared HTML / JSON (merged by id) |
progress_export |
Exports json / teacher-html / markdown / package |
progress_info |
Views storage path and statistics |
Typical Usage¶
- Manage in conversation: Use
progress_listto view current arrangements, or useprogress_createto quickly create a new task. - Visual interface: Open the visual interface via the “Progress” Tab in the sidebar to perform Gantt chart dragging or board editing.
- Export data: Call
progress_exportin conversation to export JSON or Markdown files, or export Word/PPTX in the interface.
Known Limitations¶
- Concurrent editing: If the interface and Agent tools concurrently write to the same file, unsynchronized changes may be lost due to
storageRevisionconflicts (returning a 409 error). - Notification permissions: Reminder alarms/notifications inside the iframe may be affected by browser permission policies and might be unavailable.
- Export formats: The
packageexport ofprogress_exportis a server-side simplified version; it is compatible with, but not byte-for-byte identical to, the full package format exported from the UI. - Routing rules: Prefix route registration must not include a trailing slash (for example
/progress, not/progress/), otherwise static assets cannot be accessed.
Notes¶
- The plugin code accesses the server through the Electron renderer header
x-dsh-desktop-renderer; direct requests in a shell environment will return 403. - If pnpm reports an error during installation, check whether the profile’s
pnpm-workspace.yamlincludesallowBuilds: node-pty: true.