可拖拽环形表盘,实时显示模型输出速度(tok/s),点击展开每步详情(精确速度、TTFT、缓存命中率、缓存读写、推理/输入 token、模型、累计 token)。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:gbeta/dsh-token-speed
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH 客户端插件:固定在 Web GUI 右下角的可拖拽环形表盘,实时显示模型输出速度(tok/s),点击展开详情面板。
纯浏览器端插件,不修改任何宿主状态,只读订阅会话数据。
功能
- 实时速度:生成期间,表盘指针 + 中央数字随流式输出实时爬升(按输出文本量 × 实测字符/token 比率估算)。
- 每步精确校准:每一步结束后,用 provider 上报的
usage.outputTokens和timing(firstToken → completed)计算真实 tok/s,并据此校准字符/token 比率。 - 详情面板(点击表盘展开):
- 实时速度(估算)
- 上一步(精确)
- 上一步输出(tokens)
- 上一步 TTFT
- 累计输出(当前加载窗口内)
- 状态指示:生成中 / 工具执行中 / 空闲。
- 可拖拽:按住表盘拖动调整位置,位置记忆在
localStorage。
安装
插件以 link: 依赖安装进 DSH profile(以 desktop profile 为例):
// ~/.dsh/profiles/desktop/package.json
{
"dependencies": {
"dsh-token-speed": "link:/Users/<you>/Documents/DSH/dsh-token-speed"
}
}
cd ~/.dsh/profiles/desktop
pnpm install
cordis.patch.yml 里的 insert 行由 profile 的 HMR watcher 热加载;改 lib/client.js 源码后整页刷新(Cmd+R)即可生效。
卸载
从 profile 的 package.json 删除 dsh-token-speed 依赖,删除 cordis.patch.yml 里对应的 insert 行,然后 pnpm install。不留任何残留。
结构
dsh-token-speed/
├── package.json # 插件清单(name/version/exports/dsh 配置)
├── cordis.patch.yml # 挂载补丁(声明插件 id)
├── lib/
│ ├── index.js # host 侧入口(no-op,插件纯浏览器端)
│ └── client.js # 浏览器端主体:UI + 速度采样器 + 数据订阅
└── README.md
数据源(关键架构)
root 作用域的 slot 插件不能读 session snapshot(它只有 .subagent/.queue/.value,没有 .partial/.nodes),也不能用 session 作用域的 useChat/useProjection。
正确入口(与 host Chat 视图同一份数据):
const target = ctx.uiConversation.binding(sessionId).target('chat');
target.getSnapshot(); // { legacy: { partial, nodes, runningCalls, ... } }
target.subscribe(fn); // 返回 unsubscribe
legacy.partial— 进行中的步骤{turn, step, blocks},blocks 为{kind:'text'|'reasoning', text},随流式增长 → 实时速度来源。legacy.nodes— 已结算节点;assistant 节点带usage.outputTokens+timing{stepStartTime, firstTokenTime, completedTime}→ 精确 tok/s 来源。legacy.runningCalls非空 = 工具执行中。
useSessions 是全局 hook,root/session 作用域都可用,用来取当前会话 id。
依赖服务
slots— 槽位注册(shell.overlay)uiConversation— 会话聊天数据(dsh-client-ui-conversation)
package.json 的 dsh.client.inject 声明到达顺序依赖:
@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-ui-slots、@deepseek-ai/dsh-client-ui-conversation。
License
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8978
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8978
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 5292
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
ccch1mneyyy/dsh-TUI★ 4819
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 4290
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1478
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。