---
url: /antigravity/cli-statusline.md
description: 切换标准的状态栏组件、定义自定义脚本配置，并格式化动态 JSON 状态数据负载。
---

# 自定义状态栏 (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) |
| :--- | :--- | :--- |
| **cwd** | `string` | 当前工作目录 |
| **conversation\_id** | `string` | 当前对话 ID |
| **model** | `object` | 活跃模型的 `id` 和 `display_name` |
| **product** | `string` | 应用程序名称（例如，`antigravity-cli`） |
| **workspace** | `object` | `current_dir` 和 `project_dir` 路径 |
| **version** | `string` | CLI 版本字符串 |
| **plan\_tier** | `string` | 已认证用户的订阅级别 |
| **email** | `string` | 已认证用户的 LDAP/邮箱 |
| **agent** | `object` | 活跃的 Agent 配置文件名称 |
| **context\_window** | `object` | `total_input_tokens`, `total_output_tokens`, `context_window_size`, `used_percentage`, `remaining_percentage`, `current_usage` |
| **agent\_state** | `string` | 当前状态：`idle` (空闲), `thinking` (思考), `working` (工作), `tool_use` (工具调用), `initializing` (初始化) |
| **vcs** | `object` | 版本控制信息：`type` (git/jj/fig), `branch` (分支), `client` (客户端), `dirty` (是否有未提交修改) |
| **sandbox** | `object` | 沙箱配置：`enabled` (是否启用), `allow_network` (是否允许网络访问) |
| **subagents** | `array` | 活跃的子 Agent 会话列表，包含 `name`, `role`, `status` |
| **artifacts** | `array` | 已生成的产物列表，包含 `uri`, `status`, `type` |
| **pending\_input\_count** | `int` | 队列中待处理的用户消息数量 |
| **background\_tasks** | `array` | 运行中的任务列表，包含 `name`, `status`, `index` |
| **tool\_confirmation\_pending** | `bool` | 是否正在显示工具确认对话框 |
| **terminal\_width** | `int` | 交互式终端的实时宽度 |

### 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)

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