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
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.slots(inject: ['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精确固定);旧的非 scopedcordis会被商店受管安装器拒绝。 - 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
只归档(隐藏)会话,不删除磁盘文件。商店收录/安装不构成安全背书——安装后代码以
本地用户权限运行。