# Pi Charm Hyper Provider

[English](README.md)

为 [Pi](https://pi.dev) 打造的 Charm Hyper 多模型服务商扩展。

## 功能特性

- **确定性的异步模型注册**：Pi 在启动期间等待有超时边界的模型发现，使交互启动和 `pi --list-models` 看到同一目录；发现不可用时使用 fallback 目录。
- **智能 Pin 防丢失保护**：启动时同步解析 `settings.json` 的固定模型，动态将您固定的任何 Charm-hyper 模型（如 `glm-4-plus` 等）动态伪装注入 Fallback 列表，彻底从物理根源上屏蔽了宿主配置修剪机制导致的固定模型丢失 Bug。
- **第二行紧凑 Credits 状态**：在会话、模型切换、回合事件以及 Charm Hyper 激活期间每 35 秒异步获取点数，缓存 30 秒，并通过自定义紧凑 footer 将余额合并到 Pi 的第二行。

## 项目结构

```
pi-charm_hyper-provider/
├── index.ts                  # Pi 扩展入口、Provider 注册及第二行紧凑 footer
├── CONTEXT.md                # 领域模型术语及余额健康度着色阈值说明
├── docs/
│   └── adr/
│       └── 0001-merged-provider-with-custom-credits-usage.md  # 架构决策记录
├── test/
│   ├── provider.test.ts      # 模型配置与覆盖元数据测试套件
│   └── usage.test.ts         # 余额查询、缓存控制及 Footer 渲染集成测试套件
├── package.json              # 扩展包配置及 peerDependencies 依赖声明
├── tsconfig.json             # TypeScript 编译器配置
└── biome.json                # Biome 代码风格与 Lint 配置
```

## 安装说明

在全局安装此扩展：
```bash
pi install npm:pi-charm_hyper-provider
```

## 执行测试

运行内置的 TypeScript 单元测试（基于 Node.js 原生测试运行器）：
```bash
npm run test
```

## 开发与规范

已严格对齐 `pi-main` 核心工程的质量与安全规范：
- **格式化与语法检查**：使用 Biome 对项目代码进行统一格式化。缩进风格配置为 `tab`，缩进宽度为 `3`。
- **常用指令**：
  - 运行风格与语法检测：`npm run check`（自动执行 `biome check --write .`）
  - 运行单元测试：`npm test`

## 许可证书

MIT
