Releases: Meteorkid/statux
Releases · Meteorkid/statux
v0.4.3
Full Changelog: v0.4.1...v0.4.3
v0.4.1 - Context Widget 修复 + 渲染缓存优化
Context Widget 修复
- context-length 不显示: StatusJSON 为 0 时正确回退到 JSONL 数据
- context-bar 缓存隔离: 每个会话独立缓存,不同窗口不再显示相同内容
- ctx 百分比稳定: 缓存上次的百分比值,避免忽高忽低
- 空数据过滤: StatusJSON 为空时不显示 ctx,避免显示 0%
渲染缓存优化
- 按会话隔离: render-cache.txt 改为 render-{sessionId}.txt,解决多窗口显示相同内容
- 上下文压缩提醒: 超过 85% 时显示
⚠️ /compact 警告
自动压缩监控
- auto-compact.sh: 后台监控上下文使用率,超阈值自动提醒
- LaunchAgent 支持: 开机自动启动监控
- 路径修复: 正确读取 per-session 调试文件
代码质量
- inferContextPct 纯函数化: 移除副作用,缓存写入移到 context-bar render
- formatTokens 统一: 消除 5 处重复定义,统一到 format-utils.ts
- 颜色阈值统一: 三个 context widget 使用一致的颜色阈值
- 压缩阈值统一: 统一为 85%
- hideWhenZero 修复: compaction widget 逻辑修正
- TypeScript 类型修复: buildCodexRenderContext 参数类型与 WidgetRequirements 一致
Full Changelog: v0.4.0...v0.4.1
v0.4.0 — 数据准确性与 UX 全面优化
Changelog
v0.4.0 (2026-06-03)
重大修复
- history 增量计费: 修复 cost 随时间持续增长的问题(cache_read 累积导致)
- 僵尸进程清理: 杀死 30+ 个旧的
--watch僵尸进程,加 PID 锁防止复发 - today 自动清零: 按最后活动时间(
ended_at)归天,跨天会话成本自动归入活动当天 - session 去重: 同模型+同 token 数据的会话自动合并,防止重复计费
UX 优化
- doctor 全面检查: 检查
settings.local.json、bun 可用性、refreshInterval - 首次运行引导: 无配置时输出提示
- 默认 2 行布局: 从 4 行精简为 2 行,减少视觉噪音
- 隐藏 label:none: 无数据 widget 不再显示
label:none statux widgets命令: 列出全部 72 个 widget- 配置损坏警告: 解析失败时输出黄色提示
数据准确性
- context widget 回退: 当 StatusJSON 无
used_percentage时,从 token 数自行计算 - token 显示含 cache: tokens widget 显示 cache read tokens,与费用计算一致
- 速度指标拆分: input/output/total 三个方向分别计算
- cost-rate 统一: 与 cost widget 使用相同的双源取大逻辑
- context bar 超 100% 保护: 百分比 clamp 到 0-100,防止崩溃
性能
- JSONL mtime 缓存: session-name/skills/tool-calls/compaction 不再每次 render 读整个文件
- vm_stat 缓存: free-memory widget 3 秒 TTL 缓存
- custom-command 缓存: 5 秒 TTL,避免每次 render 执行 shell
代码质量
- 提取
format-utils.ts共享工具函数,消除 4 处重复定义 - 提取
computeSessionCost()共享费用计算逻辑 path.dirname替代手写实现
v0.3.0
- 72 个 widget 支持
- Claude Code + Codex 双工具支持
- Powerline 渲染主题
- TUI 配置编辑器
- 会话历史 SQLite 存储
- LiteLLM 2200+ 模型定价
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Full Changelog: v0.2.0...v0.3.0
v0.2.0 — Cost 优化 + 模型定价全面更新
v0.2.0 (2026-05-04)
改进
- Cost widget token 数据来源优化:优先使用 statusLine 的
context_window.total_input_tokens/total_output_tokens(累计值),回退到 JSONL tokenMetrics,最终回退到total_cost_usd - Git 预采集优化:新增
collectGitInfo()函数,17 个 git widget 从各自 spawn 子进程改为共享预采集结果,减少 10+ 次 execSync 调用 - JSONL 文件缓存:添加基于 mtime 的
parseCache,避免每次 render 重复读取解析 - 模型定价表全面更新:覆盖 DeepSeek V4/V3.2、Kimi K2.6/K2 Thinking、MiMo V2.5/V2 Flash 等最新模型,共 40+ 模型 ID
- free-memory 改进:对齐 macOS 活动监视器内存计算方式(App Memory + Wired + Compressor)
- 运行稳定性保障:statusLine 命令使用 bun 绝对路径,重启后不依赖 PATH
修复
- cost 始终 ~$0.01:
context_window.current_usage是单轮 token 数(很小),改用total_input_tokens/total_output_tokens累计值计算 - 修复
free-memory.ts中freem()→freemem()拼写错误(Linux 回退路径) - thinking-effort 添加
label: "think",修复无数据时双分隔符显示问题 - rate-limit-timer 时间单位修正:
resets_at是秒级时间戳,需乘以 1000
文档
docs/cost-pricing.md补充 token 数据来源优先级、Mem 更新机制、运行稳定性说明
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Full Changelog: https://github.com/Meteorkid/statux/commits/v0.1.0