dsh-explain-assistant:主对话旁的只读「解释小助手」

前言

在 DSH Web GUI 里跑主 agent 时,常见两类尴尬:任务要跑很久,中间几分钟没有「人话」,你不确定是在正常推进还是卡死、跑偏;或者输出满屏命令和文件名,非开发背景的人很难判断项目做到哪一步。直接在主对话输入框问「你现在在干嘛」会插进上下文,可能打断正在执行的任务。

下面介绍社区插件 dsh-explain-assistant(维护者 yunliya-cuter,分类:客户端):在主对话右上角提供「?」入口,点开独立浮窗,用白话中文解释主 agent 在做什么。它只读、不向主 agent 发消息、不改主上下文,主 agent 不会感知你在旁询问。

这是什么

dsh-explain-assistant 是 DSH(DeepSeek Harness) 的 Web GUI 插件:独立浮窗 + 单独可选模型,基于主 agent 的工具调用与执行结果(以及可选的主对话步骤卡片)做解释与追问,不执行命令、不写工作区文件。

核心功能

盯进度、讲人话

小助手读取的是主 agent 的工具调用与执行结果,而不只是最后一段总结,因此能回答「哪一步在跑、成没成」。依据会分级标注:已观察到 / 仅据汇报 / 无从得知;信息不足时固定说明「该步未提供足够信息」,不凑空话。

每次解释按四个要素组织:在干什么、为什么做、实际产出、哪里可以调整(便于你问「这一步有必要吗」「接下来该做什么」,且不会自动改任何东西)。内置术语对照(如工具调用、终端、上下文等),出现时当场用一句白话说明。

不打扰主 agent

主 agent 解释小助手
提问位置 主对话输入框 右上角「?」浮窗
是否打断 会占用上下文 独立请求,不写主对话
回答模型 干活的那个 你在 DSH 里单独选择的模型
能力边界 执行任务 7 个只读工具,无执行、无写入

工具白名单在宿主侧限定;路径越界(绝对路径、..、符号链接出界)会拒绝并给出中文原因。小助手问答不注入主 agent 上下文,不取消主任务,不覆盖输入框草稿。

界面与持久化

  • 右上角 「?」;有新回答时为 「? ·」(硬刷新后仍保留未读态)。
  • 浮窗标题「解释小助手」,首次打开提供四个快捷问题;可选「选择主对话内容」后点主对话里的步骤卡片或助手汇报,围绕该条追问。
  • 浮窗可拖动、缩放;支持 /compact(只压缩小助手后续参考的上下文,完整问答仍可查);右下角圆环显示小助手自身占用(估算会标注「估算」,无容量则「占用未知」)。
  • 每个主对话一份记录:$DSH_HOME/explain-assistant/sessions/<主对话 id>.json;主对话归档时,对应记录与图片快照会保守清理。

模型未选时不发请求;模型不可用时,仍可看本地生成的基本说明,并标注非模型解释。默认总超时 300 秒、空闲 120 秒,可通过环境变量收紧(非法值回退默认)。

环境要求

项 要求
DSH 0.1.7-rc.2(README 标注的实测环境;依赖 connection / sessionQuery / fs / attachments / llm / tokenMeter 等服务与客户端插槽)
profile web(仅 Web GUI 有意义)
运行时 仓库已附带 lib/,无需本地构建即可安装使用

安装与启用

把 web 换成你实际使用的 profile 名:

dsh plugin add --profile web 'git+https://github.com/yunliya-cuter/dsh-explain-assistant.git'

包内带 cordis.patch.yml,安装后 DSH 会把 bundle 写入 profile 的 dsh.profile.bundles 并重新装配,一般无需手改配置。装完后刷新浏览器(F5)。

验证步骤:

  1. 打开任意主对话,右上角工具行应出现 「?」。
  2. 点开浮窗,在「模型」里选一个模型(不选则不发请求),再点快捷问题。
  3. 几秒内应看到白话中文回答;右下角圆环显示占用或「占用未知」。

卸载:

dsh plugin remove --profile web dsh-explain-assistant

典型用法

  1. 主 agent 长时间无输出时,点开「?」,问「它现在在干什么」,对照依据分级判断是否卡住或跑偏。
  2. 需要验收或跟进度但不写代码时,用快捷问题或自由追问,让解释避开行话堆砌。
  3. 对某一步有疑问:浮窗里选「选择主对话内容」,再点主对话里对应步骤卡片,问「这一步为什么这么做」「哪里可以调整」。
  4. 小助手上下文变长时,在浮窗使用 /compact 整理后续参考,不影响已保存的完整历史。

适用场景与注意

更适合:长时间任务中途想旁路查看进展;非开发角色需要把握项目阶段;想拿建议但不想亲自改代码或打断主 agent;希望解释能对应工具 trace,而非纯听主 agent 自述。

不适合:指望插件替主 agent 执行、自动监控告警或自动纠错——本插件是你主动点开的只读解说;换主题或改 UI 应看其他插件(README 举例 dsh-warm-ui)。小助手是独立 LLM 请求,与主 agent 对话隔离,但同一账户可能共享费用与资源,插件不承诺绝无竞争。

安装前:插件以当前 DSH 进程权限运行,宿主路由挂在 /api/explain-assistant/ 下;安装前应自行查看仓库源码与 LICENSE。README 还列出归档墓碑内存态、老记录无法补依据、占用为启发式估算等已知限制,使用前可在 GitHub README「已知限制」一节核对。

结尾

dsh-explain-assistant 把「问进度、问在干嘛」从主对话里拆到旁路浮窗:只解释、不动手,用分级依据和白话四要素降低长时间 agent 任务的不透明感。插件属于 DSH 社区生态(SkillHub 目录与 DeepSeek / 幻方无官方从属关系),可按需从目录页或 GitHub 安装试用。

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

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

小夜