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

上下文浏览器 LionNatsu/dsh-context-explorer

DeepSeek Harness
LionNatsu34 天前有提交已提供中文文档扫描:未发现敏感能力

查看会话发给模型的提示词与消息,按 token 方块网格呈现

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add LionNatsu/dsh-context-explorer
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 查看会话上下文
  • 展示系统提示词
  • token方块网格呈现

在 DeepSeek Harness Web UI 里查看会话提交给模型的上下文:系统提示词、工具 schema 和每条消息,都画成 token 方块网格。

README

由 DeepSeek 最新模型翻译生成
上下文浏览器 DeepSeek Harness 的面板,用来展示会话实际发给模型的内容:渲染后的系统提示词、工具 schema,以及每一条消息,全部画成 token 方块组成的网格。它出现在 Web UI 右侧边栏的标签页里,标题是「上下文 / Context」。 这是非官方第三方插件,与 DeepSeek 无隶属关系,也未获其背书。MIT 协议——见 LICENSE;THIRD_PARTY_NOTICES.md 记录了从 DeepSeek 项目复制的两个文件(estimate.js、serve.js)。 安装 dsh plugin --profile <name> add dsh-context-explorer dsh plugin 会把参数转发给该配置档下的 pnpm,所以这个 flag 指定的是要装进哪个配置档。包里声明了 dsh.bundle.patch → ./cordis.patch.yml,配置档加载器下次加载时就会应用它那一行 host。运行时文件是直接签入的纯 JavaScript,没有构建步骤,也没有安装脚本,所以 github: 安装不需要构建权限。Node ^22.19.0 或 >=24.0.0。locale/.json 按语言存放显示名和描述(上下文浏览器 / Context Explorer)。
展开完整文档(README 剩余 1 节)
上下文浏览器

DeepSeek Harness 的面板,用来展示会话实际发给模型的内容:渲染后的系统提示词、工具 schema,以及每一条消息,全部画成 token 方块组成的网格。它出现在 Web UI 右侧边栏的标签页里,标题是「上下文 / Context」。

这是非官方第三方插件,与 DeepSeek 无隶属关系,也未获其背书。MIT 协议——见 LICENSE;THIRD_PARTY_NOTICES.md 记录了从 DeepSeek 项目复制的两个文件(estimate.js、serve.js)。

安装

dsh plugin --profile <name> add dsh-context-explorer

dsh plugin 会把参数转发给该配置档下的 pnpm,所以这个 flag 指定的是要装进哪个配置档。包里声明了 dsh.bundle.patch → ./cordis.patch.yml,配置档加载器下次加载时就会应用它那一行 host。运行时文件是直接签入的纯 JavaScript,没有构建步骤,也没有安装脚本,所以 github: 安装不需要构建权限。Node ^22.19.0 或 >=24.0.0。locale/.json 按语言存放显示名和描述(上下文浏览器 / Context Explorer)。已针对 @deepseek-ai/dsh 0.2.0-rc.2 验证;插件没有声明版本门槛,所以如果 Harness 某个版本挪动了这些扩展点,表现会是面板缺失或空白,而不是拒绝安装。

面板展示什么

一行标题。 已用 {used} / {total}:used 是服务商为上一次请求报告的提示词大小,在还没有调用报告之前,它就是面板自己算的总量。total 是上下文窗口,宿主还没有窗口时显示 —。悬停提示会说明哪个数字是哪个。

构成标签。 每种存在的内容类型一个,从最重的开始:该类型颜色的 8×8 色块、类型名、token 总量,以及占面板总量的比例。它们会自动换行,同时充当网格的图例。点击标签把列表筛选到该类型;再点一次清除筛选。

网格。 整个上下文窗口,不只是已用部分,每个方块覆盖窗口中等大的一份切片。已占用的方块带上占据该切片最多的类型颜色;某个切片若有第二种类型占到至少 35%,就画成对角混色;上下文末尾之后的空间画成平坦的空白。方块边长 7 个设备像素,间隔 1 像素,所以在任何显示缩放下每个方块都画成同样大小。悬停会显示类型名。点击方块会打开占据它最多的那个区域。

列表。 每个区域一行,按模型看到的顺序排列:颜色色块、一行预览、闭合行上片段被截断时显示的 已截断 / clipped 徽标,以及该区域的 token 数字和占比。服务商数出来的数字直接打印;本插件估算的带 ≈。点击一行会打开该区域在模型收到的提示词里的那一段——角色标记等一应俱全——而不是它的摘要;徽章让位给正文里的 detail.clippedNote,这样事实只陈述一次。一个计数和一个开关在模型顺序与大小顺序之间切换列表。

