Skip to content

自定义状态栏 (Status Line Customization)

切换标准的状态栏组件、定义自定义脚本配置,并格式化动态 JSON 状态数据负载。

概述 (Overview)

状态栏位于 TUI 提示面板的底部。它提供关于活跃 Agent 周期、工作空间环境、上下文 Token 窗口使用情况以及后台执行任务的一目了然的上下文。

交互式切换 (Interactive Toggling)

  1. 在提示框中输入 /statusline 并按 Enter
  2. 交互式的“状态选择器面板 (Status Picker Panel)”浮层将被打开。
  3. 使用 ↑/↓ 开启或关闭特定的指标元素(例如:活跃模型、任务计数器、上下文百分比)。
  4. Enter 提交您的选择并退出。按 Esc 取消。

自定义状态栏脚本 (Custom Status Line Scripting)

对于高级终端布局或自定义状态栏显示,您可以将活跃的 Agent 元数据路由到自定义脚本中。

配置

statusLine 配置块添加到您的 ~/.gemini/antigravity-cli/settings.json 文件中:

json
{
  "statusLine": {
    "type": "command",
    "command": "~/.gemini/antigravity-cli/statusline.sh"
  }
}

每当 Agent 状态发生变化时,TUI 都会执行您的命令脚本,将详细的状态 JSON 数据负载直接通过管道传输到该脚本的 stdin(标准输入),从 stdout(标准输出)读取您格式化后的字符串,并在提示符的状态栏中渲染结果。完全支持 ANSI 颜色代码。

可用的 JSON 字段

传输到您的脚本中的 JSON 数据负载包含以下顶级字段:

字段 (Field)类型 (Type)描述 (Description)
cwdstring当前工作目录
conversation_idstring当前对话 ID
modelobject活跃模型的 iddisplay_name
productstring应用程序名称(例如,antigravity-cli
workspaceobjectcurrent_dirproject_dir 路径
versionstringCLI 版本字符串
plan_tierstring已认证用户的订阅级别
emailstring已认证用户的 LDAP/邮箱
agentobject活跃的 Agent 配置文件名称
context_windowobjecttotal_input_tokens, total_output_tokens, context_window_size, used_percentage, remaining_percentage, current_usage
agent_statestring当前状态:idle (空闲), thinking (思考), working (工作), tool_use (工具调用), initializing (初始化)
vcsobject版本控制信息:type (git/jj/fig), branch (分支), client (客户端), dirty (是否有未提交修改)
sandboxobject沙箱配置:enabled (是否启用), allow_network (是否允许网络访问)
subagentsarray活跃的子 Agent 会话列表,包含 name, role, status
artifactsarray已生成的产物列表,包含 uri, status, type
pending_input_countint队列中待处理的用户消息数量
background_tasksarray运行中的任务列表,包含 name, status, index
tool_confirmation_pendingbool是否正在显示工具确认对话框
terminal_widthint交互式终端的实时宽度

JSON 数据负载示例

以下是传输到您的状态栏脚本的典型且经过脱敏的 JSON 数据负载:

json
{
  "cwd": "/home/user/my-project",
  "conversation_id": "12345678-abcd-ef01-2345-6789abcdef01",
  "model": {
    "id": "Gemini Next",
    "display_name": "Gemini Next"
  },
  "workspace": {
    "current_dir": "/home/user/my-project",
    "project_dir": "file:///home/user/my-project"
  },
  "version": "2026.04.15",
  "context_window": {
    "total_input_tokens": 88244,
    "total_output_tokens": 61074,
    "context_window_size": 1048576,
    "used_percentage": 8.415603637695312,
    "remaining_percentage": 91.58439636230469,
    "current_usage": {
      "input_tokens": 63382,
      "output_tokens": 346,
      "cache_creation_input_tokens": 0,
      "cache_read_input_tokens": 20857
    }
  },
  "product": "antigravity-cli",
  "agent_state": "idle",
  "vcs": {
    "type": "git",
    "client": "my-project",
    "branch": "dev",
    "dirty": false
  },
  "sandbox": {
    "enabled": false
  },
  "plan_tier": "Pro",
  "email": "developer@email.com",
  "terminal_width": 111
}

示例脚本

您可以从 GitHub 上的官方 statusline.sh 示例下载一个完整且具有布局自适应特性的脚本。此脚本可动态渲染状态徽章、处理活跃分支并格式化上下文窗口进度条。

将脚本保存到 ~/.gemini/antigravity-cli/statusline.sh 并赋予其执行权限:

bash
chmod +x ~/.gemini/antigravity-cli/statusline.sh

参见 (See also)

  • 终端标题自定义:配置动态窗口标题。
  • 设置、渲染与键绑定:自定义键盘快捷键和缓冲区。
  • 权限与沙箱:管理安全目录权限。

Gemini中文文档