packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
在侧栏面板或会话行菜单里批量归档/恢复整个工作区的全部会话;工作区会话全部归档后从侧栏隐藏,恢复任一会话即重新出现;并支持工作区置顶。隐藏不删除日志、不移动目录、不改会话归属。
@local/dsh-workspace-archive 0.2.1, a plain-JavaScript DSH Web / Desktop plugin with no build step.
Archive or restore a workspace's conversations in one action. Once all real conversations are archived, the entire workspace disappears from the sidebar, including its blank New Session entry. It remains available in the Workspace Archive management panel. Restoring any real conversation shows it again. Workspace pinning is also supported.
Open the archive icon in the sidebar. The panel shows each workspace's path, session counts, Archive all, Restore all, pin controls, and an expandable conversation list. A hidden workspace carries a Hidden from sidebar tag. Session row menus also offer workspace archive and pin actions.
Archive requests ask for confirmation. Running sessions are skipped by default; work stops only when the operator explicitly selects Also stop running sessions or the corresponding retry action. A floating progress card permits panel navigation and cancellation of remaining work. Results report failures and offer an undo action.
Pins use the Host's workspaces.insertBefore reorder and keep the pinned block ahead of new workspaces and manual moves. The most recent pin leads; unpinning places a workspace below the remaining pinned block. Order is Host-durable, while pin membership is browser-local under dsh.workspace-archive.pinned-workspaces. Controls are hidden when the reorder API is unavailable.
Install this directory through the DSH plugin manager. The manifest's dsh.bundle.patch points to cordis.patch.yml, inserting the workspace-archive row. The Host entry has no business behavior; archive operations still use uiWorkspace.archiveSession/unarchiveSession.
Use the manager's application and nextStep results to determine whether an update is live. Source edits alone do not imply an existing browser has reloaded the code. Refresh the current DSH page after updating; restart Desktop first when the manager requires it.
The 0.2.1 sidebar contract was checked against DSH 0.2.1-rc.3. That version exposes neither a workspace visibility filter nor an official occupant-wrapper API. The isolated installSidebarFilter compatibility adapter wraps the live sidebar.workspaces entry's component and filters only its workspace/session props. The entry's existing children, store, inject face, locale, and actions remain in place. It does not redeclare children, import Harness Client packages, or read/write other plugins' DOM.
This depends on the mutable entry representation, not a Host-guaranteed stable filter extension point; Host upgrades need regression verification. The adapter follows the declaration lifetime through slots.inject, observes entry replacement, and restores the original component when unloaded. The management panel keeps the full snapshots. Disabling the plugin removes workspace hiding but leaves session archive records intact.
node scripts/check.mjs
node --test 'test/**/*.test.mjs'
Coverage includes archive button wiring, running-work refusal, pins, completed workspace hiding, blank placeholders, partial archives, missing summaries, loading baselines, Ungrouped/search leakage, restoration, saved account keys, entry replacement, and unload restoration. See VERIFICATION.md for installation and browser validation limits; stubbed component tests do not establish the actual rendered result.