没有内容可画时——还没有已发布的视图,或者视图里没有区域——面板会直接说明,而不是留一个空壳。折叠失败会打印在标题上方。渲染错误会替换掉标签页,而不是留下空白面板。

数字从哪来

标题是服务商自己对最后一次请求的计数。每个区域的数字,在有服务商计数覆盖该区域时用服务商的计数,否则用本插件的估算——标为 ≈。测量两样东西:答案自身的大小,前提是报告给出了生成它时所用的输出;以及某条消息是请求窗口里唯一一条消息的情况,也就是提示词相对上一次答案增长的部分。系统提示词、工具信封、压缩摘要、容纳多条消息的窗口,以及最后一次报告之后追加的任何内容,通常都没有自己的服务商计数,所以它们保持估算。

估算用的是 Harness 自己固定的启发式,和它的上下文计量表用的是同一套:每四个 UTF-16 代码单元算一个 token,每个内容块加四个,每条消息加四个。它计算的是内容,不是传输帧,而且会随文本语言漂移,所以把估算数字读成构成,而不是账单。

已知限制

- 提示词文本是重建,不是抓取。 Harness 与托管 API 通信,提示词在服务端渲染,会话日志不记录请求体。serve.js 转写了已发布的 serving 实现,好让面板以模型收到的形式展示某个区域;tools/prompt-golden.mjs 把这份转写逐字节对照官方开放权重编码器。就把它当作那个实现所渲染的内容。
- 面板展示的是片段,不是一整条连续的提示词。 每个区域携带自己那一块。有两块完整传递,因为它们在每次请求里各出现一次:提升的系统提示词(最早的那条,不是最新的),它的分节边界在别处都不存在;以及 ## Tools 块。一条消息的片段上限是 4000 个 UTF-16 代码单元,按提示词消耗它的顺序消耗;片段被截断的区域会标为 clipped,展开后只说明保留了开头。行的预览另有 400 代码单元的上限。
- 宿主侧改动需要重启服务器。 index.js、serve.js 和 estimate.js 在 DSH 服务器启动时读取,所以编辑它们之后要重启 dsh web。client.js 通过客户端模块系统提供,无需重启即可重新加载浏览器侧。
- 没有自动化视觉检查。 测试套件覆盖折叠、传输、浏览器辅助函数、打包和提示词文本;没有任何东西在浏览器里渲染面板,所以它的布局靠手工检查。

布局

一个 npm 包,一个插件,两半都在里面:

| 路径 | 作用 |
| index.js | 宿主侧:sessionProjections 单元,把会话折叠成视图 |
| client.js | 浏览器侧:标签页、网格、区域列表 |
| serve.js | 已服务提示词渲染器,转录自 DeepSeek 服务实现 |
| estimate.js | token 估算器,随包发布版本的本地副本 |
| package.json、cordis.patch.yml | 清单与 bundle 补丁(一行宿主配置) |
| icon.svg、locale/.json | 图标,以及各语言下的名称与描述 |
| docs/prompt-injection-format.md | Harness 对话如何变成提示词文本 |
| tools/ | 检查与诊断 |

宿主侧只导入同目录的 estimate.js 和 serve.js,因此配置档可以直接链接这个目录,不必安装已发布的副本。

检查

在仓库根目录运行;每项失败时都以非零状态退出。

- node tools/check-bundle.mjs —— 打包与绑定:清单包含所有运行时文件,两侧都通过清单解析,样式表里每个类都有元素实际应用,且没有任何声明遮蔽内置项。
- node tools/context-explorer.test.mjs —— 宿主折叠:区域顺序、每个占比背后的计算、提示词在重写后仍存活、截断标志,以及与已安装估算器的一致性。
- node tools/context-explorer.contract.mjs —— 两侧共享的通信约定:locale 键、两侧各自命名的字段、网格的方块预算、调色板。
- node tools/context-explorer.helpers.test.mjs —— 浏览器侧的纯辅助函数,通过其真实模块注册加载。
- node tools/prompt-golden.mjs —— serve.js 与官方编码器逐字节比对。

tools/replay-session.mjs <session.v4.jsonl.zstd> 回放真实日志,tools/activation-probe.mjs 像 Loader 那样挂载插件,并断言投影键能到达快照。
预览分享卡片长什么样 ↓LionNatsu/dsh-context-explorer
分享 · DeepSeek Harness Hub
LionNatsu/dsh-context-explorer

查看会话发给模型的提示词与消息,按 token 方块网格呈现

这是你的仓库?认领条目

回到顶部