前言¶
DeepSeek Harness (DSH) 的设计理念是插件化,旨在扩展客户端功能。在进行多步骤任务或长时间对话时,后台运行状态、子代理进度以及会话概览往往分散在界面各处,不易集中管理。dsh-task-console 插件通过翻转界面,提供了一个悬浮的毛玻璃任务控制台,将当前会话的核心数据整合在统一的视图下。
插件定位¶
这是一款由 He2way 维护的 DSH 客户端插件。它将当前的对话页面翻转至背面,呈现一个毛玻璃质感的任务板,实时展示会话概览、后台任务、子代理、工作区及插件状态。插件支持自定义卡片、无限画布协作以及通过对话直接生成卡片。
核心功能¶
一体两面翻转与统一悬浮窗¶
点击页面右下角的玻璃按钮,页面会围绕垂直中心轴翻转,露出背面的任务控制台。此时对话输入框会保持固定并自动变形为悬浮窗,确保在查看任务板时仍可正常输入和发送消息。关闭或按 Esc 键可返回会话界面。窗口初始大小为 440×480,支持通过拖拽顶部栏移动,拖拽右下角调整大小(320–viewport 限制)。
当前会话实时数据¶
任务板通过 DSH 的标准数据源 useSessions 提供实时数据:
* 会话概览:标题、运行/空闲状态、阶段、来源及实时任务/子代理计数。
* 后台任务:实时展示后台任务的状态、类型标签、标签及运行时长。
* 子代理:会话中子代理的目录,包含子任务/分叉、运行/空闲状态及 ID。
* 工作区:当前工作目录、会话 ID 及最后更新时间。
* 插件管理:动态插件清单,显示插件名称、运行/停止状态及操作(停止/移除)。
卡片交互与持久化¶
任务板由多个卡片组成,内置卡片(会话、任务等)为只读,用户卡片支持:
* 操作:置顶(📌)、删除(🗑,需二次确认)、折叠(▴/▾)。
* 持久化:卡片的位置、大小和状态保存在浏览器的 localStorage 中(键名 dsh.taskconsole.v1)。
* 复位:可恢复内置布局,同时保留用户自定义卡片。
无限画布与多人协作¶
任务板支持无限画布功能。点击顶部的“画布”按钮可进入全屏模式,支持滚轮缩放(指针锚点)、拖拽平移。用户可将卡片发布到画布上,画布支持图片拖拽或粘贴。
多人协作需启动 relay/server.mjs(零依赖 WebSocket 中继)。通过“复制分享串”发送房间快照,使用“协作 → 加入”加入。冲突解决策略为“最后写入者胜出”。
对话生成卡片与内嵌应用¶
- 对话生成:在对话中使用
[taskcard]...[/taskcard]语法,AI 可根据内容自由创建卡片,支持文本、表格、图表、按钮等多种控件。 - 内嵌网页应用:卡片可托管其他 Web 应用。通过
embed控件或编辑器的“内嵌网页应用”区域设置。仅支持绝对路径的http或httpsURL,不支持javascript、data:、file:或blob:协议。
安装与启用¶
目前资料中未明确给出官方安装命令。建议直接访问 GitHub 仓库查看安装说明。
典型用法¶
- 切换视图:点击右下角玻璃按钮切换至任务台,或使用
⇄ 任务台/Esc返回。 - 调整卡片:按住卡片顶部栏拖拽移动,按住右下角拖拽调整大小。
- 生成卡片:在对话中输入包含
[taskcard]的内容,助手将自动在任务板上生成对应卡片。 - 加载外部应用:在卡片编辑器中配置
embed控件,输入http://localhost:5173等地址,拖拽卡片底部边缘调整 iframe 高度。
注意事项¶
- 动画偏好:插件会尊重系统的
prefers-reduced-motion设置。 - iframe 限制:内嵌网页应用仅支持
http和https协议。 - 协作环境:多人协作功能需要单独启动
relay/server.mjs服务。 - 权限范围:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
结尾¶
dsh-task-console 将任务管理从分散的界面中提取出来,通过悬浮卡片和实时数据流,为长对话和复杂任务提供了一种直观的管理方式。更多细节和更新请查阅项目目录或 GitHub 仓库。