Missher-DSH-Context-Manager
Manifest validIndependent Missher plugin: current source, installable bundle and documentation.;For the desktop entry and other plugins, see the homepage links.
Context Manager 上下文管理
在发送模型请求前整理过长上下文,保留可追溯的原文,分别显示当前占用、摘要用量和恢复状态。包名为 @missher/dsh-context-manager,源码和匹配运行文件版本为 0.10.0-local.9。
local.9 正式版已发布。配套 Ubuntu 桌面已完成安装、原生设置和上下文页面验收,三个插件入口正常加载;更新保留已有会话和设置。精确包、宿主能力和验证范围见 交付说明 与 公开包清单。
选择适合宿主的包
| 包 | 所需宿主能力 | 功能差异 |
|---|---|---|
0.10.0-local.9 | 配套 Host 提供 preset-compaction-provider-patch-v1;新消息自动接续还需要同批 AgentLoop request-error handoff 修正 | 仅替换预设的压缩器字段,保留宿主预设的其他内容 |
0.10.0-local.9-legacy.1 | 已验证的完整 Standard/PTC/Cordis 预设配置及原有服务 | 用完整预设覆盖作回退;缺少上述新消息自动接续能力,宿主预设改变后须重新核对 |
官方 0.2.1-alpha.2 包本身不包含上述新接口。该版本是本轮已测基线,不代表任何同号 Host 都具备配套补丁,也不表示只有这个版本可以使用。维护目标是支持合理版本范围并持续适配最新版;实际选择依据必要服务、接口能力及验证记录,未测范围不宣称通过。两种包是同一插件的可选构建,只安装一种,无需叠加额外兼容插件。
所需基础服务包括 Session、Projection、TokenMeter、StorageDomain、BasicCompactionEngine、Remote、设置和共享 UI 服务。能力摘要保留于 COMPATIBILITY.json;其中构建时的内部证据路径不会作为公开下载入口,公开哈希和能力说明以本仓库交付说明为准。
本版功能
- 严格校验摘要 checkpoint;仅将确定属于数组字段误写的单个字符串按原值包装,零额外模型调用。其他损坏结构拒绝应用并保留原文。
- 按完整请求占用、工作集增长和后续输出余量检查压缩可行性,发送前及提交前分别核对。
- 区分未派发、已派发、物理结束、候选有效和已提交状态。
not_dispatched不记为未知费用;已派发但用量不完整仍保留未知,不自动重放收费请求。 - 提供显式选择的
context-manager/3sections 格式;默认仍为 JSON。格式正确不代表摘要语义无损。 - 受限精简成功的前台 Bash 纯文本结果:要求 cwd 非空、退出码 0、未取消/超时、无 signal、stdout/stderr 未截断且 stderr 为空。只折叠完全相同的重复行,先归档原文,Host 最终结果仍含引用时才记为已发布。默认
observe,需明确选择“安全精简”(reduce)才改写;其他工具及失败或不完整结果保留原样,不使用向量库,不承诺费用节省。 - 提供同会话
context_history_search/context_history_read,分页找回压缩或精简前的文本和来源。每次扫描与输出有上限,不访问其他会话,不写入 MSE。
安装与更新
从正式 Release 选择满足上述宿主能力要求的 .tgz,核对 SHA-256 后,在 DSH 的“插件 → 添加插件”安装。主包本次已验收于配套 Desktop 0.2.1-alpha.2.20261014.1;其他版本按接口能力与验证记录判断。桌面安装包与插件分别提供,下载源码或只更新桌面不会自动替换用户已装插件。
更新前备份完整 profile、会话和本插件档案/账本,等待活动任务结束;通过应用正常退出并重启。确认 context-manager、context-manager-engine、context-manager-inspector 均正常加载,再检查会话“上下文”入口与保存的设置。已有配置不会因为更新而被默认值覆盖。
使用与设置
“上下文”使用 DSH 原生主题和控件,在一个连续面板中展示:
- 当前组成:模型总窗口、已用内容、未占用与灰色斜线压缩保留。摘要、工具、对话、指令分别显示估算 Token 数;宿主计量差额显示为“其他占用”。预留依实际检查线计算,不是永久不能使用的硬件空间。
- 变化与用量:占用柱状图、压缩前后、本会话累计与缓存命中;摘要调用单独计数,并新增用量归因与工具精简的紧凑状态行(详情默认收起)。缺失数据保持未知,累计 Token 不等于当前占用或账单金额;只报告部分分量时明示已知下界,全部未知时显示未知。
- 当前有效内容:收起时显示 3 项和最近 2 条压缩记录,展开后每批显示 4 项,可继续展开与分页。摘要可沿实际保存的来源引用追溯;正文每段最多 16,000 字符,图片显示引用,不预加载全部历史。
页面只读,不激活 Agent、不发起模型请求、不追加会话日志。只在此视图内隐藏发送区,切回“对话”恢复草稿。完整历史与正文不轮询;面板打开时仅轻量刷新闲置状态。分析上限 50,000 条日志,超过时明确报错。宿主布局标记改变后需要重新验证只读视图适配。
参数只在 设置 → 上下文管理 中编辑并保存,更新不会覆盖已保存值。
| 参数 | 默认值 |
|---|---|
| 自动压缩总开关 | 开启 |
| 触发占用 / 保留策略 | 80% / 自动工作集 |
| 近期原文偏好 | 20K Token |
| 自定义占用上限(默认不生效) | 保存 55%,仅自定义模式启用 |
| 提前检查 / 安全空间 | 1% / 2% |
| 摘要输出上限 | 8192 Token,另受实际模型及请求上限约束 |
| 每请求最多压缩 | 2 次 |
| 新安装时限模式 | 自适应:总限 600 秒,首个有效输出 120 秒,停滞 180 秒 |
| 固定模式整事务硬上限 | 默认 90 秒;已有模式和值保持不变 |
| 闲置整理 / 闲置时长 | 开启 / 15 分钟 |
| 闲置最低占用 | 自动模式为 65%;自定义为 max(65%, 目标 + 10%),最终不超过有效检查线 |
| 绝对工作历史软预算 | 默认关闭;启用起点为 200,000 → 100,000 Token |
| 格式修复 / 修复输出上限 | 开启 / 2048 Token,同一事务最多一次 |
| 额外摘要重点 | 空,最多 2000 字符 |
| 工具结果精简模式 | 观察(关闭 / 观察 / 安全精简) |
| 工具结果输入上限 / 最小节省 | 200,000 / 400 字符 |
| 单次原文回读预算 / 搜索原文上限 | 6,000 字符 / 3 条 |
| 请求前缀诊断 | 开启,只读且不改变请求 |
百分比检查线为 max(0, min(窗口 × 触发比例, 窗口 − 输出预留 − 安全空间) − 提前检查空间);启用绝对预算后再与绝对软触发取较小值,不重复扣除提前量。自动模式基于当前固定内容、受保护任务、近期原文和摘要规划总占用,不套用固定压后比例。自定义模式另受百分比目标、百分比检查线的 80% 与启用的绝对软目标中的较小值约束。旧 200k → 100k 仅为早期验证起点。它在新任务已经进入请求后测量,包括系统指令、工具定义等;必要时先整理再执行主请求。TokenMeter 可能使用估算值,目标占用不是精确分词或无损承诺。
摘要使用会话的实际模型和推理级别,可能产生 API 费用并改变缓存命中。摘要包含目标、约束、完成、待办、证据、下一步与未知事项;结构校验不保证语义无损。失败、取消、未完成、没有缩减或超过次数时停止本次尝试,不无限重试。已提交的工具整理不会因此撤销,原始记录仍可查询。
闲置从任务正常完成起计时,后台忙碌时有界延后;新消息、模型切换、停止或停用会使旧计划失效。每个完成资格最多发起一次闲置摘要,先持久登记再请求。重启只恢复已登记且重新加载会话的未尝试资格,至少等待 5 秒复查;未知结局的在途请求不会重复计费重发。新输入使请求前摘要取消时,新任务保留在宿主队列;配套 Host 的请求错误交接负责已验证场景的自动接续,legacy 路径不具备这项能力,需按停止原因继续。应用退出时不运行,不扫描或激活所有旧会话。
选择内置官方 DeepSeek 路由时还会显示峰谷时段与费用比较提示,第三方路由隐藏。它使用插件内 2026-09-29 的价格政策及 2026 年日历快照,不是实时价格服务;未知模型或年份不补造。实际费用以 DeepSeek 官方价格说明和账单为准。
摘要时限与有界恢复
新安装采用自适应时限:总事务最多 600 秒、首个有效输出最多等 120 秒、后续停滞最多 180 秒。只有非空正文或思考增量续期,格式修复共用剩余总时限。已有配置缺少模式时继续使用固定模式,保留原 timeoutMs 值及整事务硬上限;更新不会静默改变已保存选择。
同一批原文跨步骤和重启最多领取 2 个主摘要计划、4 次实际模型调用;普通人工重试也受此限制。只有足够新增原文才开启下一周期,延长时限不返还已用额度。尚未派发的请求不记为未知费用,已派发但结局或用量未知的请求不会自动再次收费重放。
自动额度耗尽后,可在上下文页面先做人工急救预检,再明确确认一次额外调用。每个原始周期最多一次,不能重试或追加格式修复;授权绑定精确原文、模型、工具和策略,并在两分钟后失效。预检不调用模型、不裁剪原文、不消耗摘要许可;冷会话按宿主正常加载时可能增加一条初始化元数据。前次传输尚未结束、热替换或安装信息未核验时会拒绝急救,应正常退出并重开后检查。历史未知费用必须保留,不能当作零。
备份须包括 context_manager_operations、context_manager_emergency、原有 cycles/idle/summaries 域、恢复日志及最新会话。旧版不识别新许可域:回退前先关闭自动压缩,保留全部记录并配套恢复;删除记录或仅降级程序不能用于重置收费额度。
停用、卸载与数据
- 关闭设置中的“自动压缩”会停止请求前和闲置自动整理,仍保留安全窗口拦截。仅关闭“闲置自动压缩”可保留请求前压缩。面板与宿主手动
/compact仍可使用。 - 停用整个 Bundle:在应用的插件管理中停用本包,按宿主提示重启。卸载也使用同一入口,等待任务结束后操作;CLI/Web 可使用
dsh plugin --profile my-context remove @missher/dsh-context-manager。 - 禁用/移除 Bundle 的配置叠加后,重启让宿主重新创建原预设与压缩器。若自己在自定义预设中引用了本插件,卸载前先恢复相应 Basic 压缩器引用。不要仅删除三个内部入口中的某一个。
- 插件没有卸载清理脚本。会话、成功摘要及来源引用继续由宿主会话日志保存;不会因卸载本包而主动删除。已完成的压缩不会自动逆转,原文可通过宿主查询或本插件追溯。引用过的原文同样长期保留:本版不提供清理动作、保留期开关或自动删除;卸载也不会删除档案目录,需要时请自行备份或手动处理。
- 原文档案只保存被精简引用过的文本,位于 profile 内
.context-manager-archive;写入失败或配额不符时拒绝发布,不会只改内存。档案不含对话以外的网络副本,也不使用向量或外部检索服务。默认 512 MiB 只约束原文 blob 的物理占用,元数据清单另有各自的字节与行数上限;目录总大小不因此被承诺为 512 MiB。 - profile 内
.context-manager-recovery只保存尚未确认写入的用量及闲置元数据,不保存对话正文。重启核验旧行后按相同 attempt ID 补记;不重发模型、不重复收费。冲突、损坏或独占锁不明会拒绝继续。旧宿主退出后才到达、插件从未收到的用量仍标未知。 - 元数据保存在宿主
storageDomain的context_manager_idle(闲置资格/状态)及context_manager_summaries(摘要调用状态/实报用量),以及context_manager_cycles(请求哈希、原始来源水位和调用许可)中。失败摘要原始输出不持久化;成功提交的输出与来源保存在会话日志中。未知用量不是零。 - 升级或回滚应完整备份目标 profile、插件数据域和会话目录;不要只保存
.tgz。元数据域没有新增会话迁移。此插件不维护 MSE 长期学习库,也不自带独立分析上报端点;摘要内容经宿主发送给所选模型提供方。宿主自身遥测遵循宿主设置。
验证与限制
本轮窄包 392/396 通过、4 跳过;legacy 包 389/396 通过、7 跳过;Host 组合回归 56/56 通过。全部跳过原因、类型检查和独立恢复检查列于 交付说明。这些是隔离与合成验证,不证明真实模型摘要保真、日常安装或全部平台原生行为。
独立开发
使用 Node 24 或兼容的宿主开发环境、package.json 固定的 pnpm,以及单独构建完成的同版本 SDK。不在日常链接目录中构建;先创建自己的开发副本,再执行:
node scripts/link-harness.mjs /path/to/built-harness
pnpm install --frozen-lockfile
pnpm run typecheck
pnpm run build
pnpm test
npm pack --ignore-scripts
链接脚本显式建立本副本的 harness-sdk 和开发依赖链接,不构建或修改宿主。pnpm-workspace.yaml 的相对 SDK 覆盖仅供开发,不进入安装包;测试并发为 1。运行依赖只来自 npm 与宿主公开包名,没有本机绝对路径或安装钩子。
许可与来源
本插件采用 MIT。生成预设和设置布局依据 DeepSeek Harness,保留 DeepSeek 署名;浏览器内嵌 Zod 的 MIT 文本见 THIRD_PARTY_NOTICES.md。压缩引擎及宿主 UI 作为宿主依赖使用,不内嵌其他插件或兼容包。研究参考过 bowenliang123/dsh-context,没有复制其运行代码。
Comments
Loading…