dsh-workspace-plugin:在对话里查看工作区、产物与本地 Memory

前言

在 DeepSeek Harness(DSH)里跑 Agent 时,会话过程中会读写文件、留下产物、产生子 Agent 轨迹,还可能写入或提议 Workspace Memory。这些信息若全部堆进聊天区,界面很快变得难用。常见做法是切到终端或 IDE 另开窗口查 diff、翻目录、对 Memory 做确认——步骤分散,且与当前会话上下文脱节。

下面介绍 kk-ai-lab 维护的 dsh-workspace-plugin(仓库名 dsh-workshpace-plugin)。它在本地 DSH Web UI 的对话视图里增加 Workspace 标签页,把「Agent 碰过什么、会话产物、受管 Memory、Git 变更」收进同一会话界面,只读查看 Sub-agent Trace,并支持有边界的预览与治理操作,无需离开当前对话。插件在社区目录中归类为「记忆」;当前 GitHub 星标为 1。

这是什么

DSH Workspace Plugin 为本地 Harness Web UI 增加与 Trajectory 并列的 Workspace 入口(对话视图行中的唯一入口)。它面向「Workspace backed」会话:在 Agent 工作时产生的文件与状态不占用聊天布局,而是在独立标签里按需汇总与展示。

维护者:kk-ai-lab。版本以仓库 package.json 为准(资料截取时为 0.8.0)。构建要求 Node >=22.18.0。

核心功能

以下能力均来自项目 README,按界面结构说明。

会话摘要与 Sub-agent Trace

Workspace 标签顶部有会话摘要:按类型统计 Agent 触及的文件、产物、Memory/决策数量、活跃 span 等,按需推导,对已关闭重开的会话与 live 会话行为一致。

摘要下方是只读 Sub-agent Trace:有界的子 Agent descendant 树与选中节点的详情,用于跟踪本地 Session backed 子 Agent;不可用或损坏的子节点会明确标注,而不是显示为空。

Artifacts

Artifacts 标签列出会话创建的可交付物:按类型分组、可搜索;列表项展示大小、修改时间、预览状态,支持 copy-path 与一键下载。预览侧支持只读多标签、Markdown(相对路径图片与 mermaid 图)、流式 PDF 等,内容有边界限制。

Memory

Memory 标签用于查看与管理项目/会话级 Workspace Memory:创建、验证、固定、归档或遗忘记录;Agent 通过 workspace_memory_propose 提出的条目以 model-suggested 形式出现,在 Verify 或 Reject 之前为未验证状态。每个会话有自动写入的 derived facts(来自 Agent 活动),便于 Export 携带有效信息。存储细节见仓库内 docs/MEMORY_STORAGE.md。

Git

Git 标签在非 Git 工作区根目录时显示清晰的「not a Git repository」状态。在 Git 仓库内提供:

  • 仓库状态头:分支、dirty/clean、staged / unstaged / untracked 数量、ahead/behind;
  • Changes / History 切换:Changes 按 staged / unstaged / untracked 分组,可过滤状态,统一/分栏 diff、行号与 +N −M 统计、copy-diff;History 为提交列表及每 commit 的文件与 diff。

其它行为

  • Artifacts、Memory、Git 共用一套视觉与交互(自动刷新、空态/错误态、键盘可操作)。
  • 样式作用域限定在插件内,不改变 Harness 外壳全局样式。
  • 界面文案随 Harness 应用语言提供中英文(浏览器语言仅作回退)。

安装与启用

插件需从源码构建并注册到本地 Harness checkout,不要凭仓库名自行拼接 dsh plugin add github:... 一类未在文档出现的命令。

在插件仓库目录构建:

npm install
npm run build

在 Harness 项目目录执行注册(路径按你本机 checkout 位置调整):

dsh plugin --profile web add ../dsh-workshpace-plugin

上述命令把 Web 插件注册写入本地 Harness profile。

启动 Web UI:

dsh web

浏览器打开 http://127.0.0.1:3080/。重新 build 插件后需重启 dsh web 才能加载最新 bundle。仅当插件注册或链接路径变更时才需再次执行 dsh plugin --profile web add ...;对已链接插件只 rebuild 时,重启 Web 即可。

开发校验可选用:

npm test
npm run check
npm run build
npm run smoke:compat

npm run build 将可运行包输出到 lib/,Web profile 加载该 bundle。

典型用法

  1. 打开 Harness Web UI 并选择模型。
  2. 选择或创建一个 Workspace-backed 会话。
  3. 开始对话,让 Agent 创建或检查文件。
  4. 打开对话行的 Workspace 标签。
  5. 在标签页上方的 Sub-agent Trace 中查看本地子 Agent 轨迹。
  6. 在 Artifacts、Memory、Git 之间切换,完成预览、Memory 治理或 Git 检视。

适用场景与注意

适合谁: 经常在 DSH Web 里跑 Agent、需要同屏查看会话产物、Memory 提议与 Git 变更,又不想在聊天流里堆文件内容的开发者。

权限与安全: 插件随当前 dsh 进程权限访问工作区与 Git;安装前应阅读源码与许可证(仓库 package.json 与 GitHub 页面),确认符合你的环境与合规要求。

生态说明: DSH 采用「一切皆插件」思路;SkillHub 插件目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。

排错要点(摘自 README):

  • Workspace 标签缺失:rebuild 插件、重启 dsh web;若在 build 前创建过 profile,需重新 add 插件。
  • 仍看到旧版右下角浮动面板:停止旧 Web 进程后重新启动(v0.2 起仅保留 Workspace 标签入口)。
  • v0.6 之前创建的某些历史会话可能无法重开(旧版向 session log 写入的 workspace/summary 事件与 DSH 冷加载策略冲突);新会话正常,受影响日志无法安全改写,需删除或新建会话。
  • Markdown 图片或 mermaid 不显示:v0.6 rebuild 后需重启 dsh web 以注册新路由。
  • Artifacts 或 Memory 为空:须从活跃 Harness 会话打开 Workspace,数据是会话作用域的。
  • Memory Export 为空数组:仅当会话无 Memory 且无 Agent 文件活动时预期如此;有工具活动的会话会由 auto-writer 导出 fact 记录。

结尾

dsh-workspace-plugin 把 Workspace 摘要、Sub-agent Trace、Artifacts 预览、Memory 治理和 Git 检视收敛到对话旁的 Workspace 标签,减少在聊天、终端和 IDE 之间来回切换。需要细节时可直接查阅仓库 README 与 docs/DSH_Workspace_PRD.md、docs/DSH_Workspace_ARD.md。

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

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

小夜