DSH 底部信息栏:一行显示服务商/模型、真实余额、高峰(琥珀)/空闲(绿)价与倒计时,以及本对话·今日·近一月·全部花费(真实落盘统计)。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:songoao25/dsh-bottom-info-bar
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
DeepSeek Harness 适配度最高的底部信息栏,也是原生统计栏的一体替换:单行展示实时余额与订阅额度(ChatGPT & OpenCode Go),以及服务商与模型、峰谷定价、真实花费,一眼看清。智能简洁——自动识别余额制/订阅制、严格单行、完整/简洁两态切换;不冲突——替换原生栏而非叠加,两种计费模式互斥绝不重叠;和原生一样——模型名/服务商名与模型切换器完全一致、布局与原生统计栏一致。安装一次,每次启动自动生效。
特性
- 双模式信息栏:自动检测当前服务商是订阅制(Codex / OpenCode Go)还是余额制,两种模式互斥替换、绝不叠加;余额制保持原样。
- 订阅额度显示(ChatGPT & OpenCode Go):当前服务商为订阅制时,信息栏显示订阅服务 + 模型(如
OpenCode Go · V4 Flash)、5小时 / 周 / 月 三窗口剩余额度(剩余 = 100 − 已用,数值加粗并带颜色:剩余 >20% 绿色,剩余 ≤20% 琥珀色),以及距重置倒计时(天级格式如距重置 1d 21h)。简洁模式优先显示时间最短的窗口(5小时优先;若无则降级到周/月),完整模式显示全部三个窗口。任一窗口剩余 ≤20% 时显示 ⚠ 预警。额度与倒计时严格来自同一窗口,确保信息匹配。额度来自两个订阅数据源:- ChatGPT / Codex:只读
~/.codex/auth.json令牌查询 ChatGPT 订阅额度(Plus / Pro / Team / Enterprise,5小时 / 周 / 月 三窗口)。绑定 / 令牌续期 / ChatGPT 模型路由不在本插件内——请安装配套插件 dsh-chatgpt-subscription(独立仓库)绑定 ChatGPT 账号;本插件只读令牌显示额度。令牌缺失/失效时显示「未绑定 / 重新绑定」引导,不报错。悬停 "⚠ 刷新失败" 可查看自动重试说明 - OpenCode Go:经
OPENCODE_GO_API_KEY(设置 → 模型)或 opencode CLI 登录(~/.local/share/opencode/auth.json的opencode-go条目)读取opencode.ai/zen/go/v1/usage额度;未配置时显示「未配置 OpenCode Go」引导,不报错 两个数据源都会显示各自的剩余额度与三窗口的重置时间,随时掌握额度何时恢复。
- ChatGPT / Codex:只读
- 一体替换:默认替换原生统计栏,原生信息(轮·步 / LLM 耗时 / 工具调用 / 缓存命中 / 输入输出 tokens)照常显示、格式与原生一致;首 token 平均 / tok/s 两个速度指标移入 hover 浮窗,单行一眼看完
- 服务商 + 具体模型:模型名/服务商名与模型切换器完全一致(读取 DSH 模型目录
name,如DeepSeek-V4-Flash),服务商名加粗;服务商名已是模型名前缀时只显示模型名(切换器样式) - 实时余额:DeepSeek
/user/balance真实 API,60 秒自动刷新;失败保留上次快照并提示,不中断使用 - 峰谷价 + 倒计时:高峰价(琥珀色加粗)/ 空闲价(绿色加粗)+ 距下次切换倒计时;无峰谷价的服务商自动隐藏
- 真实花费:逐请求记账(
llm/streamusage × 单价),按 本对话 / 今天 / 近一月 / 全部 精确聚合,记账数据落盘持久化(重启不丢失) - 数字加粗:余额、倒计时、花费与统计数字统一加粗,一目了然
- 完整 / 简洁:单击整条信息栏在两态间切换(防抖 + 严格两态)
- 余额预警:余额低于 ¥20 时显示 ⚠
环境要求
- 已安装 DeepSeek Harness(
dshCLI)并通过 Web 界面使用(dsh web) - 已安装 pnpm(
dsh plugin依赖)
安装
方式一:一键脚本(推荐)
git clone https://github.com/songoao25/dsh-bottom-info-bar.git
cd dsh-bottom-info-bar
./install.sh # 默认安装到 web profile;可用 --profile <name> 指定
方式二:dsh 插件命令
git clone https://github.com/songoao25/dsh-bottom-info-bar.git
dsh plugin --profile web add /path/to/dsh-bottom-info-bar/plugin
安装后需重启
dsh web:插件在宿主进程启动时组合加载,仅刷新页面不足以生效。
详细安装、故障排查与升级说明见 docs/INSTALL.md。
使用
- hover 查看详情:余额金额、输入/缓存/输出单价、下次价格切换时刻、本对话花费(今天 / 近一月 / 全部)
- 单击信息栏:切换 完整 / 简洁 两态
配置
- API Key:在 设置 → 模型 中配置 DeepSeek API Key(环境变量名
DEEPSEEK_API_KEY)。未配置时信息栏给出引导文案,其余功能不受影响。 - 模式:按当前服务商自动切换 余额制 / 订阅制(
codex/chatgpt/opencode-go/opencode/openai-codex→ 订阅制,其余 → 余额制);内部提供billingMode: 'auto' | 'balance' | 'subscription'开关(默认auto)可强制指定模式。 - 数据口径:高峰时段为北京时间 9:00–12:00、14:00–18:00;价格表内置 DeepSeek V4 系列与 OpenAI 参考价,未收录模型不参与花费统计。
- 订阅额度数据源:
- ChatGPT(Codex):安装配套插件 dsh-chatgpt-subscription(独立仓库)并绑定 ChatGPT 账号一次——该插件负责维护
~/.codex/auth.json(0600)中的令牌并注册 ChatGPT 模型。本信息栏只读该令牌查询额度(chatgpt.com/backend-api/wham/usage),不续期、不写回、不注入凭据;无令牌显示「未绑定 — 安装 dsh-chatgpt-subscription 授权」引导,令牌失效显示「重新绑定」引导。token 绝不打印 / 进日志 / 入库 - OpenCode Go:在 设置 → 模型 配置
OPENCODE_GO_API_KEY,或先用 opencode CLI 登录订阅(写入~/.local/share/opencode/auth.json的opencode-go条目)。未配置时显示"未配置 OpenCode Go"引导,不报错。
- ChatGPT(Codex):安装配套插件 dsh-chatgpt-subscription(独立仓库)并绑定 ChatGPT 账号一次——该插件负责维护
ChatGPT 订阅:已知限制
chatgpt.com后端为非公开接口,可能随时变更或失效;失效时自动降级(保留上次快照、自动重试),绝不崩溃- 可用模型以订阅计划为准,模型接入由配套插件 dsh-chatgpt-subscription 提供
数据存储(插件专属目录)
本插件的金额数据独立保存在自己的数据目录,与其他插件 / DSH 配置互不干扰:
~/.dsh/dsh-bottom-info-bar/
└── usage-records.json # 逐请求记账明细(重启不丢失)
- 位置:
~/.dsh/dsh-bottom-info-bar/(目录权限 0700、文件权限 0600,仅当前用户可读) - 覆盖:设置环境变量
DSH_BOTTOM_INFO_BAR_DATA_DIR可将整个数据目录改到别处(如移动硬盘 / 云同步目录) - 内容:每条记录为一次
llm/stream请求的用量(ts / model / provider / sessionId / input / cacheRead / cacheWrite / output),不含任何对话内容与 API Key - 上限:最多保留 3000 条(按写入顺序裁剪)
- 花费口径:按当前服务商币种聚合(DeepSeek 为 CNY,OpenAI 参考价为 USD),跨币种记录不混加;未收录模型不参与花费统计
- 清空:删除该文件即重置全部统计(卸载插件不会自动删除,属你的数据)
卸载
cd dsh-bottom-info-bar
./uninstall.sh # 仅卸载插件
# 或:dsh plugin --profile web remove dsh-bottom-info-bar
ChatGPT 订阅(绑定与令牌维护)由独立插件 dsh-chatgpt-subscription 负责,卸载本信息栏插件不会触碰它。
重启后原生统计栏自动恢复,插件无残留(记账数据文件保留于 ~/.dsh/dsh-bottom-info-bar/,如需重置统计请手动删除)。
常见问题
| 现象 | 处理 |
|---|---|
| 安装后刷新页面没看到信息栏 | 需重启 dsh web(宿主进程加载插件) |
| 余额显示「未配置 DEEPSEEK_API_KEY」 | 在 设置 → 模型 配置 DeepSeek Key |
| 余额显示「⚠ 刷新失败,显示上次快照」 | 网络/Key 临时故障,60s 后自动重试。将鼠标悬停在警告上可查看详细解释和重试时间 |
| 显示「未配置 OpenCode Go」 | 在 设置 → 模型 配置 OPENCODE_GO_API_KEY,或用 opencode CLI 登录 OpenCode Go |
| 如何绑定 ChatGPT 订阅? | 安装配套插件 dsh-chatgpt-subscription,在官方页面用 ChatGPT 账号授权——它维护的令牌即本信息栏额度显示所读取的令牌 |
| ChatGPT 额度显示异常/为空 | wham 接口未公开、可能变更;失败自动保留上次快照并 60s 重试。悬停 "⚠ 刷新失败" 可查看重试说明 |
| 简洁模式为什么显示不同的窗口? | 简洁模式优先显示时间最短的窗口(5小时 > 周 > 月),因为刷新最快。若 5 小时窗口不可用,则降级到周或月窗口。额度与倒计时严格来自同一窗口,确保信息匹配 |
| 为什么看不到模型的思考过程? | DSH 界面层不渲染模型的内部思考过程,属 DSH 自身界面限制,非插件问题 |
| 想改回原生统计栏 | 卸载本插件并重启 |
开发
- 源码:
plugin/src/host.js(host)+plugin/src/client-bundle.js(client) - 构建:
cd plugin && npm run build(生成lib/) - 测试:
node tests/run-all.mjs
许可证
MIT © 2026 songoao25
链接
同类插件
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 3133
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
omdsh-dev/DSH-better-sidebar★ 1477
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
ccch1mneyyy/dsh-TUI★ 1435
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/dsh-at-file★ 248
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
huiliyi37/dsh-tianshu-tui★ 184
DeepSeek Harness 的终端 UI(TUI)。
Nagi-ovo/dsh-visualize★ 141
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。