🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

请求上下文分析器 gordonlu/dsh-context-lens

DeepSeek Harnessv0.3.1
gordonlu51 天前有提交已提供中文文档扫描:未发现敏感能力

对比每次模型请求变化,看清缓存复用涨跌

29.7/100
综合分
0
GitHub 星标
170
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-context-lens
npm 源 · dsh-context-lens 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/10/23·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 51 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-context-lens @ 0.3.1
✓Node 引擎要求 >=20.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:55:20

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cosmokit@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-dockkit@deepseek-ai/dsh-client-ui-primitives
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 对比模型请求变化
  • 查看缓存复用涨跌

DeepSeek Harness 的请求上下文分析器——看清模型请求之间变了什么,缓存复用又跟着怎么变。

v0.3.12026-09-14
· dsh-context-lens v0.3.1 DeepSeek Harness 的请求上下文分析器。需要 DeepSeek Harness 0.1.5+。 · 修复 · lens 视图激活时不再崩溃。每次打开都会在 conversation.view 插槽入口抛出 Cannot read properties of undefined (reading 'length'),原因是视图读取 snapshot.nodes,而 0.1.5 外壳已不再发布这个字段。 0.1.5 版 harness 把 ConversationSnapshot 重建成与目标无关的存储(views + activeTargets),Chat 目标把节点顺序发布在 views.get('chat') 下。插件看到的 useSession 类型仍来自 @deepseek-ai/dsh-client-runtime@0.1.1-rc.2,它发布的声明描述的仍是旧的顶层 nodes 数组,所以带类型的读取能编译通过,却在渲染时抛错,类型检查和加载器 ABI 冒烟测试都发现不了。 chatNodeCount() 现在读取新存储,仍兼容旧数组,其他情况一律计为 0(只会关掉滚动到最新的启发式,面板不受影响)。单元测试覆盖两种结构外加畸形输入,下次契约变动会先让测试失败,而不是让界面崩掉。 · 端到端验证 在真实浏览器里对着真实 harness 跑过:打开会话 → 请求上下文标签页注册在 对话 / 轨迹 旁边 → 点开渲染出面板(健康条 ✓稳定、请求数、两个列表过滤器、请求 #1 详情),页面零报错。 · 升级 dsh plugin --profile web add dsh-context-lens 然后重启 dsh web,强制刷新页面(Ctrl+Shift+R)。
v0.3.02026-09-14
· dsh-context-lens v0.3.0 DeepSeek Harness 的请求上下文分析器——看清模型请求之间改了什么,缓存复用又跟着怎么变。 · ⚠️ 需要 DeepSeek Harness 0.1.5+ 0.1.5 版 harness 改了三处约定,这个插件依赖它们,所以在更新后的宿主上 lens 标签页一片空白。本次发布把三处都迁移了,不兼容 harness ≤ 0.1.4。 · 修复 · lens 标签页在 0.1.5 上恢复可用。投影单元现在声明 stateSchema(持久化的宿主状态)加 wire: { viewSchema, view }(客户端载荷),snapshot() 只提供声明了 wire 的单元——旧结构注册成功却什么都不提供,客户端于是渲染出空投影。 · 缓存下降重新有了归因。系统提示词离开 EpochHeader,变成 system/message 历史节点;折叠逻辑现在跟踪最新节点,把它的指纹折进每条记录的 header,系统提示词改动仍会显示为结构变化和下降原因。 · 中止的轮次显示为已中止。取消的轮次现在把已投递的前缀收尾为一条中断消息,状态取自轮次的结束原因,而不是看有没有消息。 · 浏览器包与 shell 的模块表对齐。dsh-client-store 和 dsh-client-ui-dockkit 取代了 dsh-client-web-react、dsh-client-ui-attachment 和 dsh-client-schema-form;键名过期在真实浏览器里必定抛 miss-table。 · 底层改动 · vendor-stubs/ 已移除:0.1.5-rc.2 发布了整套 @deepseek-ai/*,九个 harness 包都从 registry 安装。autoInstallPeers 已开启,zod 升到 ^4 以匹配框架的投影类型。旧的纯类型 stub 在导入未解析时不会让构建失败——skipLibCheck 悄悄降级了声明,这次断裂正是这样被藏住的。 · 投影 stateVersion 为 3;旧结构的持久化行直接丢弃(重新折叠,不做迁移)。 · 安装 dsh plugin --profile web add dsh-context-lens 升级:重启 dsh web 宿主以加载新的服务端部分,然后强制刷新页面。 · 已验证 typecheck + 68 个单元测试 + 构建,外加真实运行时冒烟测试:服务端部分对真实 harness 包(投影读取、缓存下降、检查点路径),客户端部分对真实加载器 ABI(交接、与 PLATFORM_MODULES 的外部依赖一致性、CSS 注入、槽位环 + 释放)。
v0.2.22026-08-14
· dsh-context-lens v0.2.2 DeepSeek Harness 的请求上下文分析器——看清模型请求之间变了什么,缓存复用又跟着怎么变。 · 亮点 · 缓存健康度会恢复:连续 20 次请求没有出现缓存下降,健康卡片就重新变绿(按窗口判定,不会一直红着);累计下降次数单独留在自己的卡片上 · 第二个列表筛选:「隐藏仅表层增长」(默认开启)——默认视图现在只显示真实事件(下降、结构变化、失败),不再被上下文增长的噪音淹没;取消勾选即可重新看到上下文增长 · 视图切换滚动修复:切回 lens 时停在你离开的位置;只有你离开期间对话确实变长了,才跳到最新 · 缓存影响按百分比显示:影响读数现在显示 +10% / -30%,不再是「10 pt」——一眼看懂,不用纠结单位 · 安装 dsh plugin --profile web add dsh-context-lens · 兼容性 已对照 DeepSeek Harness 主线验证:每次推送 CI 都跑类型检查 + 65 个测试 + 构建,另有一项夜间兼容任务,针对全新检出的 harness 运行(真实包的服务端与客户端 ABI 冒烟测试)。 · 0.2.2 变更 · 健康卡片:lastDropOrdinal 记入投影状态(schema v2,旧快照默认 0);只有最近 20 次请求内出现下降才告警,之后恢复,并附「最近 N 次请求无下降」的说明 · 列表:surfaceOnly() = 有增长但结构未变;配合已有的隐藏未变筛选,默认视图只剩有效信号 · 滚动:重新进入视图时,只有节点数增长才滚到底部;否则由官方 chatScroll 恢复保留你的位置 · 单位:缓存影响增量显示带正负号的 %(中文文案保留「个百分点」);英文文案从「pts」改为「%」
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-context-lens DeepSeek Harness 请求上下文分析器 — 看清每次模型请求之间发生了什么变化,以及缓存复用如何随之改变。 这是什么 dsh-context-lens 是 DeepSeek Harness 插件(服务端单元 + 客户端视图),持续回答一个问题:"这次发给模型的内容是什么,与上一次请求相比变了什么?" 它是纯粹的观察者——只读取会话日志,不写入任何事件,也不触碰任何模型调用。 快速开始 dsh plugin --profile web add dsh-context-lens 打开任意会话,切到 请求上下文 标签页,每个模型请求都会以一行呈现:相对上次请求变了什么,缓存复用如何随之变化。 对每个真实 LLM 请求记录一张紧凑卡片: - 请求身份 — turn:step、服务商、模型、上下文窗口、状态(完成 / 失败 / 中止)。 - 已提交的请求上下文 — 系统提示、工具集(每个工具的 schema 哈希 + 估算 token)、请求配置、工具声明顺序的规范化指纹。只比较真正提交给模型请求的状态;harness 的可变内存状态从不被观察。 - 缓存复用读数 — 严格由服务商互斥的用量桶计算(未缓存输入 + 缓存读取 + 缓存写入 = 计费输入)。缺失字段保持缺失(显示为 -),绝不为零。
展开完整文档(README 剩余 1 节)
dsh-context-lens

DeepSeek Harness 请求上下文分析器 — 看清每次模型请求之间发生了什么变化,以及缓存复用如何随之改变。

这是什么

dsh-context-lens 是 DeepSeek Harness 插件(服务端单元 + 客户端视图),持续回答一个问题:"这次发给模型的内容是什么,与上一次请求相比变了什么?" 它是纯粹的观察者——只读取会话日志,不写入任何事件,也不触碰任何模型调用。

快速开始

dsh plugin --profile web add dsh-context-lens

打开任意会话,切到 请求上下文 标签页,每个模型请求都会以一行呈现:相对上次请求变了什么,缓存复用如何随之变化。

对每个真实 LLM 请求记录一张紧凑卡片:

- 请求身份 — turn:step、服务商、模型、上下文窗口、状态(完成 / 失败 / 中止)。
- 已提交的请求上下文 — 系统提示、工具集(每个工具的 schema 哈希 + 估算 token)、请求配置、工具声明顺序的规范化指纹。只比较真正提交给模型请求的状态;harness 的可变内存状态从不被观察。
- 缓存复用读数 — 严格由服务商互斥的用量桶计算(未缓存输入 + 缓存读取 + 缓存写入 = 计费输入)。缺失字段保持缺失(显示为 -),绝不为零。
- 与上次请求的差异 — 模型、服务商、配置、系统提示、工具集(+新增/−移除/~修改)、工具顺序、估算表面增量、缓存复用百分点边界。
- 回落警报 — 复用率跨过阈值回落时,按固定优先级列出同时发生的变化(仅相关,不构成因果),并附明确免责声明。

视图是"变化优先"的(conversation.view 插槽,中/英双语)。打开即可一眼回答"有没有异常、异常在哪":

- 会话状态条 — ✓ 缓存稳定 / ✓ 结构稳定 / 已分析请求数;出现异常自动切换为 ⚠ 计数告警;
- 最近请求列表,最新在上(最多保留 100 条),每条一行:会话全局序号、变化标签(稳定 / 缓存回落 / 工具变化 / 系统变化 / +X tok)、缓存读数,并默认开启"隐藏无变化请求"过滤;
- 检查器 — 缓存复用率(含与上次的涨跌)、新增未缓存输入、估算请求上下文,逐行对比上次请求(系统 / 工具 / 工具顺序 / 配置 / 模型 / 服务商),无缓存影响变化时给出绿色结论;
- 原始用量桶、请求头哈希、完整工具列表收进"查看技术细节"折叠。

准确度边界

左侧是真正可观测的;右侧从不声称。

| 可以确定 | 无法确定(也绝不声称) |
| 提交给请求的系统提示、工具集、工具 schema、声明顺序、请求配置 | 服务商内部缓存键的构造方式 |
| 每个请求的模型与服务商 | 前缀缓存断点的确切 token(KV 因果性) |
| 服务商上报的用量桶(未缓存输入 / 缓存读取 / 缓存写入 / 输出 / 推理) | 是哪一项变化导致回落——只有相关性 |
| 复用率及其相邻请求间的百分点差 | 离开 100 条窗口的会话/请求的缓存状态 |
| 启发式表面估算(字符/4 + 每块 + 每角色开销) | 有关 harness 内存状态的任何内容 |

架构

服务端 — 一个纯的、可重放的投影单元(contextLens)折叠会话日志:request/header 事件(epoch 式记录,仅在变化时提交)定义每个 step/start 时刻生效的快照;步骤内到达的 header 事件替换它(那才是服务商实际看到的 header)。step/end 标记跨度收尾;最后一步在 turn/end 定稿、中间步在下一次 step/start 定稿,崩溃遗留的孤儿日志以 failed 关闭。重试不会产生新记录。无关事件原样返回同一状态引用——即注册表的零开销 Object.is 门。

重放一致性是经过测试的不变量:增量折叠(在线)与从 init 重放同一日志产生完全相同的状态与投影。

客户端 — 在 conversation.view 插槽注册 context-lens 条目(order 30),通过框架的 useProjection('contextLens') 席位读取投影,并自带中英双语 locale 命名空间。选中状态为组件内状态。无重依赖 UI;CSS Modules 由 lightningcss 编译并以幂等的 标签注入。

零开销 — 不产生新会话事件、不注入模型工具、不修改提示词、不模拟 KV 缓存。一个 no-op 伴生插件(context-lens-invariant)仅用于在 harness 的 invariants 服务下保留包名。

安装与构建

插件是 npm 包,运行时仅依赖 zod;所有 @deepseek-ai/ 引用都只是类型层面的。安装到 harness profile:

dsh plugin --profile web add dsh-context-lens

从源码开发:自 0.1.5 起 @deepseek-ai/ 全套包都已发布,因此直接走 registry 安装(旧的 vendor-stubs/ 类型快照已删除);autoInstallPeers 打开,zod@^4 与框架契约一致。本插件跟踪 0.1.5 harness 契约:投影单元声明 stateSchema + wire,系统提示从 system/message 历史节点追踪,CLIENT_EXTERNALS 对齐 shell 新的 PLATFORM_MODULES。详见 IMPLEMENTATION_NOTES.md → "0.1.5 harness contract"。

pnpm install
pnpm typecheck # tsc --noEmit
pnpm test # vitest — 63 个测试:指纹、缓存数学、差异、投影生命周期、step/end、重放一致性、格式化、确定性
pnpm build # tsc 声明 → lib/types,tsdown → lib/index.js + lib/invariant.js + lib/client.js(浏览器,闭包工厂 ABI)

浏览器产物复刻 harness 客户端 ABI:window.__ModuleLoader__.load({ id: "dsh-context-lens", factory: (require) => … }),react / react-dom / 平台模块表条目通过 loader 注入的 require 解析,其余全部内联。

真实运行时冒烟脚本在 smoke/(见 smoke/README.md):真实 harness 包的服务端冒烟、客户端 loader ABI 冒烟、以及基于第二个 web 实例 + mock LLM 的完整 GUI E2E。

目录

src/ 服务端:types、fingerprint、cache、diff、projection、index;伴生 invariant src/client/ 会话视图 + 语言包 + CSS Modules tests/ vitest 用例(含重放一致性套件) smoke/ 真实运行时冒烟:服务端、客户端 ABI、GUI E2E cordis.patch.yml dsh bundle patch 元数据

路线图

- 保留窗口游标,可查看 100 条之外的旧请求。
- 相关性下钻:按(模型、服务商、工具集哈希)在窗口内分组统计回落。
- 状态条区分"会话级计数"与"保留窗口"(#127 的回落不应显示为"最近 100 条干净")。

许可

MIT
预览分享卡片长什么样 ↓gordonlu/dsh-context-lens
分享 · DeepSeek Harness Hub
gordonlu/dsh-context-lens

对比每次模型请求变化,看清缓存复用涨跌

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部