DeepSeek Harness 插件

dsh-checkpoint

Checkpoint marker plugin for the DeepSeek Harness: appends a durable, log-only checkpoint/mark session event so a later exploration fold (the @dpskh/tool-rewind plugin) can drop the noisy middle of(英文原文)

跳到安装方式

来源信息

GitHub 仓库
dpskh/dsh-checkpoint
最近更新
2026年8月21日
分类
记忆
GitHub stars
2
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/dpskh/dsh-checkpoint
插件名:dsh-checkpoint
作者:dpskh

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

<center> <h1>@dpskh/tool-checkpoint —— DeepSeek Harness 的 checkpoint 标记插件</h1>

English | 中文

![dshfind](https://dshfind.com/zh/plugins/dpskh/dsh-checkpoint?ref=badge)

</center>

一个包、一个入口插件。挂载 @dpskh/tool-checkpoint 提供 ctx.checkpoint(把 checkpoint 标记持久记录到插件自有存储域、按 session id 关联的服务)和基于它的模型侧 checkpoint 工具。标记记录探索起点所在的会话位置;兄弟插件 @dpskh/tool-rewind 会把标记之后的一切折叠成一份自动生成的报告,让探索中嘈杂的中间过程(读文件、搜索、试验)不再占用模型可见上下文,而持久日志完整保留探索过程供审计。本插件自身从不折叠任何东西 —— 标记在 rewind 之前保持惰性。

标记不是会话事件:它存放在 checkpoint 存储域(~/.dsh/storages/checkpoint.json),因此持久会话日志保持纯核心词汇、任何 harness 都可读 —— 仓库外的插件事件会被词汇表缺失的 harness 拒绝。rewind 仅通过本服务消费标记。

配置

- id: tool-checkpoint
  name: '@dpskh/tool-checkpoint'
  config:
    toolName: checkpoint   # model-facing tool name (default checkpoint)

配合使用

标记只有配合折叠才有意义:两个插件一起挂载,rewind 才能折叠标记锚定的探索。单独挂 checkpoint 只会记录惰性标记;单独挂 rewind 则没有可折叠的内容,会以 no-checkpoint 错误失败。

- id: tool-checkpoint
  name: '@dpskh/tool-checkpoint'
- id: tool-rewind
  name: '@dpskh/tool-rewind'        # https://github.com/dpskh/dsh-rewind
  config:
    reportLanguage: en              # en | zh report instruction language

契约

  • ctx.checkpoint.mark(session, objective?) —— 在插件自有存储域中为会话记录一条持久标记(按 session id 关联),返回 { id, logLength }id 是插件自有的单调标记标识;logLength 是标记时的会话日志长度(折叠锚点:标记之后第一个事件的 seq)。编号 turn 记录标记时所在的开放回合;null 表示空闲会话。标记存放在会话日志之外,因此压缩或后续折叠都不会遮蔽它,无论标记与 rewind 之间发生什么,标记始终可定位。
  • ctx.checkpoint.latestMark(sessionId) / ctx.checkpoint.hasActive(sessionId) / ctx.checkpoint.completeFold(sessionId, id) —— rewind 使用的消费面:读取最近标记、询问是否仍欠一次折叠、折叠成功后把标记标记为已折叠。
  • checkpoint 工具 —— { objective?: string }{ id, logLength }。模型在开始一段中间过程会污染上下文的探索之前调用它,之后由 rewind 把标记之后的一切折叠成自动生成的报告。渲染意图:generic 卡片。

模型体验

直接可见:checkpoint 工具调用及其 { id, logLength } 结果。工具描述教会"先标记、后 rewind"的工作流;tool:checkpoint 系统提示 section 将其变为常驻指令(任何需要多次工具调用的调查前标记、回合结束前 rewind)。标记本身从不进入模型可见历史,也从不进入会话日志。

#### KV 缓存影响

前缀稳定:工具 schema 固定;标记是存储记录而非会话事件,绝不改变请求前缀。

已知限制与待办

  • 无 rewind 的标记是惰性的 —— 从未被折叠的 checkpoint 不产生额外开销,但探索仍留在上下文中;工作流依赖模型成对使用标记与 rewind。
  • 每个标记只能折叠一次 —— rewind 折叠最近的标记;对同一标记二次折叠会因区域为空而被拒绝。