dsh-session-unfold:把 DSH 会话平铺成任务大屏

前言

DeepSeek Harness(DSH)的 Web 客户端里,会话默认挤在侧边栏:通常只能看到标题和时间。并行任务一多,很难一眼分清哪些会话还在跑、哪些在等你拍板、哪些已经收尾。要在多个会话之间来回点选,成本会越来越高。

下面介绍社区客户端插件 dsh-session-unfold(npm 包名 @yornni/dsh-session-unfold):它不改动 DSH 原有文件,而是在侧边栏增加入口,把所有会话展开成全屏「任务大屏」——一个会话一张卡片,最近消息和待办信号集中在同一张屏上处理。

这是什么

dsh-session-unfold 由 Yornii 维护,分类为 客户端 插件,许可证 MIT。定位是:把侧边栏的会话列表换成全屏平铺视图,点开卡片即可进入对应会话;在卡片上还能做部分就地操作(回复、答题、审批等),减少在列表与会话页之间的切换。

插件逻辑集中在 client.js,通过 Cordis 补丁注册 sidebar.footer.action 与 shell.overlay 两个槽位,不覆盖已有 UI。DSH 生态强调「一切皆插件」;目录页 skillhub.cn 与 GitHub 仓库均为社区来源,与 DeepSeek / 幻方无官方从属关系。

核心功能

任务大屏与卡片

左下角出现 「任务大屏」 入口,打开后全屏展示所有会话卡片;用 Esc 或右上角 ✕ 关闭。卡片支持缩放并吸附其它卡片、双击重置尺寸;行内改名;独立 「打开会话」 按钮进入完整会话界面。

状态分为 进行中、已完成、待确定,由插件只读推断(运行中为进行中;非主视图会话刚结束且完成提醒未读为已完成;其余为待确定)。大屏按「进行中 → 已完成 → 待确定」排序;置顶与侧栏共用同一份数据,其余按活跃时间倒序。顶栏可开关 子智能体窗口(origin === 'subagent'),默认隐藏,纯只读。

消息时间线与筛选

卡片展示用户消息与助手回复(Markdown 子集渲染)。顶部可在 全部 / 仅用户 之间切换。支持历史消息分页、搜索、状态筛选、工作区标签与运行中徽标;初始展示 12 个窗口,更多通过 「再看 N 个」 翻页。

澄清提问与内联回复

ask_user_question 的问题按助手消息显示,回答紧随其后;待答时可在卡片内点选选项或填写答案提交,跳过的题标注 已跳过。内联回复与真实输入框共享草稿:Enter 发送,Shift+Enter 换行。

拖拽上传与权限审批

把文件拖到任一可写会话卡片,即上传到该会话的草稿附件(与真实输入框共用同一份);卡片显示上传状态和附件数,发送时一并投递。预览与移除仍在会话输入框中完成。

待审批时卡片显示工具与原因,可直接 允许一次 或 拒绝。计划审阅(plan-review)等其它 pending interaction 仍需进入会话。

新建、置顶与批量删除

顶栏可新建会话并加入大屏,不跳转离开当前视图。置顶走与侧栏一致的 uiWorkspace.pinSession 数据。

多选后可 批量永久删除 窗口及对应会话,需二次确认;该能力依赖单独插件 dsh-session-delete(提供 delete-session 命令),删除后不能从「已归档」恢复。

余额与其它

打开大屏时,若宿主注入 remote.account,顶栏显示当前账户余额(¥ / $,含赠送提示),并每分钟刷新;未登录、无权限或失败时自动隐藏。界面支持中英双语。

安装与启用

在 DSH Web 配置下执行官方安装命令:

dsh plugin --profile web add @yornni/dsh-session-unfold

若包尚未发布到 npm,可改用:

dsh plugin --profile web add github:yornii/dsh-session-unfold

也可以在插件管理器中安装包含 package.json 的本地目录(需自行取得源码,本文不展开 clone 步骤)。安装后 刷新页面,左下角应出现 「任务大屏」;卸载仅移除本插件,不改动 DSH 其它文件。需要批量永久删除时,请另行启用 dsh-session-delete。

当前 package 版本为 0.14.0(以仓库 package.json 为准)。插件以当前 DSH 进程与用户会话权限运行,安装前建议阅读 GitHub 源码 与 MIT 许可证。

配置

无需 在 DSH 侧额外配置项。卡片尺寸持久化在浏览器 localStorage 键 dsh.task-board.card-size.v1;会话状态为只读派生,不单独配置文件。

典型用法

  1. 安装插件并刷新 Web 客户端。
  2. 点击侧边栏左下角 「任务大屏」,查看按状态排序的会话卡片。
  3. 需要跟进内容时,在卡片时间线中阅读最近往返;若有待答提问或审批,在卡片内直接处理。
  4. 需要完整编辑或 plan-review 等交互时,点 「打开会话」 进入标准会话页。
  5. 要把文件交给某个会话时,将文件拖到对应卡片;在卡片或该会话输入框中确认附件后发送。
  6. 整理历史任务时,可配合 dsh-session-delete 做批量永久删除(二次确认)。

适用场景与注意

适合:同时在跑多个 DSH 会话、需要总览「谁还在跑、谁在等我、谁刚完事」的 Web 用户;希望在卡片上快速回复、答题、过审批,而不是逐个打开侧栏条目的场景。

注意:

  • 状态与卡片尺寸仅存本机浏览器,换设备不同步。
  • 实时刷新、导航与尺寸持久化依赖真实页面;仓库提供 node --check client.js 与 tools/render-test.mjs 做离线结构自检,但无法覆盖全部浏览器行为。
  • 草稿从卡片改写时,引用 chip / 附件预览可能退化为纯文本。
  • timed 提问的迟到回答、被分页切开的问题与回答不显示。
  • 审批与提问可在卡片处理;其它 pending 类型仍需进会话。

维护者在 README 中列出了上述限制;使用前以仓库最新说明为准。

结尾

dsh-session-unfold 把「多会话并行」从侧栏列表提升为一张可操作的平铺大屏:读消息、答提问、过审批、拖附件、建新窗,尽量留在同一视图完成。若你正在用 DSH Web 扛多任务,可以按上文命令安装后从 任务大屏 入口试用。

  • 目录页:https://www.skillhub.cn/plugins/Yornii/dsh-session-unfold
  • GitHub:https://github.com/Yornii/dsh-session-unfold
羽毛球分组比赛记分
小程序二维码

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

小夜