---
url: /wave-agent/specs/ui/status-line.md
description: 左下角状态栏组件，用于模式和 shell 命令状态显示
---

# 功能规格说明：状态栏组件

**创建日期**：2026-03-31
**更新日期**：2026-08-05

## 用户场景与测试 *（必填）*

### 用户故事：一致的状态显示（优先级：P1）

作为开发者，我希望状态栏逻辑封装在其自己的组件中，以便输入区域更易于维护，状态栏可以独立重用或修改。状态栏显示在左下角，只负责模式与 shell 命令状态；token 用量（上下文百分比）与登录提示由独立的右下角通知组件负责（见「通知组件」规格）。

**为什么是这个优先级**：这是对齐 Claude Code 布局的核心目标。它提高代码质量和可维护性，并使状态栏与通知组件职责分离。

**验收场景**：

1. **假设** CLI 正在运行，**当**用户处于正常模式时，**则** 状态栏显示 "Mode: \[current mode] (Shift+Tab to cycle)"。
2. **假设** CLI 正在运行，**当**用户输入 `!` 时，**则** 状态栏显示 "Shell: Run shell command"。
3. **假设** CLI 正在运行，**当**用户使用 Shift+Tab 切换模式时，**则** 状态栏中的 `permissionMode` 更新并相应改变颜色。
4. **假设** CLI 正在运行，**当**用户处于 BTW 模式时，**则** 输入区域显示独立的 `BtwDisplay` 组件，状态栏不显示。
5. **假设** CLI 正在运行且已收到 AI 响应，**则** 状态栏只显示模式/shell 状态，不显示 token 用量百分比（百分比由右下角通知组件显示）。

***
