前言¶
在 DSH 会话中,一次对话往往会触发多次真实 LLM 请求。相邻两次请求之间,system prompt、tool set、请求配置等提交状态是否变化,缓存复用又是否随之变化,通常需要反复翻日志才能判断。dsh-context-lens 是一个 DeepSeek Harness 插件,用来连续回答一个问题:这次 harness 发给模型的请求是什么,相对上一次请求发生了什么变化。
它强调“纯观察者”:读取会话日志,不向日志添加内容,也不接触模型调用。下面介绍它的定位、能力、安装方式和适用边界。
这是什么¶
dsh-context-lens 的仓库为 gordonlu/dsh-context-lens,维护者为 gordonlu,许可证为 MIT。
它的定位是 Request Context Profiler for DeepSeek Harness。核心用途是:为每个真实 LLM 请求生成一行可检查的记录,展示已提交请求上下文、缓存复用读数,以及与上一次请求相比的变化。
核心功能¶
为每个真实 LLM 请求记录一行¶
插件为每个真实 LLM 请求记录以下信息:
- 请求标识
- 已提交请求上下文
- 缓存复用读数
- 与前一次请求的 diff
- 下降告警
可比较的内容包括:model、provider、request config、system prompt、tool set、tool 声明顺序、估计上下文表面积和缓存复用边界。
这里强调“已提交”:插件比较的是实际进入真实模型请求的状态,不声称观察 harness 内存状态。
缓存复用读数¶
缓存复用读数严格基于提供商的 usage buckets:
uncached input
cache reads
cache writes
billed input
插件用这些字段呈现缓存复用变化,而不是推断提供商内部缓存实现。
变化优先视图¶
插件提供 zh/en 的 conversation.view,包含:
- 会话状态条
- 最近请求列表
- 检查器
- 技术细节折叠区
最近请求列表最多保留 100 条。
边界与不做什么¶
插件是纯观察者:读取会话日志,不向日志添加内容,且不接触模型调用。
它不新增 session events,不使用 model tools,不做 prompt injection,不做 KV simulation。
下降告警只展示相关变化,并明确“相关不等于因果”。
插件不声称能确定以下内容:
- 提供商内部缓存键构造
- 前缀复用断裂的精确
token - 哪一项变化导致缓存复用下降
- 离开 100 条保留窗口后的会话/请求缓存状态
harness内存状态
已测试不变量¶
实时 fold 与从 init replay 的 replay consistency 被描述为已测试不变量。
安装与启用¶
dsh-context-lens 是 npm 包。运行时需要 Node >=20.19.0,运行时依赖为 zod ^3.23.8。
仓库中所有 @deepseek-ai/* 引用为 type-only,并包含 dev-time type-only vendor-stubs。浏览器 bundle 复现 harness client-bundle ABI。
先安装插件到 web profile:
dsh plugin --profile web add dsh-context-lens
典型用法¶
经过上面的步骤后,可以这样使用:
1、打开任意会话。
2、切换到 Request Context 标签页。
3、查看每个模型请求的一行记录:相对上一次请求的变化,以及缓存复用如何变化。
如果是从源码开发,先做依赖安装、类型检查、测试和构建:
pnpm install
pnpm typecheck
pnpm test
pnpm build
真实运行时 smoke 脚本位于 smoke/,包括:
- server-side smoke
- client-loader ABI smoke
- full GUI E2E against a second web instance with a mock LLM
适用场景与注意¶
适合用来检查 DSH 会话中真实 LLM 请求的上下文变化,尤其是 system prompt、tool set、tool 声明顺序、request config 等提交状态,以及缓存复用读数随请求变化的趋势。
使用前需要注意:
- 插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。
- 下降告警只是相关性提示,不是因果判断。
- 最近请求列表最多保留 100 条,离开该窗口后的缓存状态不声称可确定。
- 插件不接触模型调用,也不观察
harness内存状态。
链接¶
- GitHub:gordonlu/dsh-context-lens
- 目录页:本组已核实资料未提供具体 URL