dsh-session-surgeon

by xiaoshenming

会话与消息github收录于 08-21

修好打不开的 DeepSeek Harness 会话,侧栏「会话医生」可查看对话并默认 dry-run 修复。

Repair DeepSeek Harness sessions that refuse to load, with a sidebar Session surgeon overlay and dry-run repair.

安装

dsh plugin --profile web add github:xiaoshenming/dsh-session-surgeon

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

左侧会话 ⋯ → 复制会话 ID,贴进新对话,让新会话接着学旧会话。这是 Codex 那种「拿线程 ID 继续聊」的用法;官方菜单只有重命名 / 分叉 / 归档,没有复制 ID。

同时能修好打不开的 DeepSeek Harness 会话(seq gap / torn zstd / 孤立代理字符 / 消息缺 ID)。官方以后修加载器,也救不回已经坏掉的 session.jsonl.zstd。

最常用:复制会话 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)"。

命令行

npx --yes github:xiaoshenming/dsh-session-surgeon scan
npx --yes github:xiaoshenming/dsh-session-surgeon inspect <id>
npx --yes github:xiaoshenming/dsh-session-surgeon repair <id>          # 默认 dry-run
npx --yes github:xiaoshenming/dsh-session-surgeon repair <id> --apply  # 先写 .bak.<utc>

DSH 没有 Codex 那种任务 ID。能 resume 的是 session。复制会话 ID 是日常最接近的做法。详见 docs/LEARNING-TASKS.md。

原始 README: https://github.com/xiaoshenming/dsh-session-surgeon/blob/main/README.zh.md ↗