DeepSHPlugins
dsh-session-cleaner 项目预览
GITHUB / COMMUNITY PROJECT

dsh-session-cleaner

会话与消息JavaScriptApache-2.0

在 DSH Web GUI 设置页管理对话记录:可删除整个会话(归档并物理删除日志),或按用户消息分组浏览并删除单条消息(删除用户消息会级联删除其引发的助手与工具消息)。运行中与当前会话受保护。

6 Starshaoranwang0921 更新时间 2026-09-05
访问 GitHub 仓库
dsh-session-cleaner 项目预览

项目介绍

中文

在 DSH Web GUI 设置页管理对话记录:可删除整个会话(归档并物理删除日志),或按用户消息分组浏览并删除单条消息(删除用户消息会级联删除其引发的助手与工具消息)。运行中与当前会话受保护。

English

Manage conversation records from the DSH web GUI settings page: delete a whole session (archive plus physical log removal) or a single message (deleting a user message cascades to its assistant replies and tool results). Running and current sessions are protected.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
haoranwang0921
仓库
haoranwang0921/dsh-session-cleaner
GitHub Stars
6
Forks
1
开发语言
JavaScript
许可证
Apache-2.0
最近推送
2026-09-05
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

72/ 100
维护活跃
97
文档与实用信息
92
生态关注度
28
安装便捷信号
75
项目声明信号
100

近 6 天仍在更新;README 含完整安装与使用说明;关注度尚低(6)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:haoranwang0921/dsh-session-cleaner

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-session-cleaner

DeepSeek Harness Web GUI 插件:在设置页中管理并删除对话记录。

English

功能

  • 删除整个会话:归档会话并物理删除其持久化日志(JSONL 目录),同时清理该会话的消息反馈数据。
  • 删除单条对话记录:按用户消息分组展示对话内容;删除一条用户消息会级联删除它引发的所有助手回复与工具消息。
  • 分组查看:设置页「会话管理」中,点击一条用户消息可展开其引发的助手/工具消息,子消息可单独删除。
  • 安全边界:正在运行的会话与当前会话不可删除整会话;只有 agent 真正在跑任务(mid-turn)的会话会被 Host 拒绝,空闲会话即使仍被宿主加载也不影响删除。单条消息删除仍拒绝任何 live 会话(Host 端校验),以保证与内存状态一致。

运行环境

安装(正式插件,随 DSH 启动自动加载)

本仓库是一个 dual-face 插件包:node half 运行在宿主进程(/api/session-cleaner 路由),browser half 通过 dsh.client 声明加载进 Web GUI。

# 1. 安装到 profile(本地开发用 link 路径;或发布 npm 后用包名)
dsh plugin --profile web add link:C:\path\to\dsh-session-cleaner

# 2. 重启 dsh web
dsh web

安装后插件随 DSH 启动自动加载,无需每次重新安装。使用入口:设置 → 会话管理。

更新代码后无需重新构建(本仓库为纯 JS),重启 dsh web 即可。

工作原理

  • cordis.patch.yml(dsh.bundle.patch)向 profile 组合插入一行 session-cleaner 插件。
  • package.json 的 dsh.client 声明让浏览器半从 /plugins/<id>/client.js 加载;exports["./client"] 指向 bundle。
  • node half 通过 webServer 注册 /api/session-cleaner/* 路由(仅回环访问),浏览器半通过 fetch 调用。

卸载 / 更新

dsh plugin --profile web remove @haoranwang0921/dsh-session-cleaner

或直接编辑 $DSH_HOME/cordis.patch.yml / profile 的 cordis.patch.yml,把 session-cleaner 行禁用或删除。

删除语义(重要)

DSH 会话日志是 append-only 的:

  • 删除整个会话:物理删除该会话的日志目录,记录彻底移除(内容寻址的共享附件除外)。
  • 删除单条消息:通过 surface replace 机制把目标消息从模型上下文移除(与 /compact 压缩同款语义),但原始事件仍保留在日志与人类转录中;本插件列表中该消息会消失。

文件结构

  • lib/index.js — node half(Host 端):/api/session-cleaner/* 路由与删除逻辑。
  • lib/client.js — browser half:设置页「会话管理」分组视图。
  • cordis.patch.yml — bundle patch(向 profile 插入插件行)。
  • dynamic/ — 旧版动态 Cordis 插件格式(cordis_define / cordis_run 加载,DSH 重启后需重新加载),保留作参考。
  • LICENSE — Apache-2.0。

免责声明

删除操作不可逆。请在操作前确认目标会话/消息;作者不对数据丢失负责。

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目