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 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案