🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

断点续聊 xiaohj233/dsh-resume

DeepSeek Harness
xiaohj23381 天前有提交已提供中文文档扫描:含敏感能力

空提交续写中断回合,重启自动恢复运行中的会话与子代理

27.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xiaohj233/dsh-resume
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · skill
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 81 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 22 处,展示前 22 条)
  • 写入本地文件
    lib/index.js:84
    writeFileSync(LOG_FILE, `${new Date().toISOString()} ${message}\n`, { flag: "a" });
  • 读取本地文件
    lib/index.js:133
    const parsed = JSON.parse(readFileSync(MEMORY_FILE, "utf8"));
  • 写入本地文件
    lib/index.js:145
    writeFileSync(MEMORY_FILE, JSON.stringify(memory, null, 2));
  • 写入本地文件
    lib/index.js:243
    writeFileSync(STATE_FILE, JSON.stringify(payload, null, 2));
  • 写入本地文件
    lib/index.js:387
    writeFileSync(tmp, JSON.stringify(payload, null, 2));
  • 写入本地文件
    lib/index.js:388
    renameSync(tmp, STATE_FILE);
  • 读取本地文件
    lib/index.js:394
    state = JSON.parse(readFileSync(STATE_FILE, "utf8"));
  • 读取本地文件
    lib/patch.js:120
    const source = readFileSync(path, "utf8");
  • 写入本地文件
    lib/patch.js:122
    if (content !== source) writeFileSync(path, content);
  • 读取本地文件
    lib/patch.js:163
    const source = readFileSync(path, "utf8");
  • 写入本地文件
    lib/patch.js:165
    if (content !== source) writeFileSync(path, content);
  • 读取本地文件
    lib/patch.js:617
    manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
  • 读取本地文件
    lib/patch.js:645
    if (statSync(candidate).isFile()) return candidate;
  • 写入本地文件
    lib/patch.js:757
    writeFileSync(temp, content);
  • 写入本地文件
    lib/patch.js:758
    renameSync(temp, file);
  • 删除本地文件
    lib/patch.js:761
    unlinkSync(temp);
  • 读取本地文件
    lib/patch.js:830
    source = readFileSync(target.file, "utf8");
  • 读取本地文件
    lib/patch.js:905
    source = readFileSync(target.file, "utf8");
  • 读取本地文件
    verify-anchors.mjs:32
    const source = readFileSync(path, "utf8");
  • 读取本地文件
    verify-patched.mjs:16
    let source = readFileSync(path, "utf8");
  • 写入本地文件
    verify-patched.mjs:24
    writeFileSync(tmp, source);
  • 执行外部命令来自配置/变量
    verify-patched.mjs:25
    execFileSync(process.execPath, ["--check", tmp], { stdio: "pipe" });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 空提交续写中断回合
  • 重启恢复运行中会话
  • 还原运行中子代理

从空提交恢复中断的 DSH 轮次,并还原关闭时仍在运行的会话或子代理。

README

由 DeepSeek 最新模型翻译生成
dsh-resume 状态:功能插件(含兼容补丁),仅在 DeepSeek Harness 0.1.0-rc.6 上测试过。 dsh-resume 为 DSH Web 配置提供两项连续性能力:中断的回合可以在输入框为空时直接续写(不会出现可见的"继续"消息);DSH 停止时仍在运行的会话,下次启动后会自动恢复。 问题 上游 DSH 已经能恢复已存储的会话、修复损坏的日志,但它不会把"空提交"当作续写指令,也不会在进程关闭时自动记下"当时正在运行的会话和子代理"并在下次启动时原样恢复。 行为 - 回合被中断时,把已收到的部分文本和推理内容并入会话历史。 - 中断的对话支持空提交续写。 - 在 ~/.dsh/resume-state.json 中记录正在运行的顶层会话和子代理。 - 只恢复关闭时仍在运行的条目;已完成的回合或用户主动中止的回合不会恢复。 - 状态文件按会话逐个消费:每个成功恢复的会话都会立刻从持久化集合中移除(原子写入)。因此恢复过程中即使崩溃或被强杀,也不会丢失其余会话——下次启动会继续恢复剩下的部分。失败的恢复会保留记录,下次启动重试。 - 启动时自动重试已记录的子代理;失败的条目仍可通过 resume_interrupted_subagents 一键重试。 - 恢复诊断写入 ~/.dsh/resume-state.log。
展开完整文档(README 剩余 1 节)
dsh-resume

状态:功能插件(含兼容补丁),仅在 DeepSeek Harness 0.1.0-rc.6 上测试过。

dsh-resume 为 DSH Web 配置提供两项连续性能力:中断的回合可以在输入框为空时直接续写(不会出现可见的"继续"消息);DSH 停止时仍在运行的会话,下次启动后会自动恢复。

