dsh-sieve:为 DeepSeek Harness 代理提供上下文工程与 Token 优化插件
Sev7eEn7/dsh-sieve · dsh-sieve: context engineering & token optimization plugin for DeepSeek Harness (DSH) — tool output filtering, context pruning, progressive skill disclosure. 36% smaller payload in offline replay. DSH 上下文管理与 token 优化节省插件。
ELI5:它是什么,解决什么问题
dsh-sieve 是面向 DeepSeek Harness(DSH)的 AI 编程代理插件,围绕上下文工程与 Token 效率做优化:过滤工具输出、批量剪枝陈旧的工具结果并保留原文存档指针以便按需取回、按任务相关性渐进披露技能目录,从而减少多步代理循环中的重复输入。插件通过独立的判断模型(托管的 Jev 或本地 macOS Apple Silicon 上的 Laya)回答结构化判定问题,超时或失败时保留原文;官方离线回放数据显示 100 条公开代理轨迹请求负载字符数合计减少 36.28%,历史实测 deepseek-flash 主模型输入 token 下降 21.2%。
核心能力与快速开始
★ 107 · TypeScript
- 能做什么
- 在 DSH 代理循环的公开扩展点上加入判断内核:tool.admission 与 tool.admission.test-log 在工具结果进入会话前做准入控制,按类别处理构建日志、测试报告和命令输出并保护失败细节与测试摘要;context.forget 借助 DSH 原生 compaction/prune 与结果替换批量遗忘较旧的工具结果,重写前存档原文并支持按需取回;skills.disclosure 按任务相关性过滤初始技能目录并在后续轮次公布新相关技能,被隐藏的技能仍可直接加载;缓存感知处理新结果并批量执行历史剪枝以控制前缀重建频率。判断由专用判断模型(Jev 或 Laya)以结构化是/否与单选问题加概率回答,达到阈值才重写;每次判断结果、用量与估算节省记录在按会话的 ctx.storage 账本中,并可通过 /sieve 命令与 dsh-sieve-web 侧边栏面板查看。
- 适用场景
- 面向在 DeepSeek Harness 上运行的 AI 编程代理,尤其是测试日志冗长、工具调用频繁、会话时间长或技能目录庞大的任务。典型用途包括:减少多步工具使用中重复发送的输入 token 并提升上下文窗口利用率;对构建日志、测试报告等长输出做分级过滤同时保留失败与摘要信息;批量清理已过时或被后续读取取代的工具结果并保留可回溯的原文;按任务相关性精简技能目录以降低无关描述占用的上下文;通过面板与账本观测预估输入 token 与字符削减量,用于 LLM 推理成本优化。
- 项目形态
- 可直接使用的工具
- 部署方式
- 以 DSH 插件形式安装(如 dsh plugin --profile web add dsh-sieve@0.2.0 dsh-sieve-web@0.2.0),也提供 GitHub Release 与从源码构建两种方式;需重启 dsh web 并重新加载页面。必须配置判断模型之一才生效:Jev 为托管服务,需要 TypeSafe 或 OpenRouter API Key(可写入 DSH_HOME/.credentials.yaml、环境变量或 profile);Laya 仅支持 macOS 15+ Apple Silicon(Core ML),需用户自行准备推理库、权重与本地 HTTP 服务,插件不提供也不安装该服务。无判断模型时插件可加载但不改变上下文。
- 主要依赖
- 运行环境为 Node ^22.19 或 >=24,语言为 TypeScript,适配 DeepSeek Harness 0.2.1-alpha.1 与 Cordis 4.0.5-alpha.1。判断侧需求:Jev 需要 TypeSafe 或 OpenRouter API Key(按 TypeSafe 官方定价计费);Laya 需要 macOS 15+ Apple Silicon、laya-coreml 推理库、约 680 MB 的 mmBERT-base 322M FP16 权重及一个本地 HTTP 服务(默认 127.0.0.1:47823),其上下文窗口仅 1024 token。默认判断超时为 4000 ms。
- 使用限制
- 仅在配置了判断模型(Jev 或 Laya)时才改变上下文,否则全部内容放行且不做记录。插件只对接 Jev 或 Laya,从不把判断交给会话主模型,旧版配置中的 judge.type: llm/off、judge.provider 或 routes 会导致加载失败。判断失败、超时或答案无效时保留原文;Laya 窗口仅 1024 token,超出部分从状态末尾截断并记为警告,在需要综合判断的问题上表现明显弱于 Jev,且该项目的四项决策尚未在 Laya 上测量。官方给出的 36.28% 负载下降为离线回放(按字符计)结果,21.2% 输入 token 下降来自 deepseek-flash 上 80 次配对实验且使用了已被移除的会话模型判定路径,当前 Jev/Laya 配置尚未重新测量;缓存命中率从 93.4% 降至 92.9%。
- 许可证
- MIT
- 最近推送
- 2026-10-10 15:10
资料检查:2026-10-13 07:00 · 卡片整理:2026-10-13 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
职业应用
程序员
在 DeepSeek Harness 上运行的 AI 编程代理中,用该插件过滤构建日志、测试报告和命令输出,批量剪枝陈旧的工具结果并保留存档指针,按任务相关性渐进披露技能目录,从而减少多步代理循环中的重复输入 token 并提升上下文窗口利用率。
查看内容依据
sieve filters tool output, prunes older context and progressively discloses skills to reduce redundant input tokens in AI coding agents, improve context window utilization and provide observable usage data for LLM inference cost optimization.
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。