前言¶
DeepSeek Harness (DSH) Web GUI 采用插件化架构。DSH 原生提供了会话归档功能 (archiveSession),但缺少对已归档会话的后期管理能力,例如重命名、还原和删除。@crack/dsh-archive 插件旨在补齐这一缺失的闭环,为 DSH Web GUI 提供完整的归档会话管理能力。
核心功能¶
插件在侧边栏新增了归档入口,并在归档视图中实现了以下能力:
- 入口与视图:在“添加工作区”按钮右侧新增圆形归档按钮(28px)。点击后,原工作区列表区域被归档视图覆盖。归档视图按工作区分组,支持折叠,列表按时间降序排列。
- 会话操作:每行会话 Hover 出现三点菜单,支持:
- 重命名:使用原生弹窗,支持中文输入法保护。
- 还原:将归档会话恢复至原工作区位置。
- 删除:通过原生确认弹窗执行,移除对应的日志文件且不可恢复。
- API 接口:提供 REST 接口供外部调用:
GET /plugins/@crack/dsh-archive/api/archived:获取归档会话列表。POST /plugins/@crack/dsh-archive/api/rename-session:重命名会话。POST /plugins/@crack/dsh-archive/api/unarchive:还原归档会话。POST /plugins/@crack/dsh-archive/api/delete-session:删除归档会话。
安装与启用¶
安装该插件需链接本地包并注册配置。
- 链接本地包到 dsh web profile(一次性操作):
dsh plugin --profile web add "link:E:\path\to\dsh-archive"
- 在 profile patch 中注册插件:
- 编辑
C:\Users\<you>\.dsh\profiles\web\cordis.patch.yml。 - 追加配置:
- 编辑
- insert:
- id: archive
name: '@crack/dsh-archive'
- 重启 dsh web 服务。
开发与构建¶
项目使用 Node.js 和 pnpm 构建。构建完成后,浏览器支持自动热替换。
pnpm install # 安装构建依赖
pnpm run build # 构建宿主端与浏览器端代码
pnpm run typecheck # 类型检查
开发时,可编辑以下文件:
* src/client/skin.css:归档视图样式。
* src/client/index.ts:浏览器端逻辑。
* src/index.ts:宿主端 API 路由注册。
卸载¶
卸载需清理插件注册和配置文件。
- 从 profile 中移除插件:
dsh plugin --profile web remove @crack/dsh-archive
- 删除
cordis.patch.yml中的archive注册行。 - 重启 dsh web。
注意事项¶
- 数据安全:归档会话的删除操作会移除日志文件,且不可恢复,操作前请确认。
- 权限检查:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。