前言¶
在 DeepSeek Harness(DSH)里做长对话或工具密集的任务时,上下文窗口会快速被系统提示词、工具定义和消息历史占满。宿主界面在作曲器下方提供圆环和若干计费药丸,你能看到「用了多少」,却很难一眼看出占用构成、本会话累计消耗,以及轮数、步数和输出速度是否异常。
社区插件 dsh-context-usage(维护者 mounta1n-18,分类:客户端)把上述信息收拢到作曲器上方的一块面板,并提供 /context 斜杠命令与作曲器内的占用按钮。实现为零依赖、无构建的纯 JavaScript 客户端插件,数据全部来自宿主已有投影,不额外埋点、不发额外请求。
这是什么¶
dsh-context-usage 是挂载在 DSH Web / 桌面 GUI 上的客户端 bundle:对标 Claude Code 的 /context 分段占用与容量占比展示,并补齐 DSH 原生底栏未集中展示的部分——累计计费用量、轮数/步数/输出速度、账户余额。
- 目录页:mounta1n-18/dsh-context-usage
- 源码与说明:GitHub
- 许可证:MIT(
package.json当前版本 1.0.7)
核心功能¶
下面按界面入口说明已核实的能力。
/context 斜杠命令¶
注册带插件图标与中文简介的斜杠命令,一键开合用量面板。该命令仅在 Web / 桌面 GUI 可用;headless / CLI 没有命令面。
作曲器占用按钮¶
在作曲器控件行(模型选择器与发送键之间)显示形如 ◔ 67% 的实时占用率,点击与 /context 同样开合面板。
用量面板(作曲器上方)¶
四块信息并排:
- 总览:三段圆环、
666.1K / 1M式容量与占比,以及轮数 · 步数 · tok/s。 - 占用图:36×5 方块阵列,按系统提示词、工具定义、对话消息三类着色,其余为自由空间。
- 本会话累计:未命中 / 命中 / 命中率 / 输出(provider 计费口径)。
- 图例:各色块对应数值。
容量与占用来自 contextPressure(换模型自动跟随,包内不硬编码窗口大小);三段构成来自 contextBreakdown;计费累计来自 tokenUsage;轮数/步数/速度来自 sessionStats。
余额药丸¶
作曲器控件行占用按钮右侧显示账户余额,前台每 10 秒刷新,悬停显示取样时间;未登录、无钱包或接口异常时有明确状态文案。余额经宿主 ctx.remote.account.getBalance 直连 Platform,宿主侧无缓存。
与官方底栏的关系¶
挂载后插件会隐藏作曲器下方整条官方底栏(原圆环与药丸),对应信息迁入面板与余额药丸。官方 ui-conversation 配置没有可用的「只藏底栏」开关;恢复官方底栏可将 client.js 内 HIDE_SHIPPED_DOCK 改为 false。该实现依赖 dock 的 CSS Module 命名后缀,DSH 大版本升级后建议复核一次选择器。
安装与启用¶
DSH 官方要求通过 plugin_manager 工具安装 bundle,不要手改 profile 的 package.json / cordis.patch.yml,也不要在 profile 内自行 pnpm install。
开发模式(文件夹链接,改 client.js 可热更):
plugin_manager { "action": "install_bundle", "target": "<本仓库的绝对路径>" }
发布模式(先打包 tarball,再安装独立副本):
powershell -File scripts\pack.ps1
生成 local-dsh-context-usage-<version>.tgz 后:
plugin_manager { "action": "install_bundle", "target": "<tgz 的绝对路径>" }
装好后执行 /context,或点击作曲器上的 ◔ xx% 按钮验证。完整验证、升级、卸载与迁移见仓库 INSTALL.md。
卸载示例:
plugin_manager { "action": "remove_bundle", "target": "@local/dsh-context-usage" }
并在 ~/.dsh/profiles/<profile>/cordis.patch.yml 中删除 plugin_manager 追加的 context-usage 条目。开发模式下应先卸载再删除本地文件夹。
典型用法¶
- 安装并启用 bundle 后打开任意 Web / 桌面会话。
- 在输入框输入
/context打开面板,或点击◔占用按钮。 - 对照总览与占用图判断系统、工具、消息各占多少;在「本会话累计」查看计费口径的命中与输出;需要时看总览第三行的轮数、步数与 tok/s。
- 作曲器右侧余额药丸用于快速确认账户状态;若显示接口异常,README 提到可能与药丸内硬编码的
CLIENT_VERSION(文档记载为0.2.0-rc.2)与平台要求不一致有关,可按仓库说明调整常量。
占用图的三段 token 数来自宿主上报,方块格数按「每 token 约 4 字符」估算,与真实 token 边界不完全等价;占用率本身(pressureTokens / contextWindow)为精确上报值。「本会话累计」与「占用图」数据源不同,不宜互相验算。
适用场景与注意¶
适合:经常在 DSH GUI 里跑长上下文、多工具对话,需要一屏看清窗口占用构成、会话计费累计与运行节奏(轮数/步数/速度)的开发者。
注意:
- 插件以当前 DSH 进程权限在浏览器侧运行;安装前请阅读源码与 MIT 许可证,确认符合你的环境策略。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系。
- 模型未上报上下文容量时,相关行按缺失处理。
- 包名
@local/dsh-context-usage表示仅装进本机 profile,不发布到 npm。
结尾¶
dsh-context-usage 把 DSH 散落的上下文与计费信息收成 /context 与一块零构建的客户端面板,并收回作曲器纵向空间。需要安装步骤与边界说明时,以 GitHub README 与 SkillHub 目录页 为准。