在 DeepSeek Harness (DSH) Web 的开发中,上下文窗口管理是核心痛点。DSH 内置的上下文显示通常给出整段占比,缺乏对单条消息占用情况的精细定位。dsh-ballast 是一个解决这一痛点的客户端插件。它利用 host 的 token meter,按消息条目展示当前 surface 的 token 占用和正文摘要,帮助开发者定位窗口由哪些条目占用。
核心功能¶
该插件主要提供以下能力:
- 按条目归因:按 token 占用列出用户消息、助手消息和工具结果。正文折叠空白后截断,工具结果显示工具名。推理块和图像只计数不内联原文。
- 价格与价差:显示当前路由价格。如果 host 同时提供 heuristic 影子价,会标出价差(注:价差表示图像可能经过视觉 token 重定价,不表示异常)。
- 聚合统计:显示按消息类型聚合的 token 占比。同时显示当前 host 上各 live session 中最重的条目。
- 窗口压力估算:显示 provider usage、下一次请求的窗口压力,以及 system/tools/messages 的估算构成。注意:估算构成与 provider usage 锚点口径不同,面板不把两者相加。
- 会话列表:列出当前 host 的会话。包括进程内活着的会话,以及已存储但没有 live agent 的会话。会话标题缺失时,会显示工作区目录名与 session ID。
安装与启用¶
安装插件只需执行以下命令:
dsh plugin --profile web add dsh-ballast
安装并重启 DSH Web 后,从页面左下的 dsh-mini-utility-dock launcher 打开 ballast。
使用说明¶
面板提供两个主要视图:
- 当前会话:按条目查看当前 surface 的占用、类型、时间和摘要。已被 compaction
replace折叠的旧append条目不显示。 - 跨会话 Top:按需为当前 host 的每个 live session 计量一次,并按最重条目排序。该视图同时列出已存储但没有 live agent 的会话,按占盘大小排序,并给出各自投影缓存里的上下文压力。
插件通过同源只读接口 /dsh-ballast/api 获取数据,支持 sessions、measure、top 和 cold 等端点。
适用场景与注意事项¶
- 只读模式:该插件为只读插件,不估算费用、不修改会话、不触发 compaction,也不会写状态或删除消息。
- 环境依赖:需要 DSH 0.1.5-rc.3 及更高版本。未挂载 Connection 的宿主会回退到本地守卫模式,按 TCP 对端、Fetch Metadata、Origin 和 loopback Host 判定。
- 数据来源:日志条数、字节数与 revision 来自持久化快照;token 数字来自投影缓存;标题来自一次批量日志读取。
适用于需要在 Web 端实时监控上下文占用、分析消息条目权重以及排查窗口溢出问题的开发者。