DeepSeek Harness 插件

dsh-scope

Codex-style context visibility for DeepSeek Harness: live context-window occupancy, composition breakdown, KV-cache hit rate, and a GitHub-style 53-week usage heatmap(英文原文)

跳到安装方式

来源信息

GitHub 仓库
helloxkk/dsh-scope
最近更新
2026年8月16日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/helloxkk/dsh-scope
插件名:dsh-scope
作者:helloxkk

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-scope

![dsh.so security](https://www.dsh.so/artifact/dsh-scope/) ![License: MIT](LICENSE)

English · 简体中文

DeepSeek Harness(dsh)的上下文可视化插件 —— 每个会话的 Codex 式 /context 透镜 + 全历史的 GitHub 式用量热力图。

一个插件,两处 UI:

1. Context Lens(会话头部)—— 实时 context 窗口占用率(system / tools / messages 分段构成条)、四桶会话累计、KV 缓存命中率。数据全部来自官方 token-meter 会话投影(useProjection)—— 无 RPC、无自定义协议。 2. 用量热力图(侧边栏底部)—— GitHub 贡献图风格的滚动 53 周 token 用量网格。点击任意日期查看四桶明细、缓存命中率、会话数、模型排行。数据来自本插件自己的回环聚合端点。

截图

![用量热力图](docs/heatmap-zh.png)

为什么做

DeepSeek Harness 把措辞和上下文当一等工程对象,但自带 Web UI 既不显示 context 占用也没有用量历史。dsh-scope 按 harness 原生方式补上这两个缺口:读平台已经算好的投影、用平台的设计 token(--dsw-alias-*)、走平台的 slot 注册体系 —— 明暗主题零媒体查询都正确。

安装

需要 dsh0.1.0-rc.6 在 PATH 上。

dsh plugin --profile web add dsh-scope
dsh web                             # 重启 dsh 加载插件

<details> <summary>从源码安装</summary>

git clone https://github.com/helloxkk/dsh-scope.git
cd dsh-scope
npm install && npm run build
node scripts/install.mjs web        # 或: node scripts/install.mjs <profile>
dsh web                             # 重启 dsh 加载插件

</details>

安装脚本把 lib/cordis.patch.ymlpackage.json 复制进 profile 的 node_modules,并向 profile 的 cordis.patch.yml 追加 bundle insert(幂等,每次 rebuild 后可重复执行)。

卸载

rm -rf ~/.dsh/profiles/web/node_modules/dsh-scope
# 再从 ~/.dsh/profiles/web/cordis.patch.yml 删掉 "# dsh-scope" 块
rm -f ~/.dsh/storages/dsh-scope-cache.json   # 可选:清掉 fold 缓存

工作原理

浏览器半lib/client.js,通过 package.json 的 dsh.client 声明被发现):

  • conversation.session.header.actions(order 30,排在任务列表之后)渲染透镜触发器:占用率圆环 + 实时百分比。弹出面板读取三个官方投影 —— tokenUsage(整个持久日志累计的四桶)、contextPressure(输入侧窗口压力 + 路由的 context window)、contextBreakdown(下一次请求的 system/tools/message 启发式构成)。
  • sidebar.footer.action 渲染热力图触发器(侧栏展开显示文字,收起显示图标)。弹出面板同源 fetch GET /api/dsh-scope/days

宿主半lib/index.js):一个只读、仅回环的端点。聚合是增量的:每会话 fold 状态缓存在内存并持久化到 ~/.dsh/storages/dsh-scope-cache.json;每次请求只 fold 上次之后新增的事件。活跃会话 fold 内存尾部;持久会话用存储后端的不透明 revision 和 readFrom(id, fromSeq),带连续性检查,日志被重写则全量重 fold。稳态成本 O(新增事件),日志再大也不变慢。

Fold 语义对齐 dsh-token-metertokenUsage 投影:usage 样本挂在 assistant/chunkdata.chunk.type === "usage")或 assistant/messagedata.usage)上;同一 (turn, step) 的重复样本替换旧值而非重复计数,并重新归因到后一事件所在的日期与模型。模型归因跟随 assistant/messagedata.message.source,回退到最近的 request/header 配置。

不外发任何数据:端点在任何处理前拒绝非回环调用者和非 GET 方法,不读取任何 provider 凭据。

开发

npm run build                          # tsdown: 宿主 ESM + 浏览器 ModuleLoader bundle
node scripts/fixture-session.mjs       # 可选: 写一条带 usage 事件的演示会话日志
node scripts/install.mjs web && dsh web

兼容性

基于 dsh 0.1.0-rc.6@deepseek-ai/dsh-base / dsh-web-app bundle)构建并验证。harness 处于开发者预览阶段迭代很快 —— 预期会有破坏性变更。

许可

MIT