zenjibad/headroom-stats-plugin:DeepSeek Harness 的 Headroom 压节省仪表盘

前言

DeepSeek Harness (DSH) 采用插件化架构,旨在扩展 Web UI 的功能。Headroom 是一个压缩代理,用于减少 Token 消耗。本插件为 DSH Web UI 提供了一个实时的令牌和成本节省仪表盘。它将 Headroom 的统计信息集成到设置页面和聊天输入区,帮助开发者直观地监控压缩效果和成本。

功能概览

该插件主要包含以下能力:

  • 设置仪表盘:位于 Settings → Headroom Stats。提供生命周期 KPI(节省的令牌、压缩/缓存的成本、请求数),当前会话卡片,缓存与压缩的成本分割条,以及 Top 10 项目表格。同时处理加载、错误和陈旧状态。
  • Composer 统计行:在聊天输入框下方显示一行数据,格式为 Headroom: tokens saved · $ · %,刷新间隔为 5 秒。
  • 动态路径检测:不使用硬编码路径,支持跨机器使用。探测顺序为 HEADROOM_SAVINGS_PATH → HEADROOM_WORKSPACE_DIR → %USERPROFILE%\.headroom。
  • 5 秒实时刷新:使用单一共享轮询器从单个快照为设置页和统计行提供数据,避免重复读取文件。
  • 主题感知:使用 --dsw-alias-* 设计令牌,自动适配 DSH 的浅色/深色主题。
  • 存活重启:作为真实配置文件捆绑插件,通过 dsh.bundle 配置,随 DSH 启动自动加载,无需每次会话重新定义。

安装与启用

安装命令如下。该命令会将插件添加到指定 Web 配置文件中,并随配置文件持久化。

dsh plugin --profile web add git+https://github.com/Zenjibad/headroom-stats-plugin.git

安装后需要重启 DSH(或进行硬刷新)以加载插件。访问路径为 Settings → Headroom Stats。统计行会自动出现在聊天输入框下方。

工作原理与配置

  • 数据源:插件仅读取 Headroom 代理生成的文件 ~/.headroom/proxy_savings.,不进行任何写入操作。
  • 路径解析:插件启动时根据环境变量探测 Headroom 数据文件位置。如果未配置环境变量,则默认查找用户目录下的 .headroom 文件夹。
  • 刷新机制:使用固定的 5 秒轮询间隔(POLL_MS)从服务器拉取快照数据。
  • 无配置文件:插件不包含配置文件,也不持久化用户设置。所有逻辑基于当前环境变量和文件状态运行。

注意事项

  • 依赖运行环境:必须确保机器上运行着 Headroom 代理,且代理正在写入 proxy_savings. 文件。
  • 文件缺失处理:如果找不到 proxy_savings. 文件,设置页面会显示“unavailable + error”提示,统计行则会隐藏。
  • 仅读权限:出于安全考虑,插件仅具备读取 Headroom 数据文件的权限,不会修改磁盘文件或进行网络请求。
  • 移除方法:若需卸载,可执行 dsh plugin --profile web rm headroom-stats-plugin 并重启 DSH。

结语

该插件通过将 Headroom 的统计信息可视化,填补了 DSH 在压缩代理监控方面的空白。它不仅提供了详细的设置页仪表盘,还通过常驻统计行提供了即时的会话反馈,适合需要在开发过程中频繁关注 Token 和成本节省的开发者。

仓库地址:GitHub | 插件目录

羽毛球分组比赛记分
小程序二维码

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

小夜