liangmianya/dsh-synapse
liangmianya/dsh-synapseDeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
删除整个 DSH 会话,或只删除会话中某一轮已完成的对话:带二次确认、运行中 Agent 安全停止、路径与身份校验、改写前备份,后续轮次自动顺延。
DeepSeek Harness 的轻量会话管理插件:删除会话,或只删除会话里的某一轮对话。所有删除都有二次确认,并直接落到宿主存储上——不是隐藏,不是归档。
作者:大肥鲸 · MIT License · 适用于 DSH 0.2.x(v4 会话日志)
位置 · 操作 左侧会话列表 → 会话行的「⋯」菜单 · 删除会话…(红色)——永久删除该会话的日志、投影缓存与工作区登记 任意已完成轮次的末尾 · 删除本轮(低存在感小按钮)——从会话日志中移除该轮的用户消息、步骤、工具调用与回答;后续轮次保留并顺延编号
对话中不会出现额外面板、页面或常驻按钮;删除入口只在需要的位置出现。
~/.dsh/session-tidy-trash/ 再清除)、删除投影缓存行、从工作区顺序/归档/置顶中摘除。seq 与 sourceEventSeqs / surfaceOp / headerSeq / throughSeq / messageSeqs 引用 → 重新压缩写入;写前备份、写后用官方 Session 重放全量校验;任何无法安全重映射的引用(例如该轮之后存在压缩/图片卸载记录)都会拒绝删除并保持原样。header.id 校验、拒绝 junction/符号链接指向的其它会话;有分叉/子代理会话的父会话必须先删除子会话。~/.dsh/session-tidy-backups/,便于人工恢复。~/.dsh/spill/ 溢出文件、子代理会话、其它缓存不在清理范围内。@deepseek-ai/dsh-session-persistence-jsonl);其它后端会返回「不支持」而不是冒险删除。dsh plugin --profile desktop add github:weiVc/dsh-session-tidy也可以在 Harness 的「插件 → 添加插件」里粘贴上面的 github: 地址。安装后通常无需重启即可在页面生效(若宿主提示 restart-required,重启 DSH)。
开发调试可用本地目录:
dsh plugin --profile desktop add link:/absolute/path/to/dsh-session-tidydsh plugin --profile desktop remove dsh-session-tidy卸载不会删除任何会话;~/.dsh/session-tidy-backups/ 可自行清理。
node --test host/log.test.mjs合成日志用例始终运行;使用真实会话日志的用例需要一份私有 fixture(不随插件分发、避免泄露会话内容):
$env:DSH_TIDY_FIXTURE="C:\path\to\session.v4.jsonl.zstd"; node --test host/log.test.mjsindex.js Host:HTTP 路由、生命周期、删除流程
host/log.js zstd 会话日志解码/编码 + 单轮删除计划(纯函数)
host/log.test.mjs node --test
host/delete-session.js 路径解析、AgentHandle 追踪、目录隔离删除、原子写入、备份
client.js Web 客户端:菜单项 / 轮次按钮 / 确认框
locale/{zh,en}.json 插件元数据
icon.svg 插件图标设计时参考了社区同类插件的行为与边界(未复制其代码):