dsh-brief-pack:把大文件压成 ≤8000 token 任务包,供子代理单文件阅读

前言

在 DeepSeek Harness(DSH)里让多个子代理分析同一份长报告时,常见做法是各子代理各自通读全文。源文件越大、子代理越多,重复读取带来的 token 消耗就越明显,主会话上下文也容易被中间过程撑满。

dsh-brief-pack 把「先读大文件、再按任务裁剪」放在主代理一侧:主代理读一遍源材料,按任务与关键词命中片段,写成一个不超过约 8000 token 的任务包(brief);子代理只读这一个文件,并按固定约束只回简短摘要。本文介绍该插件的定位、安装方式与典型用法。插件由维护者 dcd887 发布,在 SkillHub 目录中归类为工作流;源码托管于 GitHub,许可证为 MIT。

这是什么

dsh-brief-pack 是 DSH 上的任务包打包器(Task-pack builder)。README 中的定位是:将大文件压缩为单文件、且估算 token 不超过 8000 的 brief,使子代理可以只读该文件而无需再翻原文。

实现为纯 Node、零外部依赖的单包插件(entry.js 等,见仓库 files 列表),要求 Node.js >=18。当前 package.json 版本为 1.0.0。

解决什么问题

README 用示意图对比两种模式:

  • 没有 brief-pack:每个子代理各读一遍全文(例如 30 万字报告)。
  • 有 brief-pack:主代理读一遍并生成 brief(约 8000 token),各子代理只读 brief。

因此,在 N 个子代理场景下,子代理侧的读取量从「N × 全文」变为「N × brief(≤ budget)」;子代理的中间过程按设计不进入主会话(spawn_with_brief 侧 prompt 要求只回 ≤10 行摘要)。

核心功能:两个工具

pack_brief

根据任务描述与文件列表,从大文件中提取相关片段,生成任务包文件。

参数 必填 说明
task ✅ 这一包要支撑的任务,写进标题
files ✅ [{ path, hint? }],hint 为空则只放结构摘要
budgetTokens 默认 8000(最小 1500)
outDir 默认 <用户目录>/DSH输出/briefs

返回结果不含任务包全文,只给路径与统计,例如 briefPath、bytes、approxTokens、budgetTokens、filesPacked(含 matchedTerms、segments 等)。

插件层 config(cordis.patch.yml / 插件行 config)还可设默认 outDir、budgetTokens、subagentProvider(默认 spawn)、timeoutSeconds(默认 600)。

spawn_with_brief

在已有 briefPath 上启动子代理,让其只读该 brief 并写完整报告到指定路径,对主会话只回简短摘要。

参数 必填 说明
briefPath ✅ pack_brief 返回的路径
reportPath 子代理写完整结果的位置
label 子代理显示名
extra 追加到 prompt 末尾
timeoutSeconds 默认 600,上限 1800

安装与启用

官方安装命令如下。装完后需重开 DSH,新工具才会进入工具面。

dsh plugin add github:dcd887/dsh-brief-pack

DSH 插件在当前 dsh 进程权限下运行。安装前建议在 GitHub 上查看源码与 MIT 许可证,自行判断是否合适。SkillHub 目录页(https://www.skillhub.cn/plugins/dcd887/dsh-brief-pack)为社区索引,与 DeepSeek / 幻方无官方从属关系。

典型用法

第 1 步:打包

pack_brief({
  task: "找出所有未通过的测试用例",
  files: [{ path: "C:\\reports\\full-run.md", hint: "失败 通过率" }]
})

README 示例:约 23 KB 源文件可压到约 3,590 token 的任务包(具体随内容与 hint 变化)。

第 2 步:派子代理

spawn_with_brief({ briefPath: "...\\briefs\\summary-20261108-021504.md" })

子代理 prompt 固定为:只读这一个文件、不要翻其它文件、把完整结果写进报告、只回 ≤10 行摘要。

为什么能省 token(机制对照)

直接让子代理读原文 用 brief-pack
主代理 不读 读一遍
每个子代理 读全文 只读 brief(≤8000 token)
N 个子代理的读取量 N × 全文 全文 + N × 8000 token
子代理的中间过程 全进你的上下文 不进(只回 ≤10 行)

适用场景与已知限制

适合:需要从超长 Markdown/文本报告或日志中抽片段、并行派多个只关心结论的子代理、且希望控制上下文膨胀的工作流。

限制(README 原文):

  1. token 是估算:汉字约 1/1.5 token、ASCII 约 4 字符/token,与真实 tokenizer 可能有 ±20% 偏差;返回值含 tokenEstimateNote。
  2. spawn_with_brief 是阻塞调用:默认最多等 600 秒。
  3. 没有 subagents 服务时会明确降级:返回 degraded: true 及缺失项,不假装成功。
  4. 不做二进制/超长单行专门处理:按文本读,.md 之外格式没有专门语法解析。

结尾

dsh-brief-pack 用 pack_brief + spawn_with_brief 把「读大文件」收敛到主代理一次,再把裁剪结果以单文件 brief 交给子代理,是 DSH「一切皆插件」生态里面向上下文工程的一条工作流插件。

  • 目录页:https://www.skillhub.cn/plugins/dcd887/dsh-brief-pack
  • GitHub:https://github.com/dcd887/dsh-brief-pack
羽毛球分组比赛记分
小程序二维码

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

Xiaoye