dsh-context-lens:查看相邻模型请求之间的变化与缓存复用

前言

在 DSH 会话中,一次对话往往会触发多次真实 LLM 请求。相邻两次请求之间,system prompttool 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
  • 下降告警

可比较的内容包括:modelproviderrequest configsystem prompttool settool 声明顺序、估计上下文表面积和缓存复用边界。

这里强调“已提交”:插件比较的是实际进入真实模型请求的状态,不声称观察 harness 内存状态。

缓存复用读数

缓存复用读数严格基于提供商的 usage buckets

uncached input
cache reads
cache writes
billed input

插件用这些字段呈现缓存复用变化,而不是推断提供商内部缓存实现。

变化优先视图

插件提供 zh/enconversation.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 prompttool settool 声明顺序request config 等提交状态,以及缓存复用读数随请求变化的趋势。

使用前需要注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。
  • 下降告警只是相关性提示,不是因果判断。
  • 最近请求列表最多保留 100 条,离开该窗口后的缓存状态不声称可确定。
  • 插件不接触模型调用,也不观察 harness 内存状态。

链接

羽毛球分组比赛记分
小程序二维码

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

Xiaoye