@bananiceee/dsh-status-bar
A configurable 17-segment session status bar for the dsh composer dock with live TPS, per-model cost estimation, and a usage & cost dialog.
Install
dsh plugin --profile web add @bananiceee/dsh-status-bar
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-status-bar · 一眼看清你的 agent 正在做什么
✅ 已适配 DSH 桌面版 —— DSH 0.2.1-rc.2。
0.2.x版本线面向桌面版运行时:请把它安装到desktopprofile(应用内「插件」页,或dsh plugin --profile desktop add …)。
已停止维护的0.1.x版本线面向旧的0.1.x运行时,无法在 0.2.x 桌面版上加载。
     
[English](README.md) · [中文](README.zh.md)
Overview(概览)
问题所在: DSH 原生底部状态栏是一条超长的固定统计行——内容一多就会溢出,窗口一窄还会有部分内容被截断。你看不到当前模型、上下文窗口占用多少、Token 流式生成有多快、这个会话花了多少钱,也没法按自己的工作习惯排列这些信息。
适合谁: 每天使用 DSH 桌面版的用户——希望不离开输入栏就能掌握会话实时状态,又不想额外开一个监视器的重度用户与团队。
核心能力:
- 桌面版原生,而非外挂 —— 针对 DSH 0.2 桌面版运行时重建(
@deepseek-ai/dsh-*@0.2.0-rc.2):会话事实来自桌面版自身的 Chat / 会话 / 输入框服务,后台任务来自其任务服务,实时吞吐数字来自其自身的流式事件窗口。没有兼容垫片,也不保留旧版兼容路径。 - 接近原生体验,且完全由你掌控 —— 16 个可开关的信息段(上下文圆环固定在底栏右侧,其余 15 个可排序):状态点、模型、标题、工作区、轮次与步数、模型/工具耗时、TTFT 与解码速度、缓存命中率、Token、上下文占用、实时 TPS、会话时长、费用估算、任务、队列、错误
- 实时吞吐(TPS) —— 底栏在浏览器内直接折叠本会话自己的实时流,流式生成期间速度随分块逐块刷新,无论流以多细的粒度送达都能反映真实生成速率;无需轮询、无需 host 往返,也无需外部 live-stats 插件
- 费用估算 + 用户维护的模型价格手册 —— 每个模型独立的价格与峰/谷时段,每条消息/每一步都按实际产出它的模型计价(输入、缓存命中、缓存写入、输出四类分别按该步发生时刻取价);「用量与费用」弹窗内置堆叠费用趋势图(日 / 周 / 月)、分页的逐步用量历史(含独立的缓存命中列)与总成本展示
- 跟得上 DeepSeek 反复调整的峰谷规则 —— 不再是把时段写死成一组
HH:MM:改为「工作日 / 周末 / 法定节假日」三类日判定,节假日与调休日历一键拉取并缓存在本地、可手动增删例外日期;DeepSeek 之后无论是改时段、改周末规则、还是新增节假日与调休安排,你只需刷新一次日历或改一个时段,不必重配整个价格表 - 零配置开箱即用 —— 13 个信息段默认开启,其余勾选即得
- 多项实用选项 —— 多行换行显示(内容再多也不会被截断省略)、逐模型费用估算(支持峰谷计价)、币种切换(CNY / USD)、齿轮快捷开关菜单,以及带一键重置的专属设置页
- 官方上下文圆环内置 —— 把输入框原生的上下文圆环做进底栏:由
contextPressure驱动的右侧圆环 + 百分比,以及原生的点击展开面板(系统提示词 / 工具 / 对话构成,来自contextBreakdown)。关闭上下文段即可把圆环交还给 DSH 原生组件 - 24 小时制时段输入 —— 峰谷时段用 24 小时制文本框(
09:00),不再受浏览器区域设置影响显示成 AM/PM - 干净的接管机制,可随时切回原生 —— 插件底栏以低优先级接管内置的两个输入框统计条目(
activity与usage):加载期间由其渲染,卸载后两个内置控件原样恢复。设置页与齿轮菜单里的使用原生底栏开关会立即释放两个接管,无需重启即可恢复 DSH 自带底栏与上下文圆环。插件内置的圆环会替代原生圆环;关闭上下文段或切回原生模式时,原生圆环保留 - 双语界面 —— 客户端文案内置英文与中文,遵循 DSH locale 体系
Screenshots(界面预览)
以接近原生的底栏替换内置统计行,实时呈现会话状态(状态 · 模型 · 轮次 · 上下文 · 缓存 · TPS · 会话时长 · 任务 · 队列 · 错误),并由专属设置页统一管理——含逐模型价格手册与节假日日历(支持峰谷计价):
随时开关与排序(信息段列表) · 用量与费用弹窗(趋势图 · 统计卡 · 历史)
 · 
