deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Delete a session from the DSH Web GUI — DeepSeek Harness (dsh) Web 模式的主机 + 客户端插件。
在会话列表每行右侧的省略号菜单(重命名 / 分叉会话 / 归档会话)末尾追加一行
「删除会话」:点击后弹出产品级风险确认对话框(RiskConfirmation,
勾选「我了解此操作不可恢复」后方可确认),随后彻底删除该会话——包括
磁盘上的会话日志目录(sessions/<project>/<sessionId>/)与工作区记录中的
会话登记;成功 / 失败均有 Toast 反馈。
flush 把缓冲事件落盘,再 detach;detach 发布的
session/disposed 由 host API proxy 转发为 host/session-removed,
已打开的客户端列表自动移除该会话。sessionPersistence.findLog 定位日志文件,整目录移除。host/workspace-changed 帧)。deleteSession/delete),主机 Gateway 无需 @Remote 标记表即可解析调用。RiskConfirmation + Toast,均来自
dsh-client-ui-primitives)。从 GitHub 安装:
# 克隆后以本地路径安装
git clone https://github.com/SMWHff/dsh-delete-session
pnpm dsh plugin --profile web add file:/path/to/dsh-delete-session
或手动:把包链接进 profile 的 node_modules,并在 profile manifest 登记:
"dependencies": { "dsh-delete-session": "file:/path/to/dsh-delete-session" },
"dsh": { "profile": { "bundles": [..., "dsh-delete-session"] } }
bundle 层增删需重启 web 表面,并刷新页面让浏览器拿到新的
window.__DSH_BOOT__ 图。包内 lib/ 已随源码提交,file: 安装无需重新构建。
npm install # esbuild(一次性)
npm run build # 产出 lib/index.js(host ESM)与 lib/client.js(浏览器 bundle)
dsh-delete-session/
├── package.json # dsh.bundle + dsh.client 声明
├── cordis.patch.yml # bundle 层:insert 一行挂载本插件
├── dsh.plugin.json
├── build.mjs # esbuild 构建脚本
├── tsconfig.json
├── src/
│ ├── index.ts # host half:注册 Typert manifest
│ ├── contract.ts # 共享 wire 契约(zod codec)
│ ├── typert.ts # TYPERT_MANIFEST
│ ├── runtime.ts # DeleteSessionRuntime:分层删除逻辑
│ └── client/
│ ├── index.ts # browser half:remote 挂载 + 菜单注入
│ ├── remote.ts # client Remote contribution
│ ├── locales.ts # zh/en 字典
│ └── session-menu.ts # 会话菜单 DOM 适配器
└── lib/ # 构建产物
依赖运行时会话列表快照(displayTitle / blank / current)、workspace
locale 的 actions.session.aria / menu.archiveSession 模板,以及会话行
[role="treeitem"] 的 aria-selected 标记。官方后续版本若调整这些契约,
更新 src/client/session-menu.ts 顶部的识别逻辑即可。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。