DeepSeek Harness 的设计理念是「一切皆插件」。在使用 DSH 构建智能体时,会话记忆往往需要单独的 MCP 服务器来管理。这种方式存在局限性:MCP 服务器通常是「拉取」模式,模型必须主动调用工具才能写入记忆;且记忆逻辑与 DSH 的会话日志、权限系统是割裂的。dsh-statecore 插件解决了这个问题,它将 StateCore 的记忆引擎直接挂载到 DSH 的插件上下文中,使记忆管理像其他原生能力一样参与会话流程。
这是一个用于 DeepSeek Harness 的原生记忆插件,由 yul761 维护。它基于 StateCore 技术,提供可审计的事实和证据链。插件采用 MIT 协议,主要解决智能体会话记忆的自动摄入、注入与持久化问题。
核心功能¶
- 自动摄入:在会话过程中自动将
user/message和assistant/message转入项目记忆,无需模型主动调用写工具。插件会识别机器生成的消息(如上下文注入、压缩检查点)并将其跳过,确保记忆库只包含真实对话内容。 - 自动注入:在
agent/pre-step阶段自动将项目记忆摘要注入模型上下文。 - 压缩保护:在会话压缩后,立即对已摄入的记忆进行摘要处理,确保压缩后不会丢失关键事实。
- Web 管理界面:在
dsh web的设置页面中提供「StateCore Memory」区域,可查看分组事实、打开证据链(why)或执行两步审核的遗忘操作。 - 五个原生工具:通过
dsh-tools注册remember、recall、facts、why、forget工具。这些工具拥有诚实的 JSON schema,支持在 Code Mode 中通过await tools.why({factId})获取结构化证据链,并遵循 DSH 的权限和展示流程。
安装与启用¶
安装该插件使用以下命令:
dsh plugin --profile web add -w dsh-statecore
启动服务:
dsh --profile web
典型用法¶
- 共享数据流:该插件存储的数据库与
statecore-mcp共享~/.statecore目录。在 DSH 会话中记住的事实会同步出现在 Claude Code 的facts工具中。 - 模型调用:记忆摘要(Digest)运行在 DSH 主机已配置的模型上,不需要单独配置 API Key。
- 本地存储:默认情况下,数据存储在用户主目录下的
.statecoreSQLite 文件中。
注意事项¶
- 非 MCP 服务器:这是一个挂载在 DSH 插件上下文上的插件,而非独立的 MCP 服务器。
- 数据隔离:默认
url未设置时,除模型调用外,所有读写操作均针对本地嵌入式 SQLite 存储。 - 生命周期:插件在销毁时会干净地注销工具,支持热更新(HMR)。
- 数据共享:与
statecore-mcp共享同一套存储数据。
dsh-statecore 通过将记忆引擎集成到 DSH 的原生上下文中,提供了比传统 MCP 服务器更紧密的集成度和更强的可审计性。适合需要在 DSH 会话中建立长期、可追溯记忆的智能体开发场景。