Wuxie233/dsh-plugin-blank-session-gc ↗★ 0
dsh-plugin-blank-session-gc
Keep at most one unused blank conversation: scan on session create and delete the rest from workspace accounts and JSONL logs
AI 분석
核心用途是自动清理工作区和 JSONL 日志中的冗余空白会话。适合希望保持侧边栏和磁盘空间整洁的 DSH 用户,在会话创建时自动触发。
설치
검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗
dsh-plugin-blank-session-gc
DSH host 守护插件:库里最多只留 一条未使用的空对话。
Web 点「新建对话」仍会立刻 session.create。这条空会话切走后从侧栏消失,但会留在 workspace 账本和 JSONL 会话库里。本插件不改本体创建路径:监听到新会话后扫描,删掉其余未使用空会话。
行为
- 触发:进程启动一次;之后每次普通会话
session/created(防抖 250ms)。 - 未使用:日志里没有
turn/start。权限钉选、/plan、/goal、改标题都不算使用。 - 保留:所有未使用空会话里
createdAt最新的那一条(并列比 id)。 - 删除:从每个 workspace 的
sessionIds摘掉,并删掉sessionPersistence.locate指向的 JSONL 会话目录。 - 子代理会话(
origin: 'subagent')不碰。 - 仍挂在本进程里的空会话卸不掉(Host 不公开 dispose)。账本和磁盘会清;进程内那条等重启消失。
本体没有公开 session.delete。删 JSONL 目录是这条部署上唯一能真擦掉会话日志的办法;升级后路径若变,插件可能扫得到但删不掉。
安装 / 更新
./install.sh
# ~/.dsh/profiles/web/cordis.patch.yml:
# - insert:
# - id: blank-session-gc
# name: dsh-plugin-blank-session-gc
pm2 restart dsh-web
验证
- 部署后:
cd ~/.dsh/profiles/web && node -e "await import('dsh-plugin-blank-session-gc')" - 纯函数:
node scripts/pick-victims.test.mjs - 运行日志:
pm2 logs dsh-web --lines 80 --nostream | grep blank-session-gc