一个 DeepSeek Harness Web 插件:在会话头部右侧("Session log" 导出按钮旁边)添加一个悬停显现的红色垃圾桶按钮,点击后二次确认删除当前会话。
删除走官方 workspaces.archiveSession 客户端 API:会话会被持久化归档隐藏(从侧边栏会话列表移除),若删除的是当前会话还会自动清除当前选中、回到新建会话界面。
- ✅ 会话头部右侧红色垃圾桶按钮,悬停显现(半透明 → 全亮红 + 高亮背景),与头部其他图标按钮交互一致
- ✅ 点击弹出二次确认对话框(中文/英文跟随界面语言)
- ✅ 确认后调用官方归档 API 删除会话,删除中显示"正在删除…",失败显示错误信息
- ✅ 无 host 端副作用、不替换任何官方 UI,卸载即完全移除
把本目录放入你的 profile(例如 C:\Users\<你>\.dsh\profiles\web\),然后在 profile 的 package.json 中:
-
在
dependencies添加:"dsh-session-delete": "file:./dsh-session-delete"
-
在
dsh.profile.bundles数组追加:"dsh-session-delete" -
在 profile 目录运行安装并重启 Web:
pnpm install # 重启 dsh web 服务
cordis.patch.yml会把插件行插入 profile 层;client 端由dsh-client-modules扫描dsh.client声明自动注入浏览器。
pnpm add dsh-session-delete
# 并在 profile package.json 的 dsh.profile.bundles 中注册- client 端(
lib/client.js):以window.__ModuleLoader__.load注册为 Web 客户端插件,注入conversation.session.header.utilities槽位(会话级、右对齐工具区),order: 100使其显示在 "Session log" 之后。 - 删除动作:点击确认后调用
ctx.workspaces.archiveSession(sessionId)—— 官方客户端 API,映射到 host 的workspaceRegistry.archiveSession,持久化归档 + 通过host/archived-sessions-changed帧即时同步 UI。
侧边栏会话行上的 ⋯ 菜单是产品内置组件硬编码的,没有给插件留槽位,因此删除按钮放在会话头部右侧的官方可扩展槽位(conversation.session.header.utilities)——这是唯一安全、不遮蔽官方 UI 的会话级入口。
MIT