dsh-powerup:DSH Web 客户端上的轨迹右键、任务停止原因与插件安装增强

前言

在 DeepSeek Harness(DSH)里做智能体开发,轨迹(Trajectory)是核对模型与工具调用链的主要界面;后台任务需要手动停止时,默认原因往往不够说明现场;第三方插件升级则通常要走「添加插件」对话框,步骤多、版本选择分散。官方 Harness 把能力拆成插件生态,社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系。下面介绍维护者 RestRegular 发布的客户端插件 Power-Up(@restregular/dsh-powerup):在 Web 配置下为轨迹视图、会话头后台任务面板和内置插件页提供可选的小幅增强。

这是什么

Power-Up 的定位是「Small, opt-in upgrades for DeepSeek Harness」——不替换 Host 核心 UI,而是在现有页面契约上叠加菜单、对话框和安装入口。插件分类为客户端,面向 dsh web 等 Web 客户端注入;Host 侧增加少量 loopback 路由供停止任务与重启使用。当前资料中的包版本为 0.6.1(以安装源为准)。

核心功能

Trajectory 右键菜单

打开会话并切换到 Trajectory 后,在记录行上右键可执行:

  • Copy content:复制该条记录全文。
  • Copy as quote:生成带记录 kind 的 Markdown 引用块。
  • Quote in composer:把上述引用插入当前输入框。
  • Open record details:打开 Host 自带的记录检视器。
  • Fork from here:从该记录(含该条)Fork 会话。
  • Copy session ID:复制会话 ID。

在账本空白处右键可:

  • Export trajectory JSON:导出当前轨迹快照。
  • Copy session ID。
  • Open the Power-Up page:打开侧栏 Power-Up 控制页。

菜单支持键盘:↑ / ↓ 移动,Home / End 跳转,Enter 执行,Esc 关闭。侧栏 Power-Up 页可开关右键菜单;设置保存在浏览器本地。

后台任务停止时可填原因

会话头里的后台任务面板仍使用 Host 的任务列表、实时输出与停止按钮。点击运行中任务的停止时,Power-Up 弹出主题化对话框(挂到 document.body,避免被 jobs 菜单裁剪),颜色仅使用 --dsw-alias-* 令牌,明暗主题一致。

  • 原因字段可选;留空则保持 Host 默认 cancelled by the user。
  • Enter 确认,Esc 取消。确认后通过 Host 路由停止任务,记录为 cancelled by the user: <reason>,会话内完成提示与 shell 工具结果会带上该原因。
  • 若无法将按钮解析到存活任务,则不改 Host 原有停止流程。

实现上通过 @deepseek-ai/dsh-client-ui-jobs 面板的 button[data-kill-state] 识别任务行,原因经 POST /dsh-powerup/api/job-kill 调用 registry 的 kill(id, session, reason)。

插件页一键安装与版本管理

在内置 Plugins 页面,Installed plugins 下每个第三方卡片操作区会多一个小安装图标。点击后打开安装对话框,流程与 README 描述一致:

  1. 从 Host 已配置的 registry 读取发布版本(与 Add plugin 相同,含 npmmirror 回退);列表稳定后才显示选择器。可对 registry 加星作为 Power-Up 后续安装的默认源。
  2. 输入或从浮层选择版本;输入框中的版本为准,Current / latest 标签区分已装版与最新版。
  3. One-click install 按输入版本安装并跳过启用/重启询问;默认自动启用并重启 DSH,可在 Power-Up 侧栏页关闭任一默认。
  4. 非一键路径:先移除已装副本,再按 Add plugin 同样方式校验并安装;失败会回滚到移除前的版本与启用状态。
  5. 随后询问是否启用新版本、是否重启;桌面端通过 lib/restart-helper.cjs relaunch;dsh web 下对话框说明进程由终端持有。
  6. 管理接口返回 restart-required 时,卡片显示 Restart needed,Installed plugins 标题旁显示待重启数量,栏内提供 Restart DSH。

Power-Up 自身升级走同一对话框(隐藏一键安装);因卸载会卸掉面板,Host 在应答后后台执行 removeBundle → inspect → installBundle(enabled: true),完成后需刷新页面。

安装与启用

在 Web profile 下添加插件:

dsh plugin --profile web add @restregular/dsh-powerup

安装后打开会话,切换到 Trajectory,在记录行上右键即可验证菜单。侧栏打开 Power-Up 可开关轨迹右键菜单,并配置一键安装的默认行为(自动启用、自动重启)。

典型用法

  1. 调试会话时,在 Trajectory 某条 tool 或 assistant 记录上右键 Copy as quote,再 Quote in composer,把上下文贴回输入框继续对话。
  2. 需要从某一步重开分支时,对该记录右键 Fork from here。
  3. 长跑后台 shell 需说明停止理由时,在会话头 jobs 面板点停止,在对话框填写原因后确认。
  4. 升级已安装的第三方插件:打开 Plugins,点卡片上的安装图标,选定版本后使用 One-click install 或分步确认启用与重启。

适用场景与注意

  • 适合:主要使用 DSH Web 客户端、频繁在 Trajectory 复制或引用记录、需要可审计的后台任务停止原因、希望在插件页就地换版本的开发者。
  • 权限与安全:插件以当前 DSH 进程权限运行,Host 路由为 loopback;安装前应在 GitHub 阅读源码与 LICENSE,自行判断是否信任 RestRegular 维护的包。
  • 兼容性说明:客户端菜单为纯 React + CSS,依赖 trajectory 包的 data-* 约定;若 Host 变更属性,行级操作可能降级,账本空白区会话级操作仍可用。客户端不直接 import Harness Client 包,以降低与 Host 版本耦合。

结尾

Power-Up 把轨迹操作、任务停止说明和插件版本安装收进右键菜单、对话框和插件卡片,改动均可通过侧栏关闭或恢复默认。更多说明见社区目录页与仓库 README。

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

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

Xiaoye