Compatibility(兼容性)
项目 · 说明
DSH 桌面版 · 0.2.1-rc.2——本版本线适配的目标;最后验证于 2026-10-19
插件版本线 · 0.2.x 面向桌面版运行时。0.1.x 面向已停止维护的 0.1.x 运行时,无法在 0.2.x 桌面版上加载。
DSH profile · 打包桌面应用使用 desktop · 自建 dsh web 使用 web · CLI 运行时使用 headless
运行环境 · Node ≥ 22(host)+ 现代浏览器(client);无外部服务依赖
共存关系 · 与任何其他状态栏/TPS 插件互不干扰:实时速率在客户端折叠本会话自己的事件窗口,因此本插件不注册任何共享投影键——任何对等插件的键名、stateVersion 或注册先后都无法顶掉底栏的 TPS
桌面版移植改了什么(0.2.0)
DSH 0.2.0 移除了 @deepseek-ai/dsh-client-runtime,并把旧 Conversation 快照承载的数据拆到了不同位置。本版本线即针对该结构完成移植:
- 会话数据搬家。 消息节点、轮次时间、流式 partial 与运行中的工具调用现在来自 Chat 目标(
useChat),生命周期事实(running、lastAgentError)来自会话快照(useSession),排队消息数来自输入框收件箱(useInput)。 - 后台任务来自一个已被移除的字段。
SessionListState.jobsBySession已不存在;任务段现在读取客户端任务花名册(ctx.jobs),与桌面版自身的会话头部任务列表同源。 - 实时 TPS 移入浏览器。 0.2.0 不再有持久化的
assistant/chunk事件,原先提供速率的 host 投影不再收到输入。底栏改为在客户端折叠本会话自己的实时流——估算器不变,测速改用滑动窗口,不再依赖流的送达粒度。 agent preset段已下线(SessionSummary.agentPreset不再存在;0.2.0 仅把预设暴露给新会话的 Hero 芯片)。该段本来就是默认关闭;已保存的配置中若仍列有它,会在加载时被过滤掉。- 构建不再需要 DSH 源码检出。 插件编译所依赖的 DSH 包以
0.2.0-rc.2精确钉为 devDependencies;pnpm install && pnpm run build就是全部。
0.2.1 改了什么
DSH 0.2.1 把输入框统计拆成了两个 conversation.composer.dock 条目——activity(order 0)与 usage(order 1)。原来单一的 stats id 不再能替换任何内置条目,于是底栏与内置胶囊并排重复渲染。本版本同时接管两个 id,并把原生风格的上下文圆环直接渲染在底栏右侧;圆环显示期间隐藏原生组件。
Install(安装)
下面每条安装路径都作用于一个 DSH profile。打包的桌面版应用运行名为 desktop 的 profile;自建的 dsh web 通常运行 web。
桌面版应用 —— 应用内安装(最简单)
1. 打开左侧边栏的 「插件」 页面。
2. 点击 「添加插件」,填入包名 @bananiceee/dsh-status-bar,然后点 「安装」 确认。
3. 安装完成后点击 「立即启用」。
4. 若对话框提示「更改将在下次启动生效」,重启应用即可。
在应用内安装与用终端命令安装写入的是同一个 profile,因此下面两条路径可以互换。
桌面版应用 —— 终端安装
# 桌面版线的最新发布版 dsh plugin --profile desktop add @bananiceee/dsh-status-bar # 或钉住确切版本 dsh plugin --profile desktop add @bananiceee/dsh-status-bar@0.3.1
自建 Web / CLI
dsh plugin --profile web add @bananiceee/dsh-status-bar@0.3.1
其他来源
# 从本地目录装配(profile 级) dsh plugin --profile desktop add ../dsh-status-bar # 从 GitHub 仓库安装 dsh plugin --profile desktop add github:Starlight-bananice/dsh-status-bar # 或安装固定版本的 release tgz —— 不可变且带版本号(随每个 GitHub # release 附带;适合不便直连 git 仓库的场景) dsh plugin --profile desktop add https://github.com/Starlight-bananice/dsh-status-bar/releases/download/v0.3.1/bananiceee-dsh-status-bar-0.3.1.tgz
提示: pnpm 11 对刚发布的包强制 24 小时minimumReleaseAge——若某个当天发布的版本被拒绝,在dsh plugin add命令后追加--config.minimumReleaseAge=0。
提示: pnpm 从codeload.github.com获取 GitHub 上的包,且不读取你的 git 代理配置。若安装卡住或因网络错误失败(如error (23)),请先导出 HTTP(S) 代理再重试:export HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890。
自 v0.1.5 起: 构建产物 lib/ 已随仓库提交——git 安装后开箱即用,无需任何构建步骤。添加插件、重启应用,即可使用。
升级
# npm 安装:直接更新到 registry 上的最新版本 dsh plugin --profile desktop update @bananiceee/dsh-status-bar # 或重新 add 钉住的版本(应用内页面暂不支持自动更新: # 请先卸载,再安装新版本) dsh plugin --profile desktop add @bananiceee/dsh-status-bar@0.3.1 …(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::8,最后更新 2026-10-19