dsh-plugin-magic-context:为 DeepSeek Harness 提供可逆上下文回收与记忆能力的插件

前言

DeepSeek Harness(DSH)采用「一切皆插件」的架构,但现有的上下文管理往往以被动消费为主:工具结果一旦进入缓存前缀,就难以在不打断当前会话的情况下回滚或压缩。开发者希望在 DSH 的事件与 surface 体系上接入一套更可控的上下文管理能力:旧结果可以打标、回收,需要时恢复;被消化的历史可以带外摘要;重要的知识可以沉淀为项目记忆,跨会话复用。dsh-plugin-magic-context 就是为此目的设计的适配插件,它把 Magic Context 的核心机制移植到 DSH 的 desktop profile 中,提供可逆回收、带外 historian、m[0]/m[1] 基线以及基于 SQLite 的项目记忆。

它是什么

dsh-plugin-magic-context 是一个 DSH 插件,由维护者 wukai(wk544863858)维护,当前版本 0.9.0,基于上游 magic-context v0.46.0(commit 651c105a9)构建。它以 DSH bundle 形态安装进 desktop profile,在 DSH 的插件页面可见,并在运行中的应用里即时生效。插件提供可逆上下文回收、带外 historian、m[0]/m[1] 基线、本地向量检索的项目记忆,以及与 DSH UI 的集成(设置卡片、遥测徽标、会话流提示)。数据库位于插件数据目录 ~/.local/share/cortexkit/magic-context-dsh-poc/ 下的 memories.db,与上游 MC 数据库在 2026-10-13 起彻底分家。

核心能力

插件主要包含以下几项能力:

可逆上下文回收

工具结果可以打标,进入回收队列后,在 execute 带内替换为占位符,需要时再恢复。具体做法是给工具结果打 §N§ 标签(admission 刻意不打标);ctx_reduce 只入队,落地发生在 execute 带内(content-only 替换为 [dropped §N§] 占位符,引用原事件);ctx_expand 恢复原文。这种方式绝不自发打断缓存前缀。

压力调度

插件持续记录 usage(含 cache 读写),通过公式计算压力:压力 = 未缓存输入 + cache 读 + cache 写 ÷ contextWindow。在 execute/defer 决策时,使用阈值(默认 65%)、缓存 TTL(5 分钟)和强制带阈值(85%)进行调度。当触发 CONTEXT_WINDOW_EXCEEDED 紧急回收时,会执行回收并重试。插件还提供 reduce-guidance 分级引导(60k/25k 地板、20/40/60% 阶梯)。

带外 historian

插件维护一个带外摘要机制:一次性 LLM 调用重放真实前缀(保 KV cache),然后生成四层摘要(p1–p4)+ importance + facts/events,写入 store 而不触碰线缆。在 execute 带内,以 [compacted §C<n>§] 范围替换的形式发布,可恢复。命令 /ctx-recomp 可以原地重做已压缩历史。

m[0]/m[1] 基线

插件合成 notice 节点承载冻结基线 + 增量车道(<new-memories> / <memory-updates> / <user-profile>)。每类增量有独立水位(maxMemoryId、mutation 水位、profile 水位 + digest),新记忆永不重建缓存前缀;内容未变则零变更。

项目记忆与本地向量检索

插件使用自有 SQLite 语料库 memories.db,身份自动推导(git:<root-sha> / dir:<hash>,未配置用会话 cwd,域共享从适配器域表解析)。记忆注入 m[0] + ctx_memory 检索与读写维护,historian facts 自动提升,FTS 0.7/0.3 融合向量检索。向量检索使用内置 onnxruntime-web WASM 后端(27 MB,MIT,Microsoft),无原生编译、无额外依赖。首次 embed() 按钉死的 revision+sha256 下载 MiniLM(~90 MB,双镜像 huggingface.co → hf-mirror.com),任何哈希不符弃块换下一镜像,缓存在插件数据目录 models/。检索候选内嵌补分 + 维护 tick 向量回填;任何失败时 fail-open 降级 FTS,journal 有可读 warn。

全局域与用户画像

机器/组织域:入队可自动化(维护 tick autoStage、LLM 域分类),发布永远是人(ctx_memory review_global 审批卡、/ctx-global approve)。用户画像 render / collect / review 三开关分离——读默认开、写共享库的半边默认关。

维护 tick

插件每 30 分钟执行一次维护 tick:TTL 归档(走 archive 契约动作)→ 批量 LLM verify(keep / update / archive)→ 向量回填 → 全域候选入队。

压缩接缝

插件通过 registerCompactionEngine 接管 ctx.compaction 协议(真实 compaction/start|summary|replace|end),管理通道永不写 checkpoint。首装保守关闭,不碰宿主 compaction-basic 引擎。要接管压缩时,需同时禁用 compaction-basic。

界面集成

插件提供设置卡片(volatile 字段保存即生效)、shell.overlay 遥测徽标 + 胶囊面板(实时指标 + 操作记录)、session-notice 会话流提示,支持中英双语即时切换。

安装与启用

插件以 DSH bundle 形态安装,需要 Node ≥ 22.19 和 DSH 0.2.x(已验证 0.2.1-rc.1)。安装步骤如下:

npm install
npm run build
dsh plugin --profile desktop add https://github.com/wk544863858/dsh-plugin-magic-context

构建会生成 lib/ 目录下的 ESM 多文件,以及浏览器侧拷贝为 lib/client.js。Desktop 带 HMR,安装后立即热生效,无需重启,运行中的会话即刻开始打标签。

卸载/停用:在 GUI 插件页停用该 bundle(写 profile patch 的 disabled),或使用命令 dsh plugin --profile desktop remove dsh-plugin-magic-context。

配置

插件提供两种配置途径:GUI 设置卡片和手写 profile 覆盖行。GUI 卡片暴露 policy.*(含 historian 生成上限/上限抬升/超时)、historianEnabled、registerCompactionEngine、journal.* 等 volatile 字段,保存即生效。手写覆盖时,config 是整体替换包内 patch 的 config,不是深合并;只写 memory: 会把 registerCompactionEngine: false 抹掉,必须一并保留。

bundle 自带配置只有一行:registerCompactionEngine: false(保守首装——只做回收与 historian,宿主压缩引擎保持原位)。要接管压缩时,需要启用并禁用宿主引擎:

- id: magic-context-dsh
  name: 'dsh-plugin-magic-context'
  config:
    registerCompactionEngine: true
    memory: {}            # 空对象即启用记忆车道:身份/工作区/共享类别全部自动解析
- id: compaction-basic
  name: '@deepseek-ai/dsh-compaction-basic'
  disabled: true          # 二者互斥,接管时必须同时禁用宿主引擎

适用场景与注意

插件适合需要在 DSH 中进行上下文管理与记忆沉淀的开发者与团队。它以当前 dsh 进程权限运行,安装前应检查源码与许可证。插件与上游 MC 数据库已分家,无共享无兼容义务;向量检索使用内置 WASM 后端,不依赖原生编译模块。插件默认保守,不接管宿主 compaction 引擎,需要时可手动接管。

结语

dsh-plugin-magic-context 把 Magic Context 的可控上下文管理与记忆能力接入了 DeepSeek Harness,提供了可逆回收、带外 historian、m[0]/m[1] 基线以及本地向量检索的项目记忆,并完成了与 DSH UI 的集成。如果你希望在 DSH 中更精细地管理上下文与知识,可以参考官方目录页与 GitHub 仓库了解更多细节。

目录页

https://www.skillhub.cn/plugins/wk544863858/dsh-plugin-magic-context

GitHub

https://github.com/wk544863858/dsh-plugin-magic-context

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