Task Deck:DSH Desktop 上的多会话任务控制台

前言

在 DSH Desktop 里同时开多条对话、多个分支时,会话列表只能按时间或标题浏览,很难一眼看出「哪条在跑、哪条在等你、哪条卡住、哪条该收尾」。切换会话时,个人待办、检查项和下一步动作往往散落在笔记或脑子里,和真实 session 对不上号。

Task Deck 是面向上述场景的客户端插件:它读取 DSH 实时会话目录,把每条对话呈现为任务卡片,并在侧边栏提供仪表盘、详情与统计,便于继续、分叉或交接,而不复制对话正文。

这是什么

Task Deck(astephengoo-arch/dsh-task-deck)由维护者 astephengoo-arch 发布,分类为客户端插件。定位是 personal multi-session mission control for DSH Desktop:基于 live DSH session catalog,把会话组织成可管理的任务视图,个人标注层与对话内容分离,不改写 transcript。

核心功能

下面按 README 已说明的能力归纳,均可在安装后于 Web/Desktop 客户端使用。

入口与总览

  • 在 sidebar.panellist 增加 Task Deck 入口;Blocked 与 Review 状态会在徽章上汇总计数。
  • Live Dashboard:按状态分组展示真实 DSH 对话,支持搜索与状态筛选。

任务详情与线程

  • Task Detail:展示 session 标题、ID、workspace、运行状态、fork lineage;可编辑个人 Next Action、个人 checklist、相关对话与 review gate。
  • Task Thread:右侧栏 Tab 与会话头启动器绑定当前 sessionId,便于在同一会话上下文中跟进。

继续、分叉与交接

  • Continue:打开当前对话(ctx.uiWorkspace.openSession(sessionId))。
  • Fork / Handoff:通过 ctx.sessions.fork({ sessionId, increaseTitle: true }) 创建真实子会话;支持 fork 并标记为 waiting,用于并行工作流。

个人标注与状态

  • 状态覆盖、Next Action、检查项、优先级、分支标签、别名等保存在浏览器 localStorage(键名 dsh.taskDeck.annotations.v1),不会写回对话内容。
  • Active 由运行时决定:agent 运行中为 Active,停止后回到 Waiting 或你手动设置的 Blocked / Review / Done。
  • Idle auto-complete:非运行且未手动设状态的会话,在可配置的空闲窗口(1 小时至 30 天,默认 14 天)后自动变为 Done;手动设为 Waiting 可保持打开,选 Auto 则恢复自动规则。

统计页

  • 按会话统计工作时间、墙钟跨度、轮次与 token(input / cache read / cache write / output)。
  • 使用手绘 SVG 图表(无第三方 chart 库、无外链):日 token 堆叠趋势、日工作时间折线、7×24 活动热力图、token donut、会话时间线与 KPI sparklines。
  • 费用维度:对 cache-hit input、cache-miss input、cache-write、output 分别计价;按北京时间区分峰谷(工作日 09:00–12:00、14:00–18:00 为峰时;夜间、周末与法定假日对 DeepSeek 模型按半价);提供可编辑价目表。数据由 Host 侧从 durable log 聚合,经 GET /task-deck/stats(仅 loopback、纯数字)提供给客户端。

数据如何流动

层级 来源
Session 身份、标题、workspace、运行/空闲、最近活动、fork 父级 ctx.sessions.list
状态覆盖、Next Action、checklist、优先级、分支标签、别名 localStorage 个人标注
Continue ctx.uiWorkspace.openSession(sessionId)
Fork / Handoff ctx.sessions.fork({ sessionId, increaseTitle: true })

Task Deck 不复制 transcript。Done 可手动设置,也可由最后活动时间推导的空闲规则自动完成。

安装与启用

环境要求(来自官方说明):

  • DSH >= 0.2.1-rc.5
  • Web/Desktop Client 需具备 sidebarRightTabs 与 sidebarRight

插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证,确认符合你的安全与合规预期。

从 Release 压缩包安装

在 GitHub Releases 下载 dsh-task-deck-1.5.0.tgz(版本以 Release 页为准),让 DSH agent 执行:

plugin_manager install_bundle /absolute/path/to/dsh-task-deck-1.5.0.tgz

刷新 DSH Web GUI 后,入口出现在侧边栏靠下位置,与 Plugins、Schedules 相邻。

从源码目录安装 bundle

若已有插件源码目录(官方 README 给出 clone 地址供获取源码),可对目录本身执行 bundle 安装:

plugin_manager install_bundle /absolute/path/to/dsh-task-deck

同样刷新 Web GUI 后使用侧边栏 Task Deck。

典型用法

  1. 打开侧边栏 Task Deck,在 Dashboard 用搜索和状态筛选定位会话。
  2. 点进 Task Detail,填写 Next Action 与 checklist,按需改优先级、别名或分支标签。
  3. 会话仍在跑时状态为 Active;agent 停走后按你的标注或自动规则进入 Waiting / Done 等。
  4. 需要并行尝试时选 Fork 或 Handoff;要回到原对话用 Continue。
  5. 在统计页查看 token 与工作时间;若关心成本,在价目表中调整各 token 类型与峰谷规则后查看 money 维度。

在同一会话中,可用 Task Thread 右侧 Tab 或会话头入口,始终绑定当前 sessionId。

适用场景与注意

适合:同时维护多条 DSH 对话与 fork 分支的开发者或重度用户;需要个人任务层(下一步、检查项、Review/Blocked)且希望与 session 元数据同源、标注仅存本地的场景。

隐私(README 声明):仅读取 DSH session 元数据;个人标注存浏览器 localStorage;不上传 transcript、无分析、无对外网络请求。

注意:统计接口仅本机 loopback;自动 Done 依赖空闲窗口配置,长期「挂着但不跑 agent」的会话可能被自动归档,需 Waiting 时可手动锁定状态。

结尾

Task Deck 把 DSH 实时会话目录当成任务板,在不动对话正文的前提下补上个人 mission control 与可选的费用向统计。目录与文档:

  • 社区目录页:https://www.skillhub.cn/plugins/astephengoo-arch/dsh-task-deck
  • 源码与 README:https://github.com/astephengoo-arch/dsh-task-deck

DSH 生态遵循「一切皆插件」;社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

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

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

小夜