dsh-knj-session-management:DeepSeek Harness 会话归档与治理

前言

DeepSeek Harness (DSH) 在日常使用中会积累大量持久化会话。这些会话通常只增不减,随着数量增加,session_projcache.json 会膨胀,导致 web 界面卡顿。DSH 宿主目前没有提供会话删除或归档的 API,本插件补上了这一能力,并且三处索引全部自动跟随。

功能

归档与恢复

归档操作将 sessions/<ws>/<id>/ 移动到 archive-sessions/<ws>/<id>/。归档是可逆的,不释放磁盘空间,但会话会从列表中消失,projcache 记录也会被清除。恢复操作会将归档会话移回原位置,投影缓存会通过冷读自动重建。

永久删除与自动策略

永久删除会彻底移除归档目录,释放磁盘空间。此操作不可逆,执行前需要二次确认。自动策略允许每工作区保留最近 N 个会话,当数量超限时会自动归档最旧的非运行会话。

未分组与失效工作区管理

插件会显式列出 _no-cwd 会话以及工作区路径已被删除的会话,并支持对这些会话进行管理。

体积治理与侧栏同步

体积面板显示 projcache 体积、各工作区会话数量与归档统计。在执行归档、恢复、删除或自动策略后,客户端会立即通知宿主重拉会话列表基线(sessions.refresh() / workspaces.refresh()),左侧栏会立即刷新,无需重启 dsh web。

跨卷支持与蒸馏衔接

当归档区配置在其他盘符时,自动回退使用 copy + rm 命令,以解决 Windows 的 EXDEV 防护问题。在归档/删除前,可一键复制 wiki-distill 蒸馏指令,先把会话沉淀进知识库再清理,确保知识不丢失。

安装与启用

使用一条命令同时安装插件与菜单宿主 dsh-knj-menu:

dsh plugin --profile web add dsh-knj-session-management dsh-knj-menu

配置

在 cordis.patch.yml 中添加以下配置:

- insert:
    - id: dsh-knj-session-management
      name: 'dsh-knj-session-management'
      config:
        maxSessionsPerWorkspace: 60   # 每工作区保留上限,0 关闭自动归档
        enabled: true                 # 自动归档总开关

注意事项

  • DSH 宿主没有会话删除/归档 API,本插件补上这个能力,并且三处索引全部自动跟随。
  • 归档区默认路径为 $DSH_HOME/profiles/<profile>/dsh-session-archive。
  • 本插件只做编排,蒸馏本身由既有 wiki-distill skill 完成。
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。

总结

该插件解决了 DSH 会话只增不减导致的数据膨胀问题,提供了从归档、恢复到永久删除的完整生命周期管理,并通过自动策略和体积面板帮助维护系统健康。

目录页:https://www.skillhub.cn/plugins/yangdongzhen590/dsh-knj-session-management
GitHub:https://github.com/yangdongzhen590/dsh-knj-session-management

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

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

小夜