用 dsh-archived-sessions 在 DeepSeek Harness 设置里统一管理本机会话

前言

DeepSeek Harness(dsh)是 DeepSeek AI 开源的智能体框架,官方口号是「一切皆插件」:模型、工具、会话、沙箱和 Web 界面都通过插件组合。日常用 Web UI 跑任务时,本机上的对话会越积越多——有的已经结束,有的只是中间分叉,有的还挂着子代理。侧边栏能切换当前会话,但要把整机对话按工作区清点、归档、恢复,或安全删掉不再需要的记录,默认界面并不够用。

社区维护者 Zephyr-vibe 做了一个 Web 插件 dsh-archived-sessions:在「设置」里提供会话管理页,把本机上的对话集中到一处处理。本文按插件目录页、GitHub 仓库 README / package.json,以及官方 deepseek-ai/deepseek-harness 交叉核对后整理。社区插件目录 deepseek-harness-plugin.com 是独立站点,与 DeepSeek / 幻方没有官方从属关系,不能当成官方应用商店。

这是什么

dsh-archived-sessions 是一款面向 DeepSeek Harness Web 端的会话与消息插件,由 Zephyr-vibe 维护,许可证为 MIT,主要语言是 JavaScript。仓库当前版本号是 0.1.2package.json),GitHub 截至 2026-08-17 显示 13 个 star;目录页收录时显示为 7,星标以仓库为准。

它解决的问题很具体:在「设置」中提供会话管理入口,统一管理本机上的全部对话。目录页的概括是:管理对话、归档 / 恢复、安全删除、打开记录目录。README 写得更完整——未归档和已归档分两个标签页,还可以按工作区分组、按标题或 ID 搜索、展开单条详情。

GitHub 上另有同名仓库,维护者不同。安装时请核对 owner 为 Zephyr-vibe,不要装错来源。

核心功能

以下能力来自仓库 README(中英双语说明一致)和 0.1.2 更新日志,不是猜测。

双标签与两种视图

页面分成两个标签:

  • 所有对话:未归档会话
  • 归档会话:已经归档的会话;在这一页可以把会话移出归档,回到「所有对话」

视图可以在单列表按工作区分组之间切换。没有工作区归属的会话会落到「未分组」。列表按标题加相对时间展示,最近的排在最前;相对时间会自动刷新。

搜索与批量操作

顶部有搜索框,按标题或会话 ID 实时过滤。选择方式包括勾选、拖动批量勾选、全选,也支持键盘(Tab + Enter / Space)。

批量动作分两类:

  • 归档:记录保留,只改归档状态
  • 删除:永久删除,带确认弹窗

0.1.2 把批量操作改成分批执行,每批 20 条,避免一次勾选几百条时把浏览器打满请求。

详情、子代理与「不级联删除」

每一行默认收起,展开后可以看到:

  • 磁盘占用、最后更新时间
  • 活动统计:轮次、步骤、用户 / 助手消息数、工具调用分布、fetch 记录
  • 该会话产出或下载的文件
  • 父会话与子会话(分叉)关系

子代理会话嵌套在父会话下方,带缩进和「子代理」徽标,默认折叠,点父行箭头再展开。父会话被删或缺失时,子代理会浮成顶层行,在工作区视图里仍然可见。

删除是刻意做成不级联的:只删你勾选的那一条。子代理、分叉、下载 / 产出文件都保留,除非你把它们也勾上。当前打开的会话会标「当前会话」,界面不允许删除。正在运行的会话删除会被拒绝(HTTP 409)。删一个不存在的会话则返回 404。

文件删除也收得很紧:只能删该会话自己的产出文件,拒绝删目录,并带确认弹窗和失败汇总。详情接口还有上限(文件最多 200 条、fetch 最多 50 条),避免超大会话把页面拖死。

打开记录文件夹

选中会话后可以点「打开记录文件夹」,用系统文件管理器打开该会话的记录目录。Windows / macOS / Linux 分别走 explorer / open / xdg-open。没有工作目录的会话走 _no-cwd 布局,0.1.2 起同样支持打开。

实现边界(README 兼容性说明)