问题

上游 DSH 已经能恢复已存储的会话、修复损坏的日志,但它不会把"空提交"当作续写指令,也不会在进程关闭时自动记下"当时正在运行的会话和子代理"并在下次启动时原样恢复。

行为

- 回合被中断时,把已收到的部分文本和推理内容并入会话历史。
- 中断的对话支持空提交续写。
- 在 ~/.dsh/resume-state.json 中记录正在运行的顶层会话和子代理。
- 只恢复关闭时仍在运行的条目;已完成的回合或用户主动中止的回合不会恢复。
- 状态文件按会话逐个消费:每个成功恢复的会话都会立刻从持久化集合中移除(原子写入)。因此恢复过程中即使崩溃或被强杀,也不会丢失其余会话——下次启动会继续恢复剩下的部分。失败的恢复会保留记录,下次启动重试。
- 启动时自动重试已记录的子代理;失败的条目仍可通过 resume_interrupted_subagents 一键重试。
- 恢复诊断写入 ~/.dsh/resume-state.log。

非目标

本插件不会导入其他 agent 的会话、回退任意回合、迁移工作区,也不保证远程 provider 能逐字节重现被中断的流,更不负责修复上游会话日志中的所有竞态。

实现机制

宿主插件监听 agent 生命周期事件,并使用官方 agents.resume 服务。兼容补丁为以下包补充了"部分回合折叠"和"空提交续写"处理:

- @deepseek-ai/dsh-agent-loop@0.1.0-rc.6
- @deepseek-ai/dsh-session@0.1.0-rc.6
- @deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.6

每个补丁块都幂等,并有明确的逆向操作。版本策略默认自适应:如果已安装副本的版本不是 0.1.0-rc.6,但每个锚点仍然唯一匹配,就照常打补丁(记为 adaptive 匹配);锚点漂移则跳过并说明原因。编程选项 strict 可恢复"只打精确版本"的旧行为。单个漂移副本不会阻塞其他副本,补丁应用在模块加载期也绝不会抛错——上游升级不会卡死 agent 循环。还原在任何模式下都严格校验版本。

兼容性

已在 DeepSeek Harness 0.1.0-rc.6、Node.js ^22.19.0 || >=24、pnpm >=10 上测试。上游升级后,建议各跑一次 dsh-resume-restore 和 verify:anchors,确认每个补丁块要么已应用、要么是有意跳过。

安装

dsh plugin --profile web add "github:xiaohj233/dsh-resume#v0.2.1"

重启 Web 配置。启动时会先应用守卫式兼容补丁,再启用恢复行为。

配置

如需覆盖,在更靠后的配置层修改 dsh-resume 行:

- id: dsh-resume
config:
enabled: true
restoreDelayMs: 2000

enabled 控制是否在启动时自动恢复。运行时跟踪始终开启,之后启用时仍能恢复已记录集合。

还原与卸载

卸载前先还原官方包文件:

pnpm --dir "$DSH_HOME/profiles/web" exec dsh-resume-restore
dsh plugin --profile web remove dsh-resume

未设置 $DSH_HOME 时,配置位于用户主目录下(POSIX 为 ~/.dsh/profiles/web,Windows PowerShell 为 %USERPROFILE%\.dsh\profiles\web);Windows 上请把解析后的路径传给 pnpm --dir,不要用 ~。正常的 Cordis 关闭不会撤销补丁——关闭恰恰是连续性状态需要保留的时机。

卸载后 resume-state.json 和 resume-state.log 不再被读取。如果不再需要其中的会话标识与诊断信息,可手动删除。

安全与隐私

状态文件和日志包含会话/子代理标识符、模型与恢复诊断、失败消息。它们不会有意存储凭据值,但应视为私有运行时数据。自动恢复会发起新的模型请求并产生 provider 用量。

测试

npm test
npm run check
npm pack --dry-run

测试覆盖:版本拒绝、唯一锚点拒绝、整批原子性、幂等性、补丁/还原的字节级往返、正常关闭行为,以及还原 CLI 的失败路径。

局限性与上游现状

上游已提供 resumeSessionId、中断回合收尾器、检查点与会话持久化。本插件建立在这些机制之上,只补上缺失的"空提交续写"和"关闭时运行集合恢复"行为。DSH Discussion #420 记录了上游恢复/收尾的序列竞态,本插件不承诺消除它。

License

MIT。补丁目标均为 MIT 许可,详见 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓xiaohj233/dsh-resume
分享 · DeepSeek Harness Hub
xiaohj233/dsh-resume

空提交续写中断回合,重启自动恢复运行中的会话与子代理

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部