sgzxs/dsh-global-task-list

DeepSeek Harness 全局任务库插件,具备跨会话持久化、实时生成式UI浏览器面板及子智能体任务同步功能。

Project Overview项目介绍

This is a plugin built exclusively for DeepSeek Harness (DSH), that adds a cross-session persistent global task library to your DSH agent workflow. It ships with five model-facing CRUD tools for creating, updating, listing, and deleting tasks, plus a persistent floating panel docked to the bottom-right of the DSH web interface. The panel auto-refreshes via Server-Sent Events whenever a task’s status changes, supports manual user edits to task status and deletion, and hides automatically on non-conversation views like the agent trajectory page. It follows DSH theme styling conventions and supports both Chinese and English localization.

When running a workflow with this plugin, the master agent creates tasks via the task_add tool, attaching optional metadata like progress percentage, dependency links, and a structured generative UI surface document. Any task linked to a subagent background job via a jobId will automatically sync its terminal status when the job completes, so the master agent always has an up-to-date view of all running work. This plugin is designed for DSH users that need to track long-running tasks, manage complex multi-agent workflows, and get at-a-glance views of progress through custom generative UI components.

The recommended installation method is via npm, which ships a prebuilt version of the plugin so no extra build step is required during installation. If you choose to install from the GitHub source, you will need to add an allowBuilds entry with the exact commit hash to your profile’s pnpm-workspace.yaml to get past pnpm’s default build restriction for git-hosted packages. The plugin requires DSH v0.1.2-alpha.2 or newer, is released under the open source MIT license, and has a few minor known limitations, such as no automatic graph layout for DAG components.

这是专为 DeepSeek Harness 开发的原生插件,为 DSH 提供跨会话持久化存储的全局任务库。它提供了五个面向模型的 CRUD 工具,还带有一个常驻右下角的浮动面板,支持 SSE 实时刷新任务状态,用户可手动修改任务状态、删除任务或触发分拆循环。非对话界面会自动隐藏面板,同时适配 DSH 主题色令牌,支持中英双语本地化。

主 agent 可通过 task_add 工具创建带标题、状态、描述、依赖关系和进度的任务,也可通过其他工具更新、删除、列出全量任务。关联子 agent 后台任务的 jobId 后,插件会自动根据子任务的运行状态同步更新主任务的终态,无需人工干预。它适合需要管理多任务、跟踪子 agent 作业进度的 DSH 用户,尤其适用于需要结构化展示进度的复杂多轮任务场景。

插件推荐通过 npm 预构建包安装,安装过程无需额外编译。如果从 GitHub 源码安装,需要按照说明在 pnpm 工作区配置中添加允许构建的对应提交哈希。插件要求 DSH 版本不低于 0.1.2-alpha.2,遵循 MIT 许可开源,目前已知限制包括 DAG 组件不支持图形布局等。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-global-task-list

把 sgzxs/dsh-global-task-list 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-global-task-list

A global task library for the DeepSeek Harness: six model-facing tools, a persistent browser panel, subagent job status synchronization, and a generative-UI surface renderer. Tasks persist across sessions in a storageDomain unit and survive restarts.

全局任务列表插件:为 DeepSeek Harness 提供一个跨会话持久化的任务库,附右下角常驻面板(轨迹等非对话界面自动隐藏)。主 agent 用 task_add 创建任务(带描述与进度),spawn 子 agent 后关联 jobId 自动同步终态;面板支持手动改状态、删除、拆分,并实时(SSE)刷新。任务可携带 surface 结构化文档渲染生成式 UI(进度条、时间线、表格、DAG 等)。

What it does

  • Global task library — task_add / task_list / task_get / task_update / task_delete model tools over a cross-session storageDomain unit (task_ui). Tasks carry a title, status (pending / running / done / blocked / failed), description, nextStep, an ordered steps flow, parentId, dependsOn, an optional progress ({ text, percent? }), and an optional surface document.
  • Persistent panel — a bottom-right floating panel (mounted in the session-scoped conversation.input.dock slot) subscribes to a Server-Sent Events channel (/task-ui/events) and refreshes on every task change, letting the user change status, delete (with confirmation), and trigger a generative split loop. Clicking a card expands a secondary card under it with the description, the step flow, dependencies, and timestamps. Styled with --dsw-* theme tokens and localized zh/en. It disappears on non-conversation views (e.g. trajectory).
  • Step flow — the detail card describes progress as a vertical flow rather than a bar: finished and pending steps share the plain frame, while the two that matter are drawn differently — current in a solid brand frame with a faint tint, next in a dashed one. Steps come from the owner's steps (done / current / next / todo); when it wrote none the panel derives a node from progress, and a list naming no next inherits nextStep as one. A step's state is drawn, so it is also announced to screen readers as text.
  • Panel motion — a new task rises in while the bottom-anchored panel slides up by the height it gained, which is what lifts the cards above it; a deleted card holds its slot through its exit animation and the panel retracts afterwards. Expansion is CSS-only (grid-template-rows: 0fr → 1fr). All of it is skipped under prefers-reduced-motion. A removed card is re-adopted as a ghost row inside a layout effect, so it never leaves the DOM for a painted frame — that gap was what made the whole list flash and the panel run a shrink/grow/shrink cycle on delete.
  • Resizable — drag the panel's left edge (or focus it and use ←/→) to set its width between 260px and 760px; the width is remembered in localStorage. The gesture follows ui-layout's own DragHandle: pointer capture for the whole drag, one throttled update per animation frame, and the width computed from the drag origin rather than accumulated per move.
  • Subagent job sync — a task linked to a background job via task_update(id, { jobId }) auto-advances its terminal status through the JOB_STATUS_MAP (completed→done, failed→failed, killed→blocked). Tasks are created explicitly by the master agent, never auto-registered from arbitrary background jobs.
  • Generative UI surface — a task's surface field renders a whitelisted, recursive component tree: section, metric, statusBadge, progress, table, list, timeline, dag, disclosure.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-lazy-tools 下一个 Next dsh-cli →