README 把兼容性写成四点,和功能承诺直接相关:

  • 零配置:会话目录按官方 DSH 布局($DSH_HOME/sessions/ 下的标准路径)自动识别,不需要对 Harness 核心打补丁
  • 归档 / 恢复:用和官方 archiveSession 相同的 registry 状态原语
  • 删除不级联:只删所选会话;运行中的会话拒绝删除
  • 本机 API:接口只信任 127.0.0.1 / localhost / ::1,并声明只使用官方公开 API(workspaceRegistrysessionPersistence

package.json 把客户端平台标成 web,peerDependencies 对准 @deepseek-ai/dsh-*^0.1.0-rc.6,并要求 Node.js >=20。DeepSeek Harness 本身仍处于开发者预览,官方 README 写明未来可能出现破坏兼容性的变更,插件版本需要跟着宿主一起看。

安装与启用

目录页给出的安装命令如下,在 DeepSeek Harness 终端里执行即可:

dsh plugin add github:Zephyr-vibe/dsh-archived-sessions

这是目录页原文,不要自行拼接仓库名。需要可复现安装时,按目录页说明把 commit 哈希钉在后面。本文核对仓库时,main 最新提交是 1e8d1b55f72438209c1036de82a3455d3d6a657d(2026-08-16),可以写成:

dsh plugin add github:Zephyr-vibe/dsh-archived-sessions#1e8d1b55f72438209c1036de82a3455d3d6a657d

哈希会随仓库更新变化,安装前请再打开 GitHub 确认一次。

仓库 README 另外提供了针对 web profile 的 tarball 安装,适合明确装到 Web 端的情况:

dsh plugin --profile web add https://codeload.github.com/Zephyr-vibe/dsh-archived-sessions/tar.gz/refs/heads/main

如果 pnpm 拦截构建脚本,在命令末尾加 --ignore-scripts

dsh plugin --profile web add https://codeload.github.com/Zephyr-vibe/dsh-archived-sessions/tar.gz/refs/heads/main --ignore-scripts

也可以直接对智能体说:

帮我把这个项目安装为插件:https://github.com/Zephyr-vibe/dsh-archived-sessions

README 说明:agent 会下载项目、放入当前 profile 的 node_modules,并注册到 dsh.profile.bundles

安装完成后需要重启 Web 端。官方启动方式之一是:

npx @deepseek-ai/dsh web

重启后,在「设置」里应能看到「会话管理」入口。

典型用法

下面步骤来自 README 的功能说明,不是额外编出来的操作手册。

  1. 打开 DeepSeek Harness Web UI,进入「设置 → 会话管理」。
  2. 在「所有对话」里浏览未归档会话。对话多的时候,用搜索框按标题或 ID 过滤;需要按项目归类时,切到「按工作区分组」。
  3. 勾选已经结束、但仍想留底的会话,执行批量归档。归档后记录还在,只是从「所有对话」挪到「归档会话」。
  4. 以后要继续某次归档对话,到「归档会话」里把它移出归档,会话会回到「所有对话」。
  5. 确认某条记录不再需要后,勾选并删除。先看确认弹窗;不要指望删父会话会连带清掉子代理——那是不会发生的,子代理要单独勾选。
  6. 当前正在看的那条会话不能删;如果删除按钮不可用,先换到别的会话再处理。
  7. 需要核对磁盘上的 jsonl 或产出文件时,选中会话,点「打开记录文件夹」,在系统文件管理器里直接看目录。
  8. 展开某一行,可以核对该会话占了多少空间、跑了多少轮、调用过哪些工具、有没有下载文件,以及它和父 / 子会话的关系。

仓库 README 带了两组界面截图:归档视图里子代理嵌在父会话下,以及批量删除确认和带活动统计的详情面板。需要对照界面时,直接看 GitHub 仓库即可。

适用场景与注意事项

比较适合这几类用法:

  • 同一台机器上跑过多个工作区,想按项目清点对话,而不是只靠侧边栏
  • 对话已经结束,但记录还要留着,先归档而不是立刻删
  • 子代理、分叉很多,删除时必须避免误伤子会话和产出文件
  • 需要打开会话目录,核对持久化文件或下载产物

使用前有几件必须看清的事。

插件以当前 dsh 进程的权限运行,安装时可能执行代码。这是目录页的安全提示,不是客套话。安装前应阅读 GitHub 源码和 MIT 许可证;不信任的来源不要装。

它是 Web 插件,peer 依赖对准 0.1.0-rc.6 一带的官方包。Harness 还在开发者预览,API 和槽位都可能变。装完如果设置里没有「会话管理」,先确认装的是 web profile,并已经重启过 Web 端。

删除是永久的。归档只改状态,删除会去掉会话目录。虽然删除不级联、当前会话受保护、运行中会话会返回 409,勾选批量删除前仍应看清选中了哪些行。

管理接口只接受本机回环地址。不要把 Harness Web 端口暴露到公网后再依赖这层限制;那是本机防护,不是远程鉴权。

社区里还有其他「归档会话 / 会话管理」插件,能力边界并不相同。有的只管理已归档列表,有的依赖给核心打补丁。dsh-archived-sessions(Zephyr-vibe)在 README 里明确写的是:纯净 Harness、官方 API、无核心补丁。选插件时以各自仓库说明为准。

小结

dsh-archived-sessions 把本机 DeepSeek Harness 的对话收进设置页:未归档和归档分开看,能搜索、能按工作区分组,归档与恢复走官方同一套状态,删除带确认且不级联,还可以直接打开记录目录。维护者是 Zephyr-vibe,MIT 许可,当前版本 0.1.2

目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-archived-sessions/

GitHub:https://github.com/Zephyr-vibe/dsh-archived-sessions

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

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

小夜