# 🇬🇧 pi-english-tutor

[pi](https://pi.dev) 的英语对话导师插件 —— 将你的编程助手变成一个沉浸式的英语学习环境。

## 功能特性

| 功能 | 描述 |
|---------|-------------|
| 🗣️ **双语模式** | AI 同时用英文和中文回复，左右对照 |
| 🇬🇧 **纯英文模式** | AI 仅用英文回复，实现完全沉浸 |
| 📚 **CEFR 等级** | A2 → B1 → B2 → C1 难度递进 |
| 💡 **错误纠正** | 温和的语法和词汇纠正 |
| 📝 **词汇提示** | 每几次对话推荐一个新词汇 |
| 🔒 **输入守卫** | 检测中文输入 —— 温和提醒或严格拦截 |
| ⌨️ **快捷键** | `Ctrl+Shift+E` 切换模式，`Ctrl+Shift+S` 切换严格模式 |
| 📊 **学习报告** | 导出完整对话为 Markdown 格式的学习报告 |
| 🔌 **可插拔** | 模块化设计，易于扩展 |

## 快速开始

```bash
# 从 GitHub 安装
pi install git:github.com/T-DWAG/pi-english-tutor

# 或本地测试
pi -e ./extensions/english-tutor/index.ts --skill ./skills/english-tutor/SKILL.md
```

## 使用方法

### 命令

| 命令 | 作用 |
|---------|--------|
| `/english mode bilingual` | AI 使用双语模式回复（中英对照） |
| `/english mode english-only` | AI 仅用英文回复 |
| `/english strict on` | 完全拦截中文输入 |
| `/english strict off` | 允许中文输入但给予温和提醒 |
| `/english difficulty A2` | 设为初级水平 |
| `/english difficulty B1` | 设为中级水平 |
| `/english difficulty B2` | 设为中高级水平 |
| `/english difficulty C1` | 设为高级水平 |
| `/english stats` | 查看当前设置 |
| `/english export` | 导出对话为学习报告 |

### 快捷键

| 快捷键 | 操作 |
|----------|--------|
| `Ctrl+Shift+E` | 切换双语 ↔ 纯英文 |
| `Ctrl+Shift+S` | 切换严格 ↔ 宽松输入 |

### 状态栏

底部状态栏显示当前模式、难度和严格状态：
```
🔓 🇬🇧🇨🇳 双语 | B1
```

## 模式说明

### 双语模式（默认）
AI 同时用英文和中文回复，清晰分隔：

```
你的自然英文回复内容（对话式的、友好的，符合 CEFR B1 水平）。

---
对应的中文翻译。
```

适合：培养理解能力，通过上下文学习词汇，检查你的理解是否正确。

### 纯英文模式
AI 仅用英文回复 —— 完全沉浸式体验。

适合：练习阅读流畅度，用英语思考，备考准备。

## CEFR 等级说明

| 等级 | 名称 | 预期内容 |
|------|------|----------------|
| **A2** | 初级 | 简单句子，常用词汇，基本时态 |
| **B1** | 中级 | 中等句式，部分习语，连接词 |
| **B2** | 中高级 | 自然英语，动词短语，多样化词汇 |
| **C1** | 高级 | 接近母语，复杂表达，细微差别 |

## 架构

```
english-tutor/
├── extensions/english-tutor/index.ts   # 主扩展逻辑
├── skills/english-tutor/SKILL.md       # 教学方法论
└── package.json                        # pi 包清单
```

### 扩展点（面向开发者）

本插件设计为易于扩展。详见 `extensions/english-tutor/index.ts` 中的完整 API。

你可以实现以下关键接口：
- **翻译后端** — 将 LLM 翻译替换为 DeepL、Google 等服务
- **纠错策略** — 自定义错误检测规则
- **导出格式** — Anki CSV、HTML、PDF
- **输入处理器** — 拼写检查、语法预检

## 许可证

MIT
