dsh-process-panel:为每条回答提供简体中文「进程」讲解

前言

在 DeepSeek Harness(DSH)Web 里跑 agent,一条回答背后往往是多轮思考、多次工具调用,有时还有报错。默认界面能看到原始事件或英文 reasoning,但想快速理解「这一轮到底在干什么、为什么调这个工具、错了意味着什么」,仍要自己对号入座。

dsh-process-panel 在每条回答旁增加 「进程」 入口:点开右侧抽屉,用简体中文、流式说明该回合 agent 的思考、工具调用与错误含义。讲解与主对话隔离,不写入会话日志,也不打断正在跑的 agent。

这是什么

  • 插件名称:dsh-process-panel(仓库 Qcsj777/dsh-process-panel)
  • 维护者:Qcsj777
  • 分类:客户端(Web UI 槽位 + Host 侧 SSE)
  • 许可:MIT(见仓库 package.json)
  • DSH 要求:engines.dsh 为 >=0.2.1-rc.2

一句话:给 DSH Web 的每条回答加一个 Process 抽屉,按 turn(一轮回答) 隔离,一条回答对应一份讲解记录;英文思考会转述为中文(非逐字翻译),工具调用与报错会用中文说明在做什么、为什么、以及影响与下一步。

核心功能

入口与交互

位置 什么时候出现 点击效果
回答末尾操作行(复制 / 好的回答 / 有问题的回答 旁) 该回答已完成 打开本轮执行讲解
输入框下方「这一轮正在生成,可以看 进程」 该轮仍在生成 同上,可边生成边看

抽屉右上角:

  • 收起:抽屉滑走但连接保留,讲解继续,可随时再点开。
  • 关闭:断开连接并中止正在进行的讲解调用(不再消耗 token);已有讲解保留,下次点开从 backlog 接着讲,不从头重算。

头部会显示本轮已消耗的讲解 token(例如 约 1.2k tokens;模型未回 usage 时按字符估算)。

讲解内容与 step 对齐

主 agent 一步(一次思考 + 该步动作)对应抽屉里一张卡片,不合并、不拆分。标题会标明类似「第 1 轮 · 第 3 步 · 工具」。

  • 英文思考 → 中文转述
  • 工具调用(参数、文件名、命令等)→ 中文说明用途与原因
  • 报错 → 先用人话解释含义,再说明影响与下一步

边界以 step/start、step/end 为准;同一回合内讲解按 step 串行队列生成,顺序不乱。讲解员认为无新增信息时可输出空内容,此时用确定性兜底文案占位,仍一步一卡。

租约:打开才讲、关闭即停

  • 抽屉未打开时不调用讲解模型,只把结算好的 step 攒进 backlog(上限 400 条)。
  • 打开时先回放已有卡片,再按顺序补播 backlog;若该回合尚无讲解且无 backlog,会从会话快照补讲该轮全部 step(串行,环节多时会逐条往下)。
  • 关闭抽屉会立刻 AbortController.abort() 掐掉在飞调用;重开只回放已生成卡片,不会因再次点击而重算一遍。

讲解使用当前会话本轮的模型路由(来自 request/header 的 provider/model),不另配模型;未拿到路由时会提示「当前会话还没有可用的模型路由(先发一条消息试试)」。

架构概要

Host(index.js)按 turn 建租约,把同一 step 的素材结算后串行调用 LLM「讲解员」,经 GET /process-panel/stream?session=<id>&turn=<n> 以同源 SSE 推送。Client(client.js)注册 conversation.chat.assistant-actions、conversation.composer.dock、shell.overlay 三个槽位。讲解不触发新的 assistant-stream,不污染对话。

安装与启用

在已安装 DSH 且使用 desktop profile 的环境下,安装命令如下(与仓库 README 一致):

dsh plugin --profile desktop add github:Qcsj777/dsh-process-panel

本地开发可将 profile 的 dependencies 写成 "dsh-process-panel": "link:D:/path/to/process-panel" 等形式链接本地目录。

  • 修改 index.js 后:重启 DSH,或 disable → enable 该插件,让 Host 重新加载。
  • 修改 client.js 或 locale/*.json 后:刷新 Web 页面(Ctrl+R),让渲染进程重新注册槽位。

典型用法

  1. 安装并启用插件后,在 DSH Web 中正常与 agent 对话。
  2. 某条回答生成完成后,在回答末尾操作行点击 进程,右侧抽屉流式出现中文卡片,每张卡对应一个 step。
  3. 若回答仍在生成,可在输入框下方点击「这一轮正在生成,可以看 进程」,边跑边看。
  4. 需要省 token 时点击 关闭 中止讲解;稍后再开同一轮的进程,会从已有内容与 backlog 继续,不会整轮重讲。

验证改动时:生成中打开应逐条出现卡片;关闭应立即停掉讲解;再次打开应从已有卡片继续(仓库 README 中的手动测试说明)。

可调参数与注意

Host 侧常量均在 index.js 顶部,例如 SETTLE_GRACE_MS(默认 120)、MAX_TOKENS(默认 1200)、BACKLOG_MAX / MAX_QUEUE(默认 400)等。调小 MAX_TOKENS 可能导致思考预算占满、正文为空;README 以 320 为例说明过该现象。

适用场景:需要在 DSH Web 里用中文快速跟进单轮 agent 执行过程、工具链与错误的开发者或使用者。

安全与权限:插件以当前 DSH 进程权限运行,会调用与会话相同的模型路由做讲解。安装前请阅读 GitHub 源码 与 MIT 许可证,自行评估是否满足环境要求。DSH 社区插件目录(如 SkillHub 条目)为独立生态站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-process-panel 把「这一轮 agent 在做什么」从原始事件流里抽出来,用简体中文、按 step 卡片流式讲清楚,并支持打开才消耗、关闭即停、重开续讲。需要安装或 issue 时,见 GitHub 仓库 与 SkillHub 目录页。

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

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

Xiaoye