前言¶
在 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 注入路径。
- 目录页:SkillHub - oxygenforce/dsh-agent-activity
- 源码与文档:GitHub - oxygenforce/dsh-agent-activity
- 当前包版本(package.json):0.2.5
- 许可证:MIT
- 运行要求:
engines.dsh为 >=0.2.1-rc.2
核心功能¶
卡片默认只占 一行稳定高度,避免展开时把对话最新一行顶出视口;点击可打开浮层完整日志,浮层为 overlay,不改变页面布局,Esc、点外侧或再次点击该行可关闭。
一眼可答三个问题(README 原文要点):
- 已经做了什么:当前 turn 内每次工具调用按顺序列出,含目标与耗时,状态为成功 / 失败 / 进行中。
- 现在在做什么:阶段标签(如 thinking、running a tool、writing the answer)及当前 step 编号;流式写回答时,卡片还会显示回答内容的 leading edge,便于区分「在想」「卡住」和「在写」。
- 接下来要做什么:模型已声明但尚未执行的工具调用,以及下一个未完成的 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