← 返回列表
⚠ 装前注意
Repair DeepSeek Harness sessions that refuse to load.…
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/14 · 已提供中文文档
Repair DeepSeek Harness sessions that refuse to load. 修好打不开的 DSH 会话文件。
综合分
38.3
GitHub 分
38.3
用户评分
—
★ Stars
8
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xiaoshenming/dsh-session-surgeon未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-session-surgeon(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 16:49:40
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-session-surgeon 左侧会话 ⋯ → 复制会话 ID,贴进新对话,让新会话接着学旧会话。这是 Codex 那种「拿线程 ID 继续聊」的用法;官方菜单只有重命名 / 分叉 / 归档,没有复制 ID。 同时能修好打不开的 DeepSeek Harness 会话(seq gap / torn zstd / 孤立代理字符 / 消息缺 ID)。崩溃恢复插进来的短闭包如果撞上还活着的写者(#1586),会丢掉那几条合成闭包、保住后面的真内容,而不是一刀切到第一个缺口。packed 行只重叠已经提交的前缀、后面连续时(#5151),会接上尚未提交的后缀。文件已经 seq gap 时 compact 会拒绝,先停写者再 repair。Alpha 把 sourceEventSeqs 压成区间(#5160)时:0.1.2-rc.1 起官方读盘就会展开,surgeon 不再改文件;更旧的 rc.2 仍打不开,repair 才会把 [start,end] 无损展开成密集整数。Alpha 写入、rc.2 不认识的 model/selection 会在结构校验通过后保留原事件,只补 ignorable: true;任意未知插件事件绝不套用。inspect 还会警告悬空 tool/call(没有对应 tool/result,下次模型请求永久 400)以及空的 tool_calls[].id(#5182,下次请求 id cannot be empty),但不会编假结果或假 callId。同一步里重复通告的 callId(#5909)在 0.1.3 的 v0→v1 迁移会拒读;本机已是 v1+ 时 repair 只给后面的 id 加 #n。0.1.3 起还会扫 session.vN.jsonl.zstd。升级到 0.1.5 后老会话打不开(#6151/#6175/#6189/#6194:权限事件多 origin、子代理描述 version 2、插件消息来源 summary/form 不配、分块溯源断档)时,本机已是 v1+ 的 repair 会按官方冻结清单无损归一这些形状,已用官方 0.1.5-rc.1 转换器逐条验证;未知类型(如 session/imported)迁移连 ignorable 都拒,我们只报告不删。官方以后修加载器,也救不回已经坏掉的日志文件。 最常用:复制会话 ID 1. 左侧某条会话点 ⋯ → 复制会话 ID 2. 开一个新聊天,把 ID 贴进去,例如: 接着 session-1e66cda9-a046-4893-8f4b-b817080acbea 继续。 需要旧上下文时去读那份会话。 如果新会话已经装了本插件的 agent 工具: session_inspect id=session-1e66cda9-a046-4893-8f4b-b817080acbea 从上次停的地方继续。 有 session- 前缀和没有前缀是同一种会话,只是 ID 写法不同。分叉会复制一份文件;复制 ID 是让新会话引用旧会话。 安装 和其他 DSH 插件一样,一条命令: dsh plugin --profile web add "github:xiaoshenming/dsh-session-surgeon#main" 然后重启 dsh web。 - 会话 ⋯ 菜单:复制会话 ID(日常就用这个)/ 检查 / 预览修复 - 左侧「会话医生」:看对话、复制 ID、预览修复、应用修复、导出 本地改代码时仍可用 dsh plugin --profile web add link:"$(pwd)"。 在能加载本仓库技能的对话里,说一句 更新插件 即可:扫官方 Discussions、吸收对口反馈、改代码、写 CHANGELOG、回复、用 px 推 main。技能正文:skills/dsh-session-surgeon-update/SKILL.md。 命令行 npx --yes github:xiaoshenming/dsh-session-surgeon scan npx --yes github:xiaoshenming/dsh-session-surgeon inspect npx --yes github:xiaoshenming/dsh-session-surgeon repair # 默认 dry-run npx --yes github:xiaoshenming/dsh-session-surgeon repair --apply # 先写 .bak.(Windows 上备份文件只读 fsync 的 EPERM 不再中止 apply) DSH 没有 Codex 那种任务 ID。能 resume 的是 session。复制会话 ID 是日常最接近的做法。详见 docs/LEARNING-TASKS.md。
扫码进群