DeepSeek Harness (dsh) 的 Work Continuity 插件——跨会话的工作状态显式持久化,和通用记忆分开管理。
前言¶
DSH 的插件生态强调模块化。在使用智能体处理复杂任务时,常见的痛点是:上下文窗口有限,或者对话轮次过多,导致 Agent 在新会话中丢失了之前的进度或决策。如果依赖通用记忆,这些工作状态往往会被淹没,或者被随意注入,导致上下文混乱。
Work Continuity 插件旨在解决这个问题。它将工作状态(目标、决策、下一步)与通用记忆剥离,通过显式持久化确保 Agent 在新会话中能立即接续手头的工作,而无需人工重复交代背景。
核心功能¶
插件通过以下机制实现工作状态的自动管理与追踪:
- 事件自动捕获:监听宿主权威事件,自动捕获目标变更(
goal/change)和任务清单更新(todo/write)。 - LLM 自主决断:通过注册
work_state模型工具,让 LLM 在对话中自主判断并记录值得追踪的节点。 - 显式命令:提供
/checkpoint命令,允许用户随时手动记录、更新或查看工作状态。 - 压缩后重锚:解决压缩摘要导致的状态丢失问题,在上下文压缩后自动重置注入。
- 设定点偏差检测:监听工具调用,检测 Agent 的操作是否偏离当前工作范围,并在偏差时发出警告。
- 注入调度器接线:支持宿主的注入调度器,按实际注入量上报,未挂载时回退为直接注入。
- 跨会话工作状态显式持久化:所有状态写入 SQLite 数据库,支持跨会话读取。
典型用法¶
使用 /checkpoint 命令可以快速管理当前工作流。
记录工作状态¶
- 设置目标:
/checkpoint goal 完成 M3 开发 - 记录决策:
/checkpoint decision 用 MIT 许可 - 设定下一步:
/checkpoint next 合流组A - 记录产物:
/checkpoint artifact D:/out/report.pdf - 查看状态:
/checkpoint show
查看统计¶
- 使用统计:
/checkpoint stats - 清空状态:
/checkpoint clear
安装与配置¶
安装¶
通过 CLI 安装插件:
dsh plugin --profile <name> add github:Icstick/dsh-work-continuity
配置¶
安装后,需要在 profile 的配置文件中显式指定数据存储目录,否则插件无法正常工作。
编辑 <profile>/cordis.patch.yml:
- id: work-continuity
name: dsh-work-continuity
config:
workDir: C:\path\to\work-state # 必填:工作状态库绝对路径
debug: false # 可选:调试日志
安装完成后重启 DSH 即可生效。
设计原则与注意事项¶
- 数据归属:所有写入操作都会在
work_audit表中留痕,保证可追溯。 - Fail-Open 机制:插件运行异常时只记录日志,绝不阻断对话。
- 记忆边界:记忆不负责替用户把活干完,它只负责记录状态,执行仍需 Agent 自主决策。
- 数据安全:数据存储在
workDir/work.db中。卸载插件不会删除数据,重新安装即可恢复。