---
url: /wave-agent/specs/ui/notifications.md
description: 右下角 Notifications 组件：token 用量与登录提示
---

# 功能规格说明：右下角通知组件

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

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

### 用户故事：右下角的 token 用量指示（优先级：P1）

作为开发者，我希望 token 用量（上下文百分比）由独立的右下角通知组件显示，以便与 Claude Code 的布局对齐：左下状态栏只显示模式/shell 状态，右下通知区显示 token 用量与登录提示。

**验收场景**：

1. **假设** CLI 正在运行且尚未收到 AI 响应，**则** 右下角通知区不显示百分比（已消耗 0 个 token）。
2. **假设**已收到 AI 响应，**当**上下文使用率低于 80% 时，**则** 右下角显示灰色的 "X% context"。
3. **假设**上下文使用超过 80%，**当**显示通知区时，**则** 百分比文本变为黄色。
4. **假设**上下文使用超过 95%，**当**显示通知区时，**则** 百分比文本变为红色。
5. **假设**用户处于 BTW 模式，**则** 输入区域显示独立的 `BtwDisplay` 组件，状态栏与通知区均不显示。
6. **假设** AI 正在思考，**当**显示加载指示器时，**则** 加载指示器保持显示 "1,234 tokens" 计数，通知区百分比与其互不影响。

***

### 用户故事：右下角的登录提示（优先级：P1）

作为新用户，我希望在未认证时于右下角看到登录提示，以便与 Claude Code 的提示位置一致（"Not logged in · Run /login" 位于右下通知区）。

**验收场景**：

1. **假设** CLI 正在运行且用户没有任何可用的认证或直连 API 配置，**则** 右下角通知区显示 "Type /login to authenticate" 提示。
2. **假设**用户完成登录，**则** 右下角登录提示实时消失。
3. **假设**消息区仍在渲染欢迎消息或静态内容，**则** 登录提示不显示在消息流中。

***

### 边界情况

* **BTW 模式激活时通知区显示吗？** 不显示。BTW 模式下输入区域整体替换为 `BtwDisplay`，状态栏与通知区一并隐藏。
* **登录提示与百分比同时出现时如何排列？** 两者均位于右下角通知区，按顺序排列显示。
* **上下文百分比为 0（未收到响应）时显示吗？** 不显示，与拆分前行为一致。
