dsh-agent-activity:在输入框上方实时展示 Agent 的「已做 / 正在做 / 将要做」

前言

在 DeepSeek Harness(DSH)里跑 Agent 时,常见做法是等整轮回复结束再翻日志,或靠 Skill 往模型上下文里塞说明——Skill 只能改提示,不能在 Web UI 里画组件。若你希望在模型还在推理、调工具、流式写答案的过程中,一眼看清当前进度和下一步,就需要客户端插件把会话事件折成可读的「活动卡片」。

下面介绍社区插件 dsh-agent-activity(维护者 oxygenforce,分类:客户端)。它在 Harness 输入框(composer)正上方、与待办面板同一区域,挂载一张实时更新的 done-now-next 卡片,在最终答案落地之前就展示 Agent 的工作过程。

这是什么

dsh-agent-activity 是 DeepSeek Harness 的 bundle 插件:Host 侧把 durable 会话事件日志折叠成名为 activity 的 session projection,Client 侧在 Web UI 渲染卡片。README 将其定位为 UI 插件,而非 Skill——因为渲染界面必须走插件的 Client 注入路径。

核心功能

卡片默认只占 一行稳定高度,避免展开时把对话最新一行顶出视口;点击可打开浮层完整日志,浮层为 overlay,不改变页面布局,Esc、点外侧或再次点击该行可关闭。

一眼可答三个问题(README 原文要点):

  1. 已经做了什么:当前 turn 内每次工具调用按顺序列出,含目标与耗时,状态为成功 / 失败 / 进行中。
  2. 现在在做什么:阶段标签(如 thinking、running a tool、writing the answer)及当前 step 编号;流式写回答时,卡片还会显示回答内容的 leading edge,便于区分「在想」「卡住」和「在写」。
  3. 接下来要做什么:模型已声明但尚未执行的工具调用,以及下一个未完成的 todo。

折叠与隐藏行为:

  • 可收成单行,状态跨 turn 保持。
  • turn 结束 两分钟后 自动隐藏,避免在已结束的对话上长期占位。

展示层会把工具名映射成可读动作(如 read →「读文件」、grep →「搜索代码」),路径可折叠为末两段,并跟随界面中英文;悬停行可看到原始工具名、完整 target 与耗时。计划行会结合内置 todos projection 显示进度(如「计划 2/5 项」)。

Host 侧对 turn/start、step/start、assistant/message、tool/call、tool/result、turn/end 等事件做纯同步 fold,工具调用日志有界(最多 32 条),长 turn 开销可控。无配置项,README 写明 No data leaves the machine。

安装与启用

插件以 DeepSeek Harness bundle 形式分发。在已有源码目录或已打包的 tarball 路径下,用 Plugin Manager 安装(命令来自 README,请将 target 换成你本机路径):

plugin_manager action=install_bundle target=/path/to/dsh-agent-activity

安装后若出现 application: applied,表示 Host 半已生效;在 Web UI 中 composer 上方应出现活动卡片。若替换已安装版本,README 要求 重启 Harness 以加载新的浏览器 bundle。

无需额外配置文件。安装前建议自行审阅 仓库源码 与 MIT 许可证;插件在 当前 DSH 进程权限 下运行,与 Harness 本体一致。

典型用法与界面形态

安装并打开 Web 对话界面后,Agent 每轮工作时,composer 上方会出现类似 README 中的单行摘要(界面语言可能为中文):

⠋ 正在操作 · 运行命令 "$NODE" --test tests/   → 改文件 …/lib/client.js   已做 5 件事 · 12秒  ⌃

展开浮层后,可看到完整步骤列表、计划行、已完成与排队中的工具、以及「正在写回答」的预览片段。这与 README 中的示意一致,适合在本地开发或调试 Agent 时对照「模型说了要做什么」和「实际已执行什么」。

开发与自测(维护者文档)可在插件目录执行:

node scripts/check-manifest.mjs
node --test tests/activity.test.mjs
node --check lib/client.js && node --check lib/activity.js && node --check lib/index.js

tests/activity.test.mjs 通过重放合成会话事件验证 fold 行为,无需浏览器。

适用场景与注意

适合:在 DSH Web UI 里长时间跑 coding agent、需要实时观察工具链与计划进度、又不想被冗长原始事件日志淹没的开发者。

不适合或需知:

  • 只改模型行为、不需要 UI 的场景应继续用 Skill,本插件不负责改上下文。
  • 依赖 useProjection("activity") 与 @deepseek-ai/dsh-client-ui-conversation 注入,需满足 package.json 中的 dsh 引擎版本。
  • 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;星标与版本以你安装时仓库或目录页为准。

结尾

dsh-agent-activity 把会话事件折成 composer 上方的 live 活动卡,用单行摘要和可展开浮层回答「已做、在做、将做」,并随 turn 结束自动收起。若你要在 Harness 里提升 Agent 可观测性,可从目录页或 GitHub 获取 bundle,按官方 install_bundle 流程安装。

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

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

小夜