自定义状态栏 (Status Line Customization)
切换标准的状态栏组件、定义自定义脚本配置,并格式化动态 JSON 状态数据负载。
概述 (Overview)
状态栏位于 TUI 提示面板的底部。它提供关于活跃 Agent 周期、工作空间环境、上下文 Token 窗口使用情况以及后台执行任务的一目了然的上下文。
交互式切换 (Interactive Toggling)
- 在提示框中输入
/statusline并按Enter。 - 交互式的“状态选择器面板 (Status Picker Panel)”浮层将被打开。
- 使用
↑/↓开启或关闭特定的指标元素(例如:活跃模型、任务计数器、上下文百分比)。 - 按
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 | 已认证用户的订阅级别 |
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)
- 终端标题自定义:配置动态窗口标题。
- 设置、渲染与键绑定:自定义键盘快捷键和缓冲区。
- 权限与沙箱:管理安全目录权限。
Gemini 中文文档