<div align="center">

# pi-lite-footer

[English](./README.md) | 中文文档

[![npm version](https://img.shields.io/npm/v/pi-lite-footer)](https://www.npmjs.com/package/pi-lite-footer)
[![license](https://img.shields.io/npm/l/pi-lite-footer)](./LICENSE)
[![pi extension](https://img.shields.io/badge/pi-extension-blue)](https://pi.dev)

[Pi](https://pi.dev) 编程助手的轻量分段式状态栏 — Git 状态、模型信息、Token 统计等，尽在一行。

</div>

```bash
pi install npm:pi-lite-footer
```

## 特性

- **分段式状态栏** — 简洁的状态显示，支持 10 种分隔符样式
- **Git 集成** — 分支名、暂存 / 未暂存 / 未跟踪文件数
- **12 个内置段** — 模型、思考等级、路径、Git、上下文用量、Token 读写、缓存统计、扩展状态
- **Nerd Font 支持** — 自动检测终端，降级为 ASCII 字符
- **响应式布局** — 宽度不足时隐藏溢出段，不换行
- **可配置底部栏** — 可选在输入框下方展示指定状态段

## 安装

```bash
pi install npm:pi-lite-footer
```

## 快速开始

安装后自动启用。在 Pi 中切换开关：

```
/lite-footer        # 开启
/lite-footer off    # 关闭
```

## 配置

所有设置位于 `~/.pi/agent/settings.json` 的 `liteFooter` 字段。无需运行时命令 — 编辑文件后重启 Pi 即可生效。

```jsonc
// ~/.pi/agent/settings.json
{
  "liteFooter": {
    // 启用/禁用（默认: true）
    "enabled": true,

    // 编辑器上方展示的段(默认值见下)
    "topBar": ["model", "thinking", "path", "git", "context_pct"],

    // 输入框下方展示的段（默认: 扩展状态）
    "bottomBar": ["extension_statuses"],

    // 分隔符样式: arrow | arrow-thin | slash | pipe | block | none | ascii | dot | chevron | star
    "separator": "pipe",

    // 覆盖图标（可选，默认使用 Nerd Font 字符）
    "icons": {
      "model": "🤖",
      "folder": "📁",
      "branch": "🔀"
    }
  }
}
```

### 示例：在底部栏展示 Token 统计

```jsonc
{
  "liteFooter": {
    "topBar": ["model", "thinking", "path", "git", "context_pct"],
    "bottomBar": ["token_in", "token_out", "cache_hit"],
    "separator": "dot"
  }
}
```

### 可用段

| 段 | 说明 |
| --- | --- |
| `model` | 当前 AI 模型名 |
| `path` | 当前工作目录 |
| `git` | 分支 + 暂存 / 未暂存 / 未跟踪文件数 |
| `context_pct` | 上下文窗口用量 (%) |
| `thinking` | 当前思考等级（off 时隐藏） |
| `token_in` | 输入 Token 数 |
| `token_out` | 输出 Token 数 |
| `token_total` | Token 总数 |
| `cache_read` | 缓存读取数 |
| `cache_write` | 缓存写入数 |
| `cache_hit` | 缓存命中率 |
| `extension_statuses` | 第三方扩展状态 |

### 分隔符样式

| 样式 | 字符 | 样式 | 字符 |
| --- | --- | --- | --- |
| `arrow` | | `arrow-thin` | |
| `slash` | `/` | `pipe` | `\|` |
| `block` | `█` | `none` | |
| `ascii` | `>` | `dot` | `·` |
| `chevron` | `»` | `star` | `✦` |

## 开发

```bash
npm install          # 安装依赖
npm run dev          # 启动 Pi 并加载扩展
npm run typecheck    # TypeScript 类型检查
npm run lint         # Biome 代码检查
npm test             # 运行测试
```

## 许可证

[MIT](./LICENSE)
