把已用完的工具输出换成占位,缩小模型视野
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Hanochhu/dsh-context-offload该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 41 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-session@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 工具输出替换为占位
- 原始内容留存日志
- 支持会话回放
DeepSeek Harness 的上下文卸载:已消费的工具调用及其结果,在模型可见的历史里替换成简短占位,原始内容留在会话日志里供回放。
README
由 DeepSeek 最新模型翻译生成dsh-context-offload
DeepSeek Harness(dsh)的上下文卸载插件。
编码 Agent 每一步都会把整段历史重新发一遍,而其中大部分是它已经用过的工具输出:读过的文件、跑过的命令、改过的 diff。本插件在内容不再需要后,把它从模型可见的历史中释放掉——每个已消费的工具调用及其结果被换成一行占位。原文仍完整保留在会话日志里,所以什么都没丢,缩小的只是模型的视野。
安装
dsh plugin --profile web add dsh-context-offload
重启 dsh web。插件挂进 profile 组合,对该 profile 下的每个 Agent 生效。
展开完整文档(README 剩余 1 节)
dsh-context-offload DeepSeek Harness(dsh)的上下文卸载插件。 编码 Agent 每一步都会把整段历史重新发一遍,而其中大部分是它已经用过的工具输出:读过的文件、跑过的命令、改过的 diff。本插件在内容不再需要后,把它从模型可见的历史中释放掉——每个已消费的工具调用及其结果被换成一行占位。原文仍完整保留在会话日志里,所以什么都没丢,缩小的只是模型的视野。 安装 dsh plugin --profile web add dsh-context-offload 重启 dsh web。插件挂进 profile 组合,对该 profile 下的每个 Agent 生效。 不想卸载只想关掉,在 profile 自己的 cordis.patch.yml 里加: - id: context-offload disabled: true 模型看到什么 一个「工具单元」——发出调用的那条 assistant 消息,加上应答它的全部结果——被一条 user/message 占位整体遮蔽: [tool context offloaded — 2 tool call(s) removed from model context; 39,045 characters released] - bash(command=cd /Users/me/proj && ls -la && for d in */; do echo …) - read(path=src/harness/loop.ts) The original arguments and results remain in the session log. Re-read a file or re-run a command if you need the content again. 两条路径会产生这条占位: - 步与步之间:agent/pre-step 上的策略在「更新的完整工具单元超过 retainUnits 个」且「积压达到 flushChars」时释放。它每 flushEverySteps 步最多刷一次——因为每次替换都会让请求前缀的第一个分歧点前移,每步都刷等于每步都打掉提供方的 KV Cache。 - 按需:offload_context 工具让模型卸载自己已经用完的调用。请求在工具调用期间记录、在下一个步骤边界应用——那是被认可的 surface 改写时机;工具函数体跑在步骤中间,不能改写 surface。 调用未被全部应答的单元(在飞或被中断的步骤)绝不触碰;surface 节点 0 的系统提示词也永远不会落在替换范围内。 配置 全部字段可选。 | 字段 | 默认值 | 含义 | | enabled | true | 设为 false 只保留面向模型的工具。 | | retainUnits | 8 | 逐字保留的最近完整工具单元数。按单元计数,不是步数——step 每个 turn 从 1 重新开始,跨 turn 的步数差没有意义。 | | minUnitChars | 4000 | 小于这么多字符的单元不值得替换。 | | flushChars | 20000 | 可释放积压低于此值时不值得打断请求前缀。 | | flushEverySteps | 10 | 每这么多步最多自动刷一次。 | | maxUnitsPerFlush | 40 | 单次刷新的替换条数上限。 | 它在组合里的位置 本包提供的是 host 面 bundle:dsh.bundle.patch 往 profile 组合里插一行——这是已发布包唯一可用的通道。预设计划面的挂载做得到,但必须手工完成:已安装的包无法贡献 agent-preset root(package.json.dsh 没有 preset 字段,而补丁也算不出相对自身的路径)。 想只作用于某个预设,就不要启用 bundle 行:把包装上以便 node_modules 能解析它,然后在你自己的预设副本里加一行: - id: context-offload name: dsh-context-offload 两者只能启用其一,绝不要同时开。 上下文压力仍由 compaction-basic 负责,本插件是补充。两者都追加已记录的 surface 替换、都监听 agent/pre-step,先后顺序无所谓——它们各自只会遮蔽完整工具单元或自己那段配平范围。 为什么在对话记录里看不到 Surface 替换是 model-only 的。人类记录是刻意用 append 事件渲染的,好让落地的替换永远不会擦掉你已经读过的话。要观察效果,看输入框旁边的上下文占用圆环:它会停止爬升并进入锯齿平台期,点开后的面板里「对话」那一段会明显变平。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Hanochhu/dsh-context-offload
把已用完的工具输出换成占位,缩小模型视野
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这是你的仓库?认领条目