dsh-tokstats:DeepSeek Harness 的 token 汇总插件集

前言

DeepSeek Harness(DSH)的官方 ContextMeter 只给出上下文长度,没告诉你正在输入框里敲的这段草稿还要额外花掉多少 token,也没有跨会话的用量分布与提示词整理工具。dsh-tokstats 是一个个人维护的 DSH 插件集,提供 tokprev、tokstats、promptopt 三个能力,让 token 花在哪里一目了然,同时把口语化的草稿整理成结构化提示词。

插件概览

  • 名称:dsh-tokstats
  • 维护者:PlusQi
  • 定位:DSH 的 token 汇总插件集,提供发送前 token 预告、跨会话用量统计与草稿结构化整理
  • 许可证:MIT

三大功能

tokprev:发送前,先算这一轮要花多少

官方 ContextMeter 只给出当前上下文长度,没说正在输入的草稿会额外消耗多少。tokprev 在 Composer 底部显示一行灰色小字,边打字边跳,给出下一轮输入的估算。

显示内容包括:

  • 下一轮输入 = 当前上下文 + 草稿估算
  • 草稿:本地按字符数估算,不发起请求
  • 输出预估:最近几轮真实输出的区间,只统计已结束的轮次;新会话或当前轮未跑完时显示 -;正在跑时整行隐藏
  • 没有真实请求锚点时数字前带 *,表示纯估算

tokstats:谁偷走了我的 token

进入侧栏「Token 用量统计」面板,可以看到多张指标卡与多维度分布。

主要区块:

  • 四张指标卡:所选区间的用量与缓存节省情况,跟随档位切换
  • 每日调用量:哪天用得凶,窗口跟随档位(最短 7 天),超 30 列按整日合并
  • 近 12 周用量:哪些天在用、哪些天断档,点某天可单独查看
  • 上下文长度分布:按计费输入分 6 桶:[0,8K) / [8K,32K) / [32K,128K) / [128K,256K) / [256K,512K) / [512K,∞)
  • 趋势(按周):本周比上周多还是少,每周一条比例条,本周标「进行中」并置灰
  • 模型排行:按 provider/model 组合计,拿不到路由的归「未标注」排最后
  • 工作区排行:用量集中在哪个项目,可下拉切到单个工作区,子会话归并到根工作区
  • 提示词整理使用情况:promptopt 的发起 / 采纳 / 放弃计数与采纳率

时间窗五档:当日 / 近 7 天 / 本月 / 近 30 天 / 全部,默认当日。档位决定四张指标卡与分布 / 排行 / 周趋势的口径;热力图恒为近 12 周,日柱图的窗口与档位一致但最短 7 天。

promptopt:把口语草稿摆整齐

把「那个登录报错你帮我看看 别动其他文件」这类口语草稿,保真重排成模型更容易解析的结构化输入,不扩写成执行计划,也不补原文没有的事实、路径、约束、步骤。

使用方式:

  • 在 Composer 工具行右端找到星标按钮(模型选择与发送按钮之间)
  • 点击按钮 → 弹层里显示原文与整理结果上下对照
  • 满意后点「采纳」,才会写回输入框
  • 按钮置灰的情况:草稿为空,或含引用 chip、图片附件、/ 命令——写回是全量替换,重排会破坏引用坐标与图片归属
  • 采纳以点击那一刻的草稿快照为准,会覆盖等待期间的编辑,没有二次确认
  • 关闭、Esc、点弹层外都算取消,会中止这次调用

语言规则:

  • 界面文案跟随 DSH 的「设置 → 常规 → Language」
  • promptopt 的整理结果跟随草稿的语言,不跟随界面语言

安装与启用

前置要求:Node.js、git、pnpm。

安装命令(以 profile web 为例):

npm i -g pnpm
npx @deepseek-ai/dsh plugin --profile web add github:PlusQi/dsh-tokstats

装完必须重启宿主进程(profile 组合只在启动时生效),再刷新页面。插件没有配置文件、没有 API key、没有构建步骤。

固定版本安装:

npx @deepseek-ai/dsh plugin --profile web add github:PlusQi/dsh-tokstats#v0.8.0

本机开发:

npx @deepseek-ai/dsh plugin --profile web add link:D:\path\to\dsh-tokstats

装完后,检查这三处:

  1. 侧栏多了一项「Token 用量统计」,点进去有四张指标卡
  2. Composer 底部多了一行灰色小字,打几个字,「草稿」那个数会跟着变
  3. 工具行右端多了一个星标按钮(模型选择与发送按钮之间),打了草稿后可用

典型用法

  • 使用 tokprev:在输入框打字时,观察 Composer 底部的灰色小字,了解下一轮输入与输出预估的大致区间
  • 使用 tokstats:切换时间档位(当日 / 近 7 天 / 本月 / 近 30 天 / 全部),查看不同维度下的用量分布与排行
  • 使用 promptopt:在发送前,点击星标按钮,对比整理结果,满意后再点采纳

适用场景与注意

  • 适合需要精细控制 token 消耗、关注模型与工作区用量的 DSH 用户
  • 插件以当前 DSH 进程的权限运行,安装前建议查看源码与许可证
  • 如遇 UI 不见,按 README「出问题了」章节顺序排查宿主版本、是否重启、profile 与 DSH_HOME、locale 服务

更新与卸载

更新:

npx @deepseek-ai/dsh plugin --profile web update dsh-tokstats

卸载整个包:

npx @deepseek-ai/dsh plugin --profile web remove dsh-tokstats

临时关闭某个功能(如 tokprev),在 $DSH_HOME/profiles/<profile>/cordis.patch.yml 里添加:

- id: tokprev
  disabled: true

重启生效。注意关 tokprev 不会让它从页面上消失——只要包里还有别的行活着,浏览器侧整包仍在加载;要真正按插件独立开关,只能拆成独立包。

生态背景

DSH 的理念是「一切皆插件」。dsh-tokstats 是社区维护的插件,目录页与 GitHub 链接如下:

  • 目录页:https://www.skillhub.cn/plugins/PlusQi/dsh-tokstats
  • GitHub:https://github.com/PlusQi/dsh-tokstats
羽毛球分组比赛记分
小程序二维码

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

小夜