Skip to content

Releases: zander-zyx/claude-mini-hud

v1.2.0 — 多窗口隔离 + 主题适配 + 可点击链接

Choose a tag to compare

@zander-zyx zander-zyx released this 06 Jul 14:02

✨ New Features

1. 多窗口缓存隔离 (修复多窗口刷新不平滑)

  • 根因: stdin 和 ctx-pct 缓存是全局单文件, 多个 Claude Code 进程并发写互相覆盖
  • 修复: 缓存文件名加 simpleHash(transcript_path), 每个会话独立文件
  • 原子写 (tmp + rename), 读时 LRU 兜底处理窗口切换瞬间

2. 颜色阈值环境变量

  • 新增 CLAUDE_MINI_HUD_RED_PCT (默认 80) 和 CLAUDE_MINI_HUD_YELLOW_PCT (默认 60)
  • 替换 16 处硬编码阈值, 统一 >= 语义
  • 覆盖范围: Context 百分比 / 用量窗口 (5h/7d) / 月度百分比

3. 亮色/暗色主题适配

  • 自动检测终端背景色: CLAUDE_MINI_HUD_BG > COLORFGBG > TERM_BACKGROUND_COLOR
  • 亮背景用 90 系列高亮色码 (91/92/93...), 解决亮色终端 yellow/cyan 对比度差
  • 暗背景 (默认) 零变化

4. Context 行可点击链接 (OSC 8)

  • Context 行详情 (token 数/剩余) 包裹成 OSC 8 超链接, 指向 transcript 文件
  • 现代终端 (iTerm2/WezTerm/Kitty/Ghostty/IDE) Cmd/Ctrl+click 可打开
  • 传统终端显示纯文本, 无副作用

⏭️ Skipped

  • 鼠标悬停提示: StatusLine 架构下单向 stdout, 技术上不可行

Full Changelog: v1.1.1...v1.2.0

v1.1.1

Choose a tag to compare

@zander-zyx zander-zyx released this 05 Jul 04:22

🔧 Bug Fixes

  • fix(esm): 修复 ESM 环境下 require() 失效 — 项目是 ESM ("type": "module"),但 6 处用了 require('node:fs') 会抛 ReferenceError,被 try/catch 静默吞掉,导致三个核心功能完全失效:

    • tok/s 输出速率永远显示不出来
    • Context 填充速率 / ETA 永远算不出来
    • Token 峰值缓存(/compact 后防缩水)失效
    • Context 百分比防闪烁缓存失效
    • 副作用~/.claude-mini-hud/ 下无限累积 .tmp 垃圾文件

    修复方式:将 6 处 require 改为顶部 import { statSync, renameSync }

🧹 Chore

  • 删除 buildBalanceTag 死代码(所有分支恒返回 null)
  • README / README.en 路径版本号 1.0.01.1.1(24 处)
  • .gitignore 添加 nul(Windows 保留设备名误产生)
  • 版本号升级:1.1.01.1.1

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@zander-zyx zander-zyx released this 24 Jun 17:02

🎉 v1.1.0 — 全新功能大版本

本次更新新增 9 项功能,让状态栏从「只看上下文」升级为「全方位态势感知」:花费、Git、填满预测、告警、自适应布局。

✨ 新功能

💰 花费追踪 (CLAUDE_MINI_HUD_SHOW_COST=1)

读取 Claude Code 上报的 cost 字段,显示本次会话累计花费 + 耗时 + 花费增速 ($/h)。

注: 第三方代理 (智谱/GLM 等) 不上报真实计费,金额可能为 0,此时仅显示耗时。

🌿 Git 状态行 (CLAUDE_MINI_HUD_SHOW_GIT=1)

显示当前分支名 + dirty/干净标记 (/) + ahead/behind 计数。spawn git 命令带 500ms 文件缓存,避免每个刷新周期重复执行。

⏳ 上下文填满 ETA

根据当前上下文填充速率 (token/s),自动预测"还剩多久填满上下文窗口",追加到 Context 行末尾 (~2h40m 填满)。无需心算,进度感更直观。

⚠️ 阈值告警 (CLAUDE_MINI_HUD_WARN, 默认开启)

当上下文使用率 ≥85% 或任一用量窗口 ≥90% 时,输出一行高亮警告 (⚠ 上下文即将耗尽 88%)。设 WARN=0 可关闭。

📐 终端宽度自适应

进度条宽度现在根据终端列数 (COLUMNS / stdout.columns) 自动伸缩 (6-30 字符)。emoji 双宽字符 (心形/星星) 自动减半 slot 数,保持视觉等长。

🎛️ 布局配置 (CLAUDE_MINI_HUD_LAYOUT)

通过逗号分隔的行名自定义显示哪些行及顺序。可用行名: context,token,usage,alert,todo,tools,agent,cost,git,model

📝 紧凑单行模式 (CLAUDE_MINI_HUD_COMPACT=1)

把关键信息 (上下文% / 用量 / 花费 / 当前任务 / ETA) 用 分隔压成一行。

🔑 阿里 DashScope 用量查询

通过阿里云 BSS OpenAPI (QueryAccountBalance) 查询账户余额。需要设置 ALIYUN_AK_ID + ALIYUN_AK_SECRET (主账号 RAM 密钥,非 DASHSCOPE_API_KEY),使用 HMAC-SHA1 RPC 签名,零依赖。

🌐 4 语言 i18n 补全

新增 cost / git / alert / etaFull / ctxWarn 标签,中/英/minimal/ultra-minimal 四种模式全部支持。

🐛 修复

  • cost=0 时不再显示 $0.00 空花费 (第三方代理上报 0 值时仅显示耗时)

📦 技术细节

  • 零依赖原则不变: 阿里 BSS 签名用 Node 内置 crypto 实现 HMAC-SHA1
  • 性能保护: Git 查询带 500ms 缓存 + 2s 超时;花货行/ETA 用独立速率缓存
  • 向后兼容: 所有新行默认关闭或条件显示,现有配置无需修改

🧪 测试

43 个测试全部通过 (13 stdin + 30 usage)。