AndyWipe13/dsh-session-management
A plugin for managing sessions generated by DeepSeek Harness, allowing users to freely delete legacy sessions and supporting session import from other third-party Agents (Claude Code, Codex).
Project Overview项目介绍
This is a session management plugin for DeepSeek Harness (DSH). It enables unified cross-source session management, including search, preview, resume, bulk cleanup, and full-faithful import of Claude Code and Codex session histories. Use it when organizing sessions or migrating third-party agent histories. Note: Delete operations are irreversible.
这是DeepSeek Harness(DSH)的会话管理插件,核心提供跨来源会话统一管理,支持搜索、预览、续聊、批量清理,可全保真导入Claude Code、Codex的本地会话历史。需要整理清理会话、迁移第三方Agent历史时使用。注意:删除操作不可逆。
请帮我了解并安装插件:【dsh-session-management】【https://github.com/AndyWipe13/dsh-session-management】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add @nathan110628/dsh-session-management
把 AndyWipe13/dsh-session-management 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-session-management
中文 | English
DeepSeek Harness(DSH)插件:管理 Harness 生成的会话,允许用户删除遗留会话,并支持从其他第三方 Agent(目前已支持 Claude Code、Codex)导入会话。
功能
- 统一会话管理:在 DSH 设置页提供跨来源(DSH / Claude Code / Codex)的会话列表、搜索、预览、打开续聊、归档/取消归档、删除与批量清理、统计。
- 第三方会话导入:把 Claude Code、Codex 的本地历史会话全保真转换为可续聊的 DSH 原生会话(文本、thinking、工具调用与结果全部保留,不伪造可执行工具)。
- 安全底线:第三方源文件永远只读;运行中的会话一律拒删;删除显式不可逆(批量必须键入
DELETE);清理永远先预览后执行。
安装方式
从 npm 一键安装(推荐):
dsh plugin --profile web add @nathan110628/dsh-session-management
dsh --profile web --dump-config # 应看到 "# == @nathan110628/dsh-session-management" 层
dsh web
或从 GitHub 安装(等价,仓库内附带已构建的 lib/):
dsh plugin --profile web add github:AndyWipe13/dsh-session-management
卸载:
dsh plugin --profile web remove @nathan110628/dsh-session-management
开发构建与本地装配
src/index.ts— 插件入口(导出apply(ctx))cordis.patch.yml— bundle 贡献的配置层(dsh.bundle.patch)package.json— 声明dsh.bundle与 peer 依赖scripts/build.js— 跨平台 Node 构建脚本
构建(无需 DSH 源码 checkout;自动回退到 ~/.dsh/profiles/node_modules 官方依赖镜像):
npm install
npm run build
产物输出到 lib/(入口 lib/index.js,类型 lib/types/index.d.ts)。
装配:
dsh plugin --profile web add .
dsh --profile web --dump-config
dsh web
工程基线验证
无 DSH 源码 checkout 的 Windows 环境(依赖 ~/.dsh/profiles/node_modules 官方依赖镜像)可直接跑:
npm run build # 编译 src -> lib
npm run typecheck # TypeScript 类型检查(自动先 build 链接依赖)
npm test # 运行测试(自动先 build)
测试使用 Node 内置 test runner(--test-isolation=none),覆盖:
- 插件基线导出与 bundle 装配自检(hello 占位工具已移除);
- fake 官方服务装配能力(
sessions/sessionQuery/sessionPersistence/workspaceRegistry/storageDomain); - 只读夹具银行(Claude Code、Codex 含 archived_sessions、DSH 各 ≥2 个,含空会话/坏行/中文 Unicode/subagent 边界样本)。
夹具位于 test/fixtures/,任何测试前后不得修改其字节与 mtime;生成脚本见 scripts/generate-fixtures.js。
导入按源会话的 cwd 创建或复用官方工作区,日志持久化后再登记会话成员,并将扫描页标题保存为 session/title 事件。工作目录不存在时会报告导入失败。rc.7 侧栏需要刷新页面同步。
宿主接口回归位于 test/host-contract.test.js,覆盖官方标题的 value.title.title 嵌套、持久化后的工作区登记,以及旧导入修复的准备对象释放。scripts/check-session-ui.cjs 接收 Playwright page 和临时会话的 { sessionId, title },验证勾选、归档、取消归档、取消删除和实际删除;仅对可丢弃测试会话运行。
参考
官方插件开发指南:https://deepseek-harness.github.io/deepseek-harness/develop/basic/
liangmianya/dsh-synapse
alaliqing/claude-paper
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
hanshenmesen/dsh-turn-delete
qkycir-123/dsh-run2skill
Tyan66666/billion-context-dsh
PKUfudawei/dsh-capability-menu