dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Session manager for DeepSeek Harness (dsh-v0.1.2-alpha.5): permanently delete cold sessions and manage archived sessions via the official Profile Bundle / Cordis APIs. MIT.
DeepSeek Harness(DSH)会话管理插件。
dsh-sess 在 DSH Web UI 中新增 「会话管理」 页面(设置 → 会话管理),支持
永久删除冷会话、管理归档会话(列表 / 重命名 / 删除)。插件是独立 npm 包,
作为 profile bundle 安装到 DSH profile,通过官方 Profile Bundle + Cordis
机制挂载,严格基于
deepseek-ai/deepseek-harness
dsh-v0.1.2-alpha.5 的公开 API 实现,不修改 Harness 源码。
简体中文 · English
DSH 原生界面(截至 dsh-v0.1.2-alpha.5)可以从行菜单重命名 / 派生 / 归档会话、
重命名 / 删除工作区注册——但没有会话的永久删除,且归档后无法再查看或重命名
归档会话(归档是单向的)。dsh-sess 正好补上这两个缺口:
| 能力 | 位置 | 说明 |
|---|---|---|
| 会话列表 / 查询 / 当前状态 | 会话管理「全部会话」 | 与侧边栏同一投影:标题、活跃时间、所属工作区、运行/空白标记。 |
| 会话标识、名称与元数据 | 会话管理 | 展示持久化标题(缺失回退 id)、工作区归属、归档状态、活跃时间。 |
| 会话永久删除 | 会话管理 + 侧边栏行菜单 | 每条会话行的省略号菜单在「归档」下方新增 删除会话。仅冷会话;live 会话返回 agent-busy 并给出明确提示。 |
| 归档会话管理 | 「归档会话」页 | 列表、行内重命名(官方 session/rename 路径)、删除。 |
| 持久化、读取与重启恢复 | 宿主操作 | 存在性经官方 ctx.sessionPersistence.list() 校验;产物删除经官方 locate()。DSH 重启后所有会话变冷即可删除。 |
| 会话与工作区实例关联 | 会话管理 | 工作区标题来自客户端工作区投影;删除时经官方 workspaceRegistry detach 接口解除记账。 |
| 异常会话安全处理 | 护栏 | 非法 id 拒绝;未知会话 → session-not-found;live 会话 → agent-busy;危险路径在触碰文件前即被拒绝。 |
dsh-v0.1.2-alpha.5(web profile:@deepseek-ai/dsh-base + @deepseek-ai/dsh-web-app)。用官方插件命令安装到运行 Web UI 的 profile(PATH 需包含 pnpm):
dsh plugin --profile web add dsh-sess
dsh plugin 会把参数转发给 profile 目录里的 pnpm,并在安装后把该包追加到
dsh.profile.bundles(因为包声明了 dsh.bundle;详见
docs/integration.zh.md)。重启 Web UI(停掉并重新
dsh web)后,设置页即出现 会话管理 分区。
若从本仓库的 Git 检出安装(而非 npm):先构建 (
npm ci && npm run build),再把 profile 指向本地目录:dsh plugin --profile web add <仓库绝对路径>(相对路径按执行命令时的工作目录解析)。 运行时依赖lib/与client/构建产物,这两个目录不入库。
会话管理 → 全部会话
agent-busy,细分“运行中”/“被保留
并附 id”)或已不存在的会话(session-not-found)会返回本地化错误提示;当前正在
查看的会话在发起请求前即被拒绝。会话管理 → 归档会话
以下限制源于官方 API 面,而非插件:
dsh-sess 从不直接写
workspace 域状态,因此归档会话无法恢复,只能重命名或删除。src/index.ts 宿主端插件入口(cordis plugin)
src/host/ 宿主端操作(仅用官方服务)
rpc.ts /dsh-sess RPC 通道与端点分发
delete-session.ts 冷会话永久删除
rename-session.ts 归档会话重命名(官方 controller)
artifact.ts 带护栏的持久化产物删除
session-id.ts 会话 id 校验
errors.ts 稳定错误码 / wire 错误
src/client/ 浏览器端(官方客户端服务 + slots)
index.tsx 插件入口;注册设置分区与行菜单
session-manager.tsx 管理器 UI
row-menu.ts 会话行菜单注入(归档下方)
fiber-id.ts 防御式会话 id 解析(React fiber)
row-delete.tsx 行菜单确认弹窗宿主(Modal)
row-store.ts 行删除请求存储
delete-flow.ts 删除/重命名共享错误文案
model.ts 纯行投影(单测覆盖)
rpc.ts 客户端 RPC 助手
locales.ts zh/en 文案
tests/ 单元测试(宿主操作 + 客户端模型/文案)
cordis.patch.yml Profile bundle patch(挂载插件行)
English documentation mirrors these files (start at README.md).
MIT © 2026 dsh-sess contributors