Sessions & Messages

dsh-chat-prune

Cans518/dsh-chat-prune · ★ 0

Cans518

DSH conversation management with retention previews, batch archive and pin actions, and guarded deletion.

README body is shown in Chinese.

License
MIT
Added
2026-10-30
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-10-30T09:39:16.134Z
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add 'github:Cans518/dsh-chat-prune#545849b8bdc5aa79d24130922fbb135a21de566d'

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: zh · Read Chinese README

Table of contents
  1. 功能
  2. 运行环境
  3. 安装
  4. 快速上手
  5. 删除一条对话
  6. 批量整理
  7. 按规则修剪
  8. 压缩与迁移对话
  9. 数据安全与备份
  10. 更新与卸载
  11. 文档
  12. 本地开发
  13. 参与贡献
  14. 许可证

DSH Chat Prune 是一个社区维护的对话管理插件。它在 DSH NEXT 侧边栏提供快捷删除和“管理对话”入口,让你在清理之前看清记录、来源、占用和保护状态。

功能

功能 说明
侧边栏入口 删除单条对话,或从底部打开管理窗口;适配展开与折叠状态
搜索与筛选 按标题、工作区、会话 ID、来源、状态、更新时间和大小查找记录
批量管理 跨页选择,批量归档、取消归档、置顶、取消置顶或删除
对话压缩 手动压缩,按未更新时间自动压缩;打开时按需恢复,清理可重建的投影缓存
导出与迁移 批量下载对话压缩包,在新环境安装插件后导入内容、附件与置顶/归档状态
保留规则 每个工作区保留最近 N 条,只选择早于指定天数的候选记录
多来源管理 合并多个 DSH 数据目录;连接各自的本机宿主后统一操作
预览与备份 执行前核对完整目标,逐条反馈结果,可停止后续操作
主题适配 跟随宿主的浅色、深色和自定义主题即时变化

运行环境

  • 系统:Windows。 macOS / Linux 暂不支持在线删除。
  • 宿主:DSH NEXT。 需要客户端插件、工作区服务和会话持久化服务。
  • 安装工具:桌面版自带的 dsh 命令。 源码开发建议使用 Node.js 24,插件最低要求 Node.js 20。

宿主接口可能随版本变化,详细兼容边界见技术说明。

安装

先启动一次 DSH NEXT 完成 profile 初始化,再从系统托盘正常退出。使用桌面版提供的命令安装:

dsh plugin --profile desktop add github:Cans518/dsh-chat-prune

重新打开 DSH 即可使用。仓库已包含构建产物,安装时会自动启用插件,无需克隆仓库、编译或手动添加 YAML 挂载条目。再次执行同一命令可安装仓库当前版本。

需要固定到本次发布版本时:

dsh plugin --profile desktop add https://github.com/Cans518/dsh-chat-prune/releases/download/v0.6.0/dsh-chat-prune-0.6.0.tgz

插件名称为 dsh-chat-prune,GitHub 安装源为 github:Cans518/dsh-chat-prune。当前未发布 npm 包,因此请使用上述完整命令;dsh add dsh-chat-prune 不是 DSH 的插件安装语法。

也可以在 Releases 下载 .tgz 和 SHA256SUMS.txt,校验后从本地安装:

dsh plugin --profile desktop add "C:\Downloads\dsh-chat-prune-0.6.0.tgz"

终端找不到 dsh 时,请先启用 DSH NEXT 桌面版的命令行入口,再重新打开终端。使用 Web profile 时将 desktop 换成 web;请安装到实际使用的 profile。

快速上手

删除一条对话

展开左侧工作区,鼠标移到具体会话行,点击垃圾桶。核对目标与备份设置后确认删除;Escape 或“取消”可放弃操作。

批量整理

  1. 点击侧边栏底部的“管理对话”。
  2. 搜索或筛选记录,选择本页或全部筛选结果。
  3. 选择归档、置顶或删除等操作,点击“预览所选操作”。
  4. 核对完整目标清单,再确认执行。结果逐条显示,可停止尚未开始的操作。

按规则修剪

在管理窗口点击“保留规则”,例如设置“每个工作区保留最近 10 条,只修剪早于 30 天的记录”,生成候选后预览并确认。

“最近 N 条”按每个来源中的整个工作区计算。置顶、运行中、无法安全释放、记录缺失或时间未知的对话受保护。

多来源连接、筛选规则、备份配置和常见问题见使用指南。

压缩与迁移对话

在管理窗口选择一条或多条对话,从“批量操作”选择“压缩记录”并预览确认。压缩记录仍保留在原生对话列表,打开时自动恢复,也可手动选择“解压记录”。

展开“压缩与迁移”,设置多少天未更新后自动压缩,保存后宿主每分钟检查一次;0 表示关闭。批量操作中的“导出压缩包”下载 .dsh-chat.gz 文件;在新环境安装并启用插件后,在同一区域选择文件并点击“导入对话压缩包”。

每次导出选择同一来源;导入写入当前环境的“导入的对话”工作区,已有 ID 会拒绝导入。压缩包上限、保护规则和恢复说明见压缩与迁移。

数据安全与备份

归档保留记录,删除会移除本地记录。 单条删除默认不备份,批量删除默认勾选备份;确认前请核对设置。

  • 删除由数据目录所属宿主执行,并检查会话写入所有权;正在运行或无法安全释放的会话会被拒绝。
  • 开启备份时,备份失败则不删除。备份保存在对应数据目录的 deleted-sessions/。
  • 恢复需要先正常退出 DSH,再按备份中的 restore.json 手动还原记录和索引;备份不会自动清理。
  • 未连接宿主的额外来源只读展示;移除来源设置不会删除对话。

如何开启全局备份见使用指南,恢复步骤见技术说明。

更新与卸载

更新前正常退出 DSH,并另存自己修改过的插件配置;按新 Release 的说明执行 dsh plugin --profile desktop add <新安装包地址>,再重新打开 DSH。

卸载:

dsh plugin --profile desktop remove dsh-chat-prune

卸载不会恢复已删除的记录,也不会清理已有备份。手动停用过的插件需要到 DSH 的插件管理页重新启用。

文档

文档 内容
使用指南 多来源连接、筛选、批量操作、备份设置与常见问题
技术说明 宿主接口、删除边界、所有权、备份恢复与客户端入口
参与贡献 开发环境、测试、目录职责与提交建议
发布流程 版本更新、自动发布、附件校验与补发
更新记录 面向使用者的版本变更

本地开发

git clone https://github.com/Cans518/dsh-chat-prune.git
cd dsh-chat-prune
npm ci --legacy-peer-deps
npm run build
npm test

修改客户端源码后需重新构建并提交 client.js。CI 在 Windows 的 Node.js 20 和 24 上运行验证;新版本推送到 main 并通过检查后,Action 自动打标签、打包并创建 Release。

.github/       CI、发布工作流与 Issue 模板
assets/        项目图标
docs/          使用、技术及维护文档
lib/           宿主接口、会话管理与纯筛选规则
scripts/       构建、校验、安装与维护工具
test/          逻辑、浏览器及宿主集成测试
client-*.js    客户端源模块
client.js      已提交的客户端构建产物

参与贡献

欢迎通过 Issues 报告问题、提出功能建议,或提交 Pull Request。问题反馈请附插件版本、DSH 版本、操作步骤和脱敏后的错误信息。

开始开发前请阅读 CONTRIBUTING.md。测试使用临时目录与虚构记录,请勿使用真实对话验证删除行为。

许可证

本项目的代码与图标采用 MIT License。DSH Chat Prune 为社区项目,与 DSH 官方无隶属关系。