mcpField
Z
zenmux-statusline

zenmux-statusline

github.com/zenmuxAgent 工作流20342 次安装7 周前更新
代码仓库

关于 zenmux-statusline

zenmux-statusline 是用于 Claude Code 的状态栏技能,在会话信息旁显示 ZenMux 账户数据。缺少管理密钥时仍显示会话信息,并提示如何配置。

主要功能

  1. 01显示模型、目录和 Git 分支
  2. 02显示上下文使用情况
  3. 03显示提示词缓存读写量
  4. 04显示 ZenMux 套餐与额度
  5. 05显示余额及掩码密钥

适用场景

  1. 01在 Claude Code 中查看会话状态
  2. 02查看 ZenMux 的套餐和额度
  3. 03在缺少密钥时获取配置提示

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zenmux/skills --skill zenmux-statusline

安装后在 Claude Code 中输入/zenmux-statusline确认已加载。

附带文件scripts/zenmux-statusline.sh

详细介绍

zenmux-statusline

你正在安装一个 Claude Code 状态栏,用于在显示标准会话数据的同时,实时展示 ZenMux 账户信息。

状态栏脚本位于此技能目录下的 scripts/zenmux-statusline.sh。它会显示两行内容:

Line 1: [model-slug] 📁 dir | 🌿 branch | █████░░░░░ 58% ctx | 💾 r72.0k w5.0k
Line 2: ⚡ Ultra | 🔑 Sub sk-ss-...6e6 | 5h █░░░░ 19% · 7d █░░░░ 24% | 💳 Bal $492.74

如果未设置 ZENMUX_MANAGEMENT_KEY,第 2 行会显示设置提示:

Line 2: ⚙ Set ZENMUX_MANAGEMENT_KEY to display account data → zenmux.ai/platform/management

请按顺序执行以下步骤。


第 1 步 — 验证前置条件

1a. 检查是否已安装 curl 和 jq
command -v curl && command -v jq

如果缺少其中任一项,请告知用户安装它(macOS 上运行 brew install jq,或使用相应的软件包管理器)。

1b. 检查 Management API Key
echo "${ZENMUX_MANAGEMENT_KEY:+set}"
  • 如果输出为 set,请继续执行第 2 步。

  • 如果输出为空,请告知用户:

    状态栏需要 ZENMUX_MANAGEMENT_KEY 才能获取账户数据。 请前往 https://zenmux.ai/platform/management 创建一个,然后将其添加到 shell 配置文件中:

    export ZENMUX_MANAGEMENT_KEY="sk-mg-v1-..."
    

    如果没有此密钥,状态栏仍会显示会话信息(模型、git、剩余上下文),并在第 2 行显示设置提示。

用户可以不配置密钥继续操作——脚本会优雅地降级,并显示如何配置密钥的提示。


第 2 步 — 安装状态栏脚本

确定所捆绑脚本的绝对路径。它与此 SKILL.md 位于同一目录:

SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
# Falls back to the skill directory path from the skills install location

将其复制到 Claude Code 配置目录:

cp "SKILL_SCRIPTS_DIR/zenmux-statusline.sh" ~/.claude/zenmux-statusline.sh
chmod +x ~/.claude/zenmux-statusline.sh

其中 SKILL_SCRIPTS_DIR 是此技能中的 scripts/ 目录。请使用实际解析出的路径。

如果用户已有 ~/.claude/statusline*.sh 文件,请告知他们该文件将被替换,并在覆盖前征得确认。


第 3 步 — 配置 Claude Code 设置

读取用户当前的设置:

cat ~/.claude/settings.json

将 statusLine 字段更新为指向新脚本。保留所有其他设置。目标配置如下:

{
  "statusLine": {
    "type": "command",
    "command": "sh ~/.claude/zenmux-statusline.sh",
    "refreshInterval": 120
  }
}

refreshInterval: 120 会每隔 120 秒重新运行脚本,让 ZenMux 数据即使在空闲期间也能刷新,与缓存 TTL 保持一致。

使用 Edit 工具更新设置文件。请注意保留现有 JSON 结构。


第 4 步 — 验证安装

使用模拟输入测试脚本,确认其运行时没有错误:

echo '{"model":{"id":"test-model"},"workspace":{"current_dir":"'$(pwd)'"},"context_window":{"used_percentage":0},"session_id":"verify-install"}' | sh ~/.claude/zenmux-statusline.sh

如果有输出(至少一行),则说明安装成功。

请告知用户:

状态栏已安装。用户下次交互时,它会显示在 Claude Code 底部。

显示内容:

  • 第 1 行:模型 slug、目录、git 分支、上下文使用量条、上次调用的提示词缓存读写量
  • 第 2 行:ZenMux 套餐等级、API 密钥类型及脱敏密钥、5 小时和 7 天配额使用量及彩色进度条、PAYG 钱包余额

颜色:

  • 上下文使用量:绿色(<70%)、黄色(70–89%)、红色(90%+)
  • 配额使用量:绿色(<70%)、黄色(70–89%)、红色(90%+)

**缓存:**ZenMux API 数据会缓存 120 秒,以确保状态栏响应迅速。Git 数据会缓存 5 秒。

之后如需移除,请从 ~/.claude/settings.json 中删除 statusLine 字段。


沟通指南

  • 使用与用户相同的语言回复(中文 → 中文,英文 → 英文)。
  • 如果任何步骤失败,请清楚地诊断错误,并在继续前提出解决方法。
  • 未向用户展示将要更改的内容前,不要修改 ~/.claude/settings.json。

评论

支持 Markdown