OpenViking
volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:akira399/dsh-session-delete
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
在 DSH 侧边栏对话菜单中真正永久删除会话 —— 从文件系统层面删除会话日志,而不是像归档那样仅仅隐藏。
DSH 官方客户端目前只提供「归档会话」(把会话从列表隐藏,日志文件仍留在磁盘)。本插件在会话行 ··· 菜单的「归档对话」下方新增「删除对话」入口:点击并确认后,会话的日志文件会从磁盘彻底删除,不可恢复。
sessionPersistence.locate() 定位会话目录并递归删除日志文件,非隐藏、非标记删除workspace.json 的会话席位与全局归档集合一并清除,不留脏数据npx -p @deepseek-ai/dsh dsh plugin --profile web add <owner>/dsh-session-delete
安装完成后重启 dsh web 生效。
也可以从 GitHub 仓库地址安装:
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:<owner>/dsh-session-delete
··· 按钮;Delete session);删除正在运行的会话时,会先中止该会话的回复再执行删除。
DSH 官方没有为会话行菜单提供扩展 slot,本插件采用 host + client 双半端实现:
lib/index.js):注册本地路由 POST /session-delete/api/delete。sessionId(严格 session-<uuid> 格式,杜绝路径穿越)与请求来源(仅 localhost);agents 服务取消当前 turn,再通过 sessions store 的标准 detach() 路径摘除内存会话(触发官方 host/session-removed 帧),防止内存日志把文件"复活";sessionPersistence.locate() 定位会话目录(~/.dsh/sessions/<workspace-key>/session-<uuid>/),递归删除;workspaceRegistry 的操作队列清理记账(workspace 的 sessionIds 席位与全局归档集合),前端经官方 domain/changed 帧自动同步。lib/client.js):监听会话菜单渲染 DOM(role="menu"),在「归档会话」下方克隆注入「删除对话」项;点击时依据官方快照 store(ctx.sessions.list / ctx.workspaces.list,与 UI 渲染同一份数据)+ 侧边栏行序定位 sessionId,并以行标题(aria-label)二次校验;确认后调用删除路由,成功后通过官方 ctx.sessions / ctx.workspaces 运行时服务刷新列表。sessionId 严格校验为 session-<uuid> 格式,杜绝路径穿越;subagents/)各自独立存储,如需一并删除请逐个操作。| 问题 | 说明 |
|---|---|
| 点击后提示"无法识别该会话" | 侧边栏行与数据快照短暂不一致时可能出现;刷新页面后重试即可(控制台会输出诊断信息) |
| 提示"该会话当前处于打开状态且无法从内存移除" | 极少数情况下内存摘除不可用,重启 DSH 后即可正常删除 |
| 删除后磁盘占用没有减少 | 附件为跨会话共享资源,不会被删除;仅会话日志目录被移除 |
删除操作不可恢复,请确认后再点击。使用本插件造成的任何数据损失由使用者自行承担;本插件仅提供删除功能,不构成任何担保。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: session-delete。