DeepSeek Harness Web GUI 会话归档插件

前言

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:删除归档会话。

安装与启用

安装该插件需链接本地包并注册配置。

  1. 链接本地包到 dsh web profile(一次性操作):
    dsh plugin --profile web add "link:E:\path\to\dsh-archive"
  1. 在 profile patch 中注册插件:
    • 编辑 C:\Users\<you>\.dsh\profiles\web\cordis.patch.yml。
    • 追加配置:
        - insert:
            - id: archive
              name: '@crack/dsh-archive'
  1. 重启 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 路由注册。

卸载

卸载需清理插件注册和配置文件。

  1. 从 profile 中移除插件:
    dsh plugin --profile web remove @crack/dsh-archive
  1. 删除 cordis.patch.yml 中的 archive 注册行。
  2. 重启 dsh web。

注意事项

  • 数据安全:归档会话的删除操作会移除日志文件,且不可恢复,操作前请确认。
  • 权限检查:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