DSH Web 会话诊断、可信备份与一键安全修复插件。
36.3/100
综合分
4
GitHub 星标
376
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-session-repairnpm 源 · dsh-session-repair 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-skill给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
2 张 · 点击查看大图功能亮点
- 会话诊断
- 可信备份
- 一键安全修复
最近更新
在 GitHub 查看全部 →v0.7.02026-09-29
· v0.7.0 — 修复 DSH 0.1.5-rc.1 不可达 + 补齐 V3 会话格式能力
· 修复 / Fixed
在 DSH ≥ 0.1.5-rc.1 上完全不可达(严重):插件依赖 sessionPersistence.locate() 取 artifact 路径,rc.1 已移除该方法;且 rc.1 的 list() 返回 { header, revision, ... } 嵌套快照而旧代码读 x.id。两者叠加导致每次检查都返回 artifact-missing,所有修复路径不可达(通道能注册、GUI 能打开,但功能一调用即失败)。
· 兼容两种快照形状(rc.1 嵌套 / 旧扁平);
· locate 降级为可选调用,保留旧 DSH 支持;
· 新增路径重算(复刻引擎 projectKey + encodeSegment,含 _no-cwd 与目录扫描兜底),已在真实会话上验证精确命中。
· seq-gap 由每跳跃一条改为聚合成一条(带 gapCount):真实 subagent 会话有上千次跳跃(事件裁剪所致,正常),逐条上报淹没其他发现(实测 83 条 → 1 条)。
· 新增 / Added
三个新诊断码,规则对齐引擎的会话准入校验:
· source-kind-unclassified(blocked):source.kind 不在引擎 15 项审计词表内;
· source-field-unexpected(repairable):仅 agent-message 的闭合形状校验;
· usage-null-token:null 为 repairable,负值/非安全整数为 blocked。
新增 findFormatRepairs / applyFormatRepair:只做不臆造数据的机械修复,严格限定事件类型(曾有对所有类型改写同一字段导致 285 个会话损坏的历史);未经分类的 source.kind 不自动改写。
· 验证 / Verification
· 单元测试 28/28(新增 14 个 V3 专项,含跨事件类型误改的隔离断言);
· 真实会话端到端:7 个会话零误报(6 healthy / 0 blocked);
· 编译干净。
· 说明 / Notes
曾考虑增加 format-version-unsupported,经真实数据核实予以否决:已存会话 header 的 version 是物理代际(真实文件为 version: 0),并非 V3 逻辑版本,据此判断会产生误报。
npm:
v0.6.22026-08-24
· dsh-session-repair v0.6.2
DSH Web 会话诊断、可信备份与安全修复插件。
· 修复
· i18n 未跟随宿主语言:改用 Host locale 服务(ctx.get('locale') 读 locale.preference),并通过 useSyncExternalStore 订阅切换实时重渲染;不再依赖 navigator.language(你切到 English 后仍显示中文的问题)。
· 变更
· Client bundle 通过 locale.register('dsh-session-repair', { zh, en }) 注册文案,t() 优先走宿主翻译管道。
· humanDiff 标点与 seq 列表分隔符也 i18n 化(joinEnd/sentenceEnd/seqSep)。
· 修复(英文版)
· i18n 现在跟随 Host locale 服务(ctx.get('locale') 读 locale.preference),用 useSyncExternalStore 响应式重渲染;不再依赖 navigator.language(把界面切到英文后它仍停在中文)。
· 变更(英文版)
· Client bundle 通过 locale.register('dsh-session-repair', { zh, en }) 注册文案;t() 优先走宿主翻译管道。
· humanDiff 标点与 seq 列表分隔符改为 i18n 键(joinEnd/sentenceEnd/seqSep)。
---
· npm:
· GitHub:
· 收录:awesome-dsh-plugin(category: session)
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-session-repair
DSH Web 会话诊断、可信 checkpoint、pre-repair backup 与安全修复插件。
安装
从 npm 安装(推荐)
dsh plugin --profile web add dsh-session-repair
安装后重启 dsh web,再刷新 http://127.0.0.1:3080。
从 GitHub 安装
dsh plugin --profile web add github:Zn-Dk/dsh-session-repair
开发阶段:link 本地源码
cd /root/proj/dsh-proj/dsh-session-repair
pnpm install
pnpm build
dsh plugin --profile web add link:/root/proj/dsh-proj/dsh-session-repair
修改源码后重启现有 dsh web;不要启动替代服务器。若同时运行 deepseek-harness 的 dev:web watcher,Client bundle 可通过现有 HMR 接收更新。
展开完整文档(README 剩余 1 节)
dsh-session-repair
DSH Web 会话诊断、可信 checkpoint、pre-repair backup 与安全修复插件。
安装
从 npm 安装(推荐)
dsh plugin --profile web add dsh-session-repair
安装后重启 dsh web,再刷新 http://127.0.0.1:3080。
从 GitHub 安装
dsh plugin --profile web add github:Zn-Dk/dsh-session-repair
开发阶段:link 本地源码
cd /root/proj/dsh-proj/dsh-session-repair
pnpm install
pnpm build
dsh plugin --profile web add link:/root/proj/dsh-proj/dsh-session-repair
修改源码后重启现有 dsh web;不要启动替代服务器。若同时运行 deepseek-harness 的 dev:web watcher,Client bundle 可通过现有 HMR 接收更新。
状态分级
诊断报告的 severity 由检查项汇总而来,用于决定是否显示可写修复入口:
| status | case-when |
| healthy | 无 blocked/repairable/warning 检查项。seq-gap 与 live 会话中未闭合的 turn/step 仅作 info 观察项,不抬高等级。 |
| warning | 已结束(非 live)的历史存在未闭合的 turn/step 结构,或有其他潜在问题。可读、不提供写入修复。 |
| repairable | 存在确定性可修复问题(如空 tool-call ID 链),可提交修复计划。 |
| blocked | 会话无法正常展示,且存在无法自动修复的硬冲突(如 ID 冲突、zstd 损坏、会话不匹配)。 |
为什么需要这个插件
当 DeepSeek 网关在 tool-call 增量帧里偶发把 id/name 发成空字符串(上游 discussion #4365 跟踪的 identity-loss 家族),持久化历史会被「毒化」——之后每次加载都抛 message must have tool source,会话永久打不开。
dsh-session-repair 就在这个打不开的会话顶部原位一键修复——不用复制 sessionId、不用 agent 参与、不用手工切帧解压 zstd:
- 一键:在坏会话 header 点「会话体检」→「备份并修复」。
- 覆盖三种身份丢失形态:字段缺失、null、""。
- 一次性修复整条链(assistant/message、tool/call、tool/result)。
- 修复前强制 pre-repair backup,支持一键回滚,并保留审计记录。
上游已验证根因,并把我们的 closeBlock 兜底采纳为引擎侧修复蓝图的新增层(discussion #4365)。本插件是读取路径的恢复侧补全:它修复已经毒化的历史,引擎 patch 则阻止新的毒化写入。
使用
打开任意会话,在 Chat header 点击「会话体检」。当报告为 repairable 且至少有一条确定性修复计划时,面板会显示「备份并修复」按钮,并列出全部待修 seq 链。点击后先确认目标 seq 和 pre-repair backup,再一次性执行修复并重新校验;歧义、live、文件变化或其他 blocked 状态不会显示可写修复按钮。
面板按钮说明:
- 「刷新诊断」:重新读取当前会话工件并更新报告。
- 「复制报告」:把诊断 JSON 复制到剪贴板。
- 「导出报告」:下载诊断报告 JSON 文件。
- 「恢复上次修复前」:仅当会话为 repairable/blocked 且存在 pre-repair 备份时显示,一键回滚到最近一次修复前的状态。
- 「清空备份」:手动清空 safety 备份。
- 「备份并修复」:仅当报告为 repairable 且存在确定性修复计划时显示。
Agent 工具(模型调用)
插件注册了一个模型可调用工具 dsh_session_repair,它不是用户手动触发,而是由 agent 判断并调用:
- 参数:sessionId(可选;缺省时诊断当前会话)
- 返回:结构化诊断报告(severity / checks / repairPlans / maxSeq / eventCount 等)
典型用法:
1. 在健康会话里对 agent 说:「诊断 session-xxxx 这个 history unavailable 会话」,agent 会调用 dsh_session_repair 并传入旧 sessionId。
2. 在当前会话里对 agent 说:「帮我体检一下当前会话」,agent 调用时不传 sessionId,诊断当前会话。
注意:该工具只做只读诊断,不会执行修复。修复仍需在 header 的「会话体检」面板里点按钮完成。
安全边界
Host 先读取 raw storage,再决定是否调用引擎展示接口。Client 不直接触碰 ~/.dsh,也不能提交任意 JSON patch。修复使用 batchId 与 artifact fingerprint,修复前必生成 pre-repair backup,复验成功后才原子替换。多条独立空 ID 链在一次性批次中修复;歧义、zstd 损坏、文件变化、live/追加中的会话一律不写入。live 会话通过 ctx.get('sessions') / ctx.get('agents') 判定,其未闭合的 turn/step 属正常追加状态,仅记为 info。
插件自有数据位于 ~/.dsh/session-repair/,包括 backups 和 audit。外部 ~/.dsh/backup-sessions-* 目录只作为 legacy 取证与比较来源,默认不自动恢复。
当前实现状态
当前仓库已包含 raw zstd/JSONL 诊断、tool-call ID 检查、确定性 repair plan、checkpoint/pre-repair backup 写入、backup 列表/对比、报告导出、RPC、Agent tool、header 报告面板和随包 Skill。全部端点为已实现或明确返回 not-implemented,不会伪装成功。
发布与收录
- npm:dsh-session-repair
- GitHub:https://github.com/Zn-Dk/dsh-session-repair
- Releases:https://github.com/Zn-Dk/dsh-session-repair/releases
- 收录:已被 awesome-dsh-plugin 与 awesome-deepseek-harness 收录(awesome 侧 category: session;见 data/plugins/Zn-Dk__dsh-session-repair.yml)
Skill
随包 Skill 发布在 skills/dsh-session-repair/SKILL.md,由 Host runtime 注册;与插件同名但属于不同注册表,不单独发布、不使用 submodule、不默认软链接。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Zn-Dk/dsh-session-repair
DSH Web 会话诊断、可信备份与一键安全修复插件。
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。