Back to home@Heeweelee

dsh-session-plugin

DeepSeek Harness plugin: input-box history recall (Up/Down) and right-click archive for workspace sessions

Stars
0
Language
JavaScript
Created
Aug 21, 2026
Updated
Aug 21, 2026
GitHub repo

Introduction

@heeweelee/dsh-session-plugin

一个可安装的 DeepSeek Harness(DSH)插件,把「输入框历史回填」和「会话右键归档(删除)」作为发布包提供。

  • 输入框历史:在输入框聚焦时按 回填上一条你发过的消息,继续 ↑/↓ 切换;标题栏会多一个 ↑ 历史 按钮。
  • 右键删除(归档):在工作区左侧会话列表里右键某个会话 →「删除该会话」,走 DSH 原生 archiveSession(归档隐藏,不破坏文件)。

架构

这是从动态 Cordis 插件 sess-7/pkg-9("Session Input History + Archive")1:1 移植而来的发布包,二者共用同一套 Cordis 模型(apply(ctx)),只有 RPC 传输方式改变:

动态插件本发布包
harness.handle(...) / host.call(...)Host webServer JSON 路由 + Client fetch('/api/dsh-session-plugin/...')
ctx.get('slots')ctx.slotsinject: ['slots', 'timer']

Host(index.js

  • inject: ['sessionQuery', 'workspaceRegistry', 'webServer']
  • 注册三个路由:
    • GET /api/dsh-session-plugin/history?sessionId= — 读取该会话的 user/message 文本历史;
    • GET /api/dsh-session-plugin/sessions — 列出会话 {id, title}
    • POST /api/dsh-session-plugin/archive{sessionId} 归档会话。

Client(dist/client.js

  • inject: ['slots', 'timer']
  • 注册 conversation.session.header.actions↑ 历史 按钮 + ↑/↓ 键盘监听)和 shell.overlay(toast + 右键菜单)。

安装

dsh plugin add @heeweelee/dsh-session-plugin@0.1.0

或在 DSH Desktop 的 设置 > 插件 市场中安装。安装后重启 DSH 使新包生效。

兼容性

  • 依赖 DSH 0.1.0-rc.7 运行时(@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session-query@deepseek-ai/dsh-workspace 都以 0.1.0-rc.7 精确固定);旧的非 scoped cordis 会被商店受管安装器拒绝。
  • Node ^22.19.0 || >=24(与 DSH Desktop 内置 Node 运行时一致)。

目录结构与发布

index.js             Host 入口(ESM,直接可运行)
dist/client.js       Client 入口(window.__ModuleLoader__ 预打包格式)
cordis.patch.yml     bundle patch(插入到 profile 组合)
package.json         声明 dsh.bundle.patch / dsh.client / exports

dist/client.js 是手写的模块加载器 bundle(与内置插件 lib/client.js 相同的 window.__ModuleLoader__.load({ id, factory }) 线格式)。发布前建议用 DSH 插件 构建链重新生成该文件,并核对 id 等于包名 @heeweelee/dsh-session-plugin

安全边界

本包没有运行期 npm 依赖,Host 三个路由为同源、无鉴权的进程内接口;archive 只归档(隐藏)会话,不删除磁盘文件。商店收录/安装不构成安全背书——安装后代码以 本地用户权限运行。