@takboo/dsh-session-bin
按工作区管理原生归档,支持搜索、取消归档、单项和固定范围批量永久删除。
安装
dsh plugin --profile web add @takboo/dsh-session-bin
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✓ |
| 2 列装 | ✓ |
| 3 挂载 | ✓ |
| 4 启动 | — |
四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
DSH Session Bin
DeepSeek Harness 的原生归档管理插件。在一个面板中搜索、筛选和管理已归档会话,支持取消归档、单项永久删除、批量永久删除和清空归档。
插件直接管理 Harness 的原生 Archive 集合,已有归档也会显示。归档仍使用宿主的原生操作。
功能
- 默认按工作区分组;按会话名称及工作区元数据搜索、筛选。
- 单项或批量取消归档,让会话回到原生会话列表。
- 单项永久删除、固定选择的批量永久删除,以及清空点击时的全部归档。
- 简洁的删除确认,可在设置中全局关闭;批量操作显示进度和日志,完成后保留简短统计及失败项。中断或断线后可查询结果并明确继续。
- 中英文界面,使用宿主控件、浅色和深色主题。
当前版本为 0.3.0,包名为 @takboo/dsh-session-bin。本版支持在显式删除准备时为缺锁的 V0–V3 旧日志安全建立稳定锁,无需先恢复并加载会话;不修改或迁移日志,保留活动、资源身份和生命周期检查。本版适配 DSH 0.2.2-rc.1 的历史/被动订阅与 Cordis 4.1.0,并确认实际缓存文件清除;完整检查见 [rc.1 验证](docs/verification/dsh-0.2.2-rc1.md)。DSH 0.2.1-rc.5 请安装同含缺锁修复的 0.2.9。GitHub Release 提供预编译 tarball;npm 通过 trusted publishing 自动发布同一份产物。[dshmarket 收录流程](docs/release.md#dshmarket)独立于 npm 发布,须经目录检查与维护者审核。
界面预览
[深色界面](docs/images/archives-dark.png) · [批量永久删除确认](docs/images/batch-deletion.png)。截图来自 0.2.0 的真实安装验收,使用隔离测试会话。
兼容性
本版适配 DSH 0.2.2-rc.1,覆盖 CLI/Web 与 macOS ARM64 桌面运行时;接口、旧回执升级及独立组合验收见[rc.1 兼容性验证](docs/verification/dsh-0.2.2-rc1.md)。DSH 0.2.1-rc.5 对应含缺锁修复的插件 0.2.9,保留[rc.5 验证](docs/verification/dsh-0.2.1-rc5.md)与[缺锁修复证据](docs/verification/host-lifecycle.md#缺锁旧-jsonl-会话的显式接入)。DSH 0.2.1-rc.3 请保留插件 0.2.6,证据见[rc.3 验证](docs/verification/dsh-0.2.1-rc3.md)。使用 DSH 0.2.1-rc.2 时请保留插件 0.2.4,0.2.1-rc.1 对应插件 0.2.1;旧宿主 0.2.0-rc.2 对应插件 0.2.0。
永久删除仅对以下精确运行时及环境启用,使用单 Host 和已验证的 JSONL raw/zstd 存储组合:
宿主运行时 · 已验收环境 · CPU 架构 · 文件系统
独立 Node 24.18.1 / libuv 1.52.1 · Windows Server 2025 · x64 · NTFS
独立 Node 24.18.1 / libuv 1.52.1 · macOS 15 · Apple Silicon ARM64、Intel x64 · APFS
独立 Node 24.18.1 / libuv 1.52.1 · Ubuntu 24.04 · ARM64、x64 · ext2/ext3/ext4 family(type 0xef53)
Electron 44.7.0 / Node 24.21.0 / libuv 1.52.1 · macOS 15 桌面运行时 · Apple Silicon ARM64 · APFS
表格记录实际验收环境,不代表所有 Windows、macOS 或 Linux 版本均已验证。Windows ARM64、其他桌面架构/版本、普通 Node 24.21.0 及未验证的存储组合不在永久删除支持范围内。永久删除还会检查宿主源码、资源身份和当前状态;不满足条件时明确拒绝。完整准入与限制见 [Host 生命周期](docs/host-lifecycle.md)。
新版 DSH 的自动检测、隔离候选验证与 Issue/草稿 PR 流程见[兼容性自动检查](docs/compatibility.md)。每小时检查上游发布渠道;匹配的官方 macOS ARM64 Desktop 到达后,在独立解压的 Electron/ASAR 载体上补充候选验证。npm 与 Desktop 分别去重,产物保留 14 天;候选结果不自动扩大永久删除准入,依赖 PR 保持草稿,不自动合并或发布。
旧 DSH 0.2.2-alpha.2 / alpha.3 不在生产支持范围;请升级至已独立验收的 0.2.2-rc.1。原始失败记录保留在[alpha.2 隔离检查](docs/verification/dsh-0.2.2-alpha2.md),不能将新版本通过改写为旧 alpha 已兼容。
安装
从 npm 安装已发布的预编译包:
dsh plugin --profile web add @takboo/dsh-session-bin@0.3.0
以上命令使用已安装的 DSH 0.2.2-rc.1,将完整插件 bundle 安装到 web profile。已验证的 macOS ARM64 桌面版请在 desktop profile 的插件管理页面安装同一个 npm 包,并重新启动该 profile 的宿主。启动或重新启动该 profile 后,从侧栏打开“会话回收站”(Session Bin)。发布包包含预编译 Host 和 Client,使用者安装时无需编译 TypeScript;其 tarball 已通过真实 CLI/GUI 验证。
卸载同一 profile 中的插件:
dsh plugin --profile web remove @takboo/dsh-session-bin
也可下载 v0.3.0 Release 中的三个附件,核对 SHA256SUMS 后运行 dsh plugin --profile web add ./dsh-session-bin.tgz。自行构建时,先完成下方[开发入门](#开发入门),再运行 mise exec -- pnpm exec npm pack --ignore-scripts。
如安装过早期未加 scope 的开发包,先从同一 profile 卸载 dsh-session-bin,再安装 scoped 包,避免重复注册;原生归档和已有操作记录保留。分发契约见[发布文档](docs/release.md)。
自动构建与 Release
每次分支 push 或 PR 的 Linux x64 验收通过后,GitHub Actions 提供 release-payload artifact,包含真实测试过的 tarball、校验文件和提交信息,供发布前检查。
推送与 package.json.version 一致的 v<version> tag 时,五个平台全部通过后自动创建 GitHub Release,附上 dsh-session-bin.tgz、SHA256SUMS 和 release.json。预发布版本标记为 prerelease;tag 须指向 main 历史中的提交。版本 tag 的推送就是发布触发操作,流程见[发布文档](docs/release.md#自动-tarball-release)。
使用
1. 使用 Harness 原生“归档会话”操作归档目标会话。
2. 打开“会话回收站”,搜索或筛选已有归档;选择单项或多项取消归档。
3. 永久删除时,核对确认窗口中的对象和阻止原因,再确认执行。设置中的“永久删除会话前进行确认”默认开启;关闭后,点击单项删除、删除所选或清空将直接开始永久删除。
4. 批量操作期间查看进度和日志,完成后只保留统计及需要处理的项。如出现部分失败或连接中断,先检查操作状态,再决定是否继续。
“清空全部归档”包含点击时的全部归档,搜索和工作区筛选不会缩小其范围。 批量删除固定开始时的对象,后来新增的归档不会加入。
永久删除不可撤销,仅允许已归档、无活动且无未释放读写引用的冷会话;删除准备会释放由 API Session 激活且确认空闲的目标 Agent,再复核冷会话条件;活动任务、其他所有者的 Agent 和未释放的读写引用仍会阻止删除。清除范围是目标会话日志及已声明的会话元数据、索引;共享附件、外部副本和独立 fork 会保留。插件不提供共享附件垃圾回收或安全擦除保证,也不支持自动定期清空、跨设备同步或多 Host 协调。可通过 Host 配置 permanentDeletion: false 关闭永久删除,配置说明见 [Host 生命周期](docs/host-lifecycle.md)。
开发入门
使用 mise 管理工具版本,固定配置在 [mise.toml](mise.toml)。
git clone https://github.com/takboo/dsh-session-bin.git cd dsh-session-bin mise trust mise install mise run install mise run verify
mise run install 按 frozen lockfile 安装依赖并禁用安装脚本。mise run verify 完成类型检查、构建、隔离行为测试和真实 tarball 加载检查;测试使用临时 DSH_HOME 与测试会话。
命令 · 用途
mise run env · 查看固定工具版本
mise run compat:discover -- --local · 只读发现新版 DSH 与发布物身份
DSH_VERSION=<精确版本> mise run compat:check · 在独立副本检查新版,保持生产准入
mise run verify:docs · 检查文档链接与锚点
mise run check · 检查 Host 与 Client 类型
mise run build · 生成预编译产物和类型声明
mise run verify · 完整本地行为与打包验证
mise run verify:gui · 隔离 Web profile 中的双语 CLI/GUI 验证
mise run verify:desktop · 已安装桌面 Electron 与真实 ASAR Host 的隔离完整回归
mise run verify:desktop:gui · 在已安装桌面 Electron 上运行隔离 Web 双语 CLI/GUI
mise run verify:platform · 记录实际操作系统的候选组合验收证据
mise run verify:linux · 在固定 Node 的 Linux 容器内验证,需要 Docker
GUI 验证需要 npm registry 网络访问。本机可使用系统 Chromium;CI=true(包括隔离候选检查)使用 Playwright 锁定的浏览器,先运行 mise run verify:gui:browser,缺失时直接拒绝,不回退到自动更新的系统 Chrome。探针保留原生 WebSocket,在控制进程停顿 3.5 秒时验证握手,并在浏览器内定点延迟测试历史流。准备方式见[客户端接口](docs/client-interface.md#构建和检查)。候选验收通过不会自动扩大生产支持矩阵。本地 .local/ 存放研究快照及测试证据,不进入 Git 或发布包。
文档与贡献
欢迎通过 Issues 报告问题或提出功能建议。兼容性问题请提供 DSH/Node 版本、操作系统、架构、文件系统和存储提供方;样本使用测试数据。开发和 PR 约定见 [CONTRIBUTING.md](CONTRIBUTING.md),代理工作入口见 [AGENTS.md](AGENTS.md)。
- [Host 生命周期](docs/host-lifecycle.md)、[客户端接口](docs/client-interface.md):
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:13,最后更新 2026-11-05