cokiscarazo-rgb
dsh-session-management
No description
- Stars
- 4
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-session-management · DSH 会话管理
中文 | English

dsh-session-management 是 DeepSeek Harness(DSH)Web 的会话管理插件。在「设置」面板内集中管理聊天会话:归档、取消归档、真正删除本地聊天记录、导出数据。界面采用克制的 Apple/macOS 设计语言,支持中英双语,随 DSH 语言设置即时切换。

功能
已归档的聊天管理
点击「管理」打开管理窗口,两种分组视图随心切换:
- 按工作区:每个工作区一个分组,组内按时间排序;
- 按月份:按年月分组(
2026年8月、2026年7月…),月份自动携带年份,跨年归档一目了然。
支持按创建日期 / 更新日期排序(升序 / 降序)、分组折叠与一键展开、按组批量操作——取消归档该组、删除该组已归档的聊天(仅作用于该组的归档会话,不影响未归档记录)。
| 分组与排序 | 组头批量操作 |
|---|---|
![]() | ![]() |
归档所有聊天
一键归档全部会话:记录完整保留,仅从侧边栏列表隐藏,随时可在管理窗口取消归档。
删除所有聊天
真正删除本地聊天记录:删除磁盘上的会话日志文件(session.jsonl / session.jsonl.zstd 及对偶文件),并同步清理工作区记账与归档标记。运行中的会话自动跳过,防止日志被写回。
导出数据
复用官方导出端点,为每个根会话生成与官方格式一致的 ZIP 归档(dsh-session-<id>.zip):会话日志、子代理会话与媒体附件一并打包,字节级兼容官方工具。
中英双语
界面文案随「设置 → 通用设置 → 语言」即时切换,中英文档与界面同步维护。
安装
DSH 插件通过 profile 挂载(dsh web 对应 web profile)。安装后需重启 dsh web 生效。
前置要求:Node.js(含 npm);dsh plugin 依赖 pnpm(缺失时见下方「常见问题」)。
方式一:从 npm 安装(推荐)
插件已发布到 npm(dsh-session-management)。安装命令取决于你如何运行 dsh:
-
全局安装 dsh(
dsh命令可直接使用):dsh plugin --profile web add dsh-session-management -
通过 npx 运行 dsh(未全局安装,平时用
npx @deepseek-ai/dsh web启动):npx -y @deepseek-ai/dsh plugin --profile web add dsh-session-management
装完重启 dsh web,打开「设置」即可看到「会话管理」入口。升级:将 add 换成 update(非全局安装时同样加 npx -y @deepseek-ai/dsh 前缀)。
版本提示:若 npm/pnpm 的元数据缓存或镜像源同步延迟,导致安装到旧版本(提示
declares no dsh.bundle),请指定最新版本号重装:npx -y @deepseek-ai/dsh plugin --profile web add dsh-session-management@<最新版本号>查询最新版本:
npm view dsh-session-management version。
方式二:从 GitHub 仓库安装
git clone https://github.com/cokiscarazo-rgb/dsh-session-management.git
cd dsh-session-management
# Windows(PowerShell)
powershell -ExecutionPolicy Bypass -File scripts/install.ps1
# macOS / Linux
bash scripts/install.sh
安装脚本幂等,重复执行安全。它会完成两步:
- 复制插件包到
$DSH_HOME/profiles/node_modules/dsh-session-management/; - 在
$DSH_HOME/profiles/web/cordis.patch.yml注册 loader 条目:
- insert:
- id: dsh-session-management
name: dsh-session-management
验证与卸载
安装成功后重启 dsh web,打开「设置」出现「会话管理」即生效;也可用 dsh --profile web --dump-config(非全局安装加 npx -y @deepseek-ai/dsh 前缀)确认插件配置层已挂载。若没有新入口,多半是安装后没有重启。
卸载:dsh plugin --profile web remove dsh-session-management(非全局安装加 npx -y @deepseek-ai/dsh 前缀),重启 dsh web;手动安装的则移除 $DSH_HOME/profiles/node_modules/dsh-session-management/ 目录并删除 cordis.patch.yml 中的 insert 条目。
常见问题
-
提示
'pnpm' 不是内部或外部命令/pnpm: command not found:dsh plugin内部依赖 pnpm,先安装它:npm install -g pnpm或使用 Node 自带的 corepack:
corepack enable pnpm。验证:pnpm --version。 -
安装后仍是旧版本 / 提示
declares no dsh.bundle:npm/pnpm 元数据缓存或镜像源同步延迟所致。先确认 registry 源:pnpm config get registry(若为 npmmirror 等镜像,可切回官方源pnpm config set registry https://registry.npmjs.org/),然后指定版本号重装(见上「版本提示」)。 -
首次安装提示
ERR_PNPM_IGNORED_BUILDS:pnpm 拒绝依赖的构建脚本,按提示把相关包加入 profile 的pnpm-workspace.yamlallowBuilds后重新执行即可。 -
设置里没有「会话管理」入口:确认已重启
dsh web;再确认$DSH_HOME/profiles/web/cordis.patch.yml中存在id: dsh-session-management的 insert 条目。
工作原理与边界
- 归档:基于官方
workspaceRegistry.archiveSession,归档集持久化于 workspace 域,客户端经官方帧机制自动同步;取消归档为官方未提供的操作,插件直接更新 workspace 域归档集合,变化经官方domain/changed事件自动广播。 - 删除即真删:定位会话日志文件(含 zstd 对偶文件)后经系统命令删除,随后清理工作区记账与归档标记;搜索索引由官方 SQLite 自动 reconcile 清理。
- 边界说明:
- 运行中的会话拒绝删除(避免日志被重新写回);
- 聊天中的图片附件采用 content-addressed 存储、可能被多会话共享,删除会话不会连带删除附件;
- 子代理会话为独立记录,删除父会话不级联删除(可单独删除)。
License
MIT © cokiscarazo-rgb