如何看懂 Agent 的上下文都花在哪了?dsh-context:DeepSeek Harness 上下文可视化插件完整指南
【免费下载链接】dsh-contextThe best DeepSeek Harness plugin for context insight and management, with context dashboard / browser and context command, for context statistics, composition, breakdown, evolution details, understanding how the context is made of, and how it evolves. 一站式 DeepSeek Harness 上下文可视化插件,Context 面板及浏览器与 Context 命令,透视上下文组成、演进、压缩、剪枝等事件与动作。项目地址: https://gitcode.com/gh_mirrors/ds/dsh-context
你是否遇到过这种情况:Agent 聊到一半突然"变笨",或者 Token 账单悄悄飙升,却不知道上下文窗口到底被谁吃掉了?开源插件dsh-context就是来解决这个痛点的——它是一款 DeepSeek Harness 上下文可视化插件,提供 Context 面板、上下文浏览器与/context命令,帮你透视上下文的组成(composition)、演进(evolution)、压缩(compaction)与剪枝(prune)事件,看懂上下文是怎么构成的、又是怎么演进的。
为什么你需要上下文可视化?
Agent 的每一次请求,模型看到的都不是"你说的话",而是一个拼装好的上下文包:系统提示词、工具 Schema、历史消息、注入的上下文、助手回复、工具结果……这些内容各有 Token 开销,且随着对话推进不断膨胀、被压缩、被剪枝。
没有可视化时,你只能看到一个模糊的"上下文占用环";装上 dsh-context 后,这个黑盒变成了一张透明的账单:
| 六色组成分类 | 含义 | 典型特征 |
|---|---|---|
| 🟦 System Prompt | 系统提示词 | 稳定,但可能很长 |
| 🟧 Tool Schemas | 工具定义 JSON Schema | 容易被忽视的"隐形开销" |
| 🟩 User Messages | 你的消息 | 通常占比很小 |
| 🟪 Injected Context | 注入的上下文(技能、快照等) | 会随插件/技能注入而跳变 |
| 🟦 Assistant Messages | 助手回复 | 长会话中的大头 |
| 🟩 Tool Results | 工具执行结果 | 长命令输出的重灾区 |
一键安装步骤
任何 DeepSeek Harness 安装环境中,执行一条命令即可安装(无需构建、无需重启):
dsh plugin --profile web add dsh-context更新到最新版则是:
dsh plugin --profile web update dsh-context@latest如果更习惯从源码阅读或二次开发,可以克隆仓库 https://gitcode.com/gh_mirrors/ds/dsh-context ,核心代码位于src/host/(宿主端数据折叠)与src/client/(界面渲染)两个目录。
Context 面板:上下文仪表盘全景速览
打开任意会话,点击Context / 上下文标签页,你会看到整块仪表盘:
从顶部到底部依次是:
- 📊 Context Stats:会话总览——多少轮对话(Turns)、多少步(Steps)、发生了几次注入、压缩与剪枝。
- 🧱 Current Context:当前窗口占用,如
77.6k / 262.1k tokens (30%),六色堆叠条直观展示预算被谁吃掉;灰色轨道是剩余余量。它读取的是与聊天输入框"上下文占用环"完全相同的官方计量数据,数字不会打架。 - Top Tool Schemas:列出最贵的 5 个工具 Schema——很多会话的隐形成本就藏在这里。
- 📈 Context History:下文详述的历史演进图表。
- 🧭 Context Browser:下文详述的"开箱"浏览器。
当对话开始变卡、回答质量下降时,这一屏就能告诉你是哪一个部分吃掉了预算。
History 图表:看着窗口长大、被压缩
History 卡片为每次模型请求画一根堆叠柱,比按消息粒度更细:
上图是一个真实会话:上下文在 48 轮对话中增长到约 563k tokens,随后一次压缩(✂ 标记)一步回收了 −535.5k,对话从全新的小窗口继续。
交互技巧:
- 在Step / Turn两种粒度间切换;横向滚动查看更早历史。
- 悬停任意柱即时显示该步的轮次、时间、估算值与服务商上报的 actual prompt tokens。
- 点击柱子可固定完整分解详情;✂ 标记处即压缩或剪枝发生的位置——看着柱子"跳水"很解压。
- 悬停历史柱时,右侧 Context Browser 会联动预览那一步的上下文,离开图表后恢复你手动选择的步骤。
/context 命令:会话内一键透视上下文
不想切标签页?在输入框键入/context(或从/菜单中挑选)并回车:
会弹出一个居中对话框,内含Current Composition卡片与Context Browser——与标签页相同的组成条、图例和按步浏览,让你在对话中途就能检查任意一次请求是由什么拼装而成的,全程不离开聊天:
这个对话框由src/client/components/contextModal.tsx渲染,触发后不产生任何聊天消息,纯"只读体检"。
Context Browser:打开任意一次请求的"盒子"
这是 dsh-context 最有深度的一块:选中Live(下一次请求)或历史中任意保留的步骤,逐层展开它实际由什么拼装而成:
采用渐进式披露设计,三级下钻:
- 六个分类区块:每个显示条数与 Token 小计;
- 元素行:逐条消息 / 提示词 / 工具 Schema,各自标价;
- 实际内容:完整系统提示词、每个工具的描述与 JSON Schema、消息正文、推理过程、工具调用参数与工具输出——永远不给你"只有 Token 总和却看不到条目"的黑箱。
压缩前的历史步骤会从已删除消息档案中重建,卡片会如实标注"该步骤构成为近似值"。
🖼 多模态:图片附件全视图
在 DeepSeek Harness 0.1.1+ 上,带图的用户消息会展开为卡片布局:文字卡 + 每张图一个缩略卡,显示尺寸、存储大小,以及估算 Token 成本(按 DeepSeek 官方图片尺寸→Token 换算,单图封顶 117–384 tokens):
Context Events:窗口何时、为何变了
每一次压缩、工具输出剪枝、技能/插件上下文注入、模型切换,都会被记录为一条事件,附带 Token 增量(±)、轮次/步归属与时间戳,并可按Inject / Compact / Prune / Switch四类筛选——比如"某技能是何时被注入的""这次压缩到底回收了多少",一查便知。
事件与历史数据由宿主端投影单元维护(src/host/timeline.ts),前端零轮询、按需推送,这也是插件在超长会话下依然流畅的关键。
常见问题 FAQ
Q:dsh-context 是什么?A:一款 DeepSeek Harness 官方插件体系的上下文可视化插件,核心功能包括上下文仪表盘(Context 面板)、/context命令与上下文浏览器。
Q:安装后需要重启吗?A:不需要。安装后dsh web启动即可,无构建步骤。
Q:显示的数字和聊天框的占用环一致吗?A:一致。面板读取与官方上下文环相同的contextPressure/contextBreakdown计量,图例带≈的数字与环面板完全对齐。
Q:项目采用什么协议?A:Apache-2.0,可自由使用与二次开发。
写在最后
dsh-context 把 Agent 上下文从"玄学"变成了"账本":哪部分吃了预算、何时被压缩、每张图值多少 Token,一目了然。上下文管理得越透明,你的 Agent 就越稳定、账单越可控。快去装上它,看看你的会话里究竟住着什么吧 🚀
【免费下载链接】dsh-contextThe best DeepSeek Harness plugin for context insight and management, with context dashboard / browser and context command, for context statistics, composition, breakdown, evolution details, understanding how the context is made of, and how it evolves. 一站式 DeepSeek Harness 上下文可视化插件,Context 面板及浏览器与 Context 命令,透视上下文组成、演进、压缩、剪枝等事件与动作。项目地址: https://gitcode.com/gh_mirrors/ds/dsh-context
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考