# Basic English

> 离线英语单词背诵闪卡应用 — Ogden 850 基础词汇 + SRS 间隔重复 + 词库管理 + 例句高亮。打开即用，无需服务器，无需网络。

- Skill: `loongyowl/basic-english` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add loongyowl/basic-english`
- Raw SKILL.md: https://api.skillmd.com/api/skills/loongyowl/basic-english/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: loongyowl (https://skillmd.com/u/loongyowl)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/loongyowl/basic-english

---


# Basic English — 离线单词背诵闪卡

## 概述

将完整的离线英语单词背诵闪卡 Web 应用部署到用户本地，用户双击 `index.html` 即可在浏览器中开始背单词，**无需服务器、无需网络**。

### 核心功能

- **850 个 Ogden 基础英语词汇**，每个词汇含中文释义 + 2 个英文例句
- **SRS 间隔重复算法**：智能安排复习，遗忘曲线驱动
- **翻转闪卡**：正面看单词，翻转看释义和例句，关键词高亮
- **词库管理**：支持导入/导出 JSON 词库、多词库切换、手动添加/删除单词
- **学习统计**：掌握率、正确率、每日学习活动图
- **完全离线**：所有数据内嵌 + localStorage 存储，无任何网络依赖

## 部署工作流

当用户触发此技能时，按以下步骤操作：

### Step 1: 确定目标目录

询问用户想把应用放在哪个目录，或使用以下默认路径：
- Windows: `C:\Users\<用户名>\basic-english\`
- macOS: `~/basic-english/`
- Linux: `~/basic-english/`

如果目标目录已存在，提示用户确认是否覆盖。

### Step 2: 复制应用文件

将 `assets/` 目录下的 4 个文件复制到目标目录：

| 文件 | 说明 |
|------|------|
| `index.html` | 主页面（内联 Bootstrap CSS） |
| `style.css` | 自定义样式（翻转动画、弹窗、Toast） |
| `app.js` | 核心逻辑（SRS、词库管理、850词数据内嵌） |
| `words.json` | 850 词完整数据（备用，app.js 已内嵌） |

复制命令示例（根据系统选择）：

```bash
# 检查目标目录是否存在，不存在则创建
mkdir -p <目标目录>

# 复制 4 个文件
cp "<skill_dir>/assets/index.html" "<目标目录>/"
cp "<skill_dir>/assets/style.css" "<目标目录>/"
cp "<skill_dir>/assets/app.js" "<目标目录>/"
cp "<skill_dir>/assets/words.json" "<目标目录>/"
```

其中 `<skill_dir>` 为本 Skill 的安装路径，即 `~/.workbuddy/skills/basic-english/`。

### Step 3: 验证部署

确认 4 个文件都已成功复制，检查文件大小不为 0：

```bash
ls -la <目标目录>/
```

### Step 4: 告知用户使用方法

向用户展示以下信息：

1. **打开方式**：用浏览器直接打开 `<目标目录>/index.html` 即可使用
2. **学习流程**：
   - 看到英文单词 → 点击「显示释义」→ 看到中文释义和例句
   - 认识 → 点「✅ 认识」；不认识 → 点「❌ 不认识」
   - 系统自动安排下次复习时间
3. **词库管理**：点击顶部「📚 词库管理」按钮
   - 导入 JSON 词库（格式：`[{"word":"apple","meaning":"苹果","examples":["..."]}]`）
   - 切换不同词库
   - 手动添加/删除单词
   - 导出备份
4. **长按卡片**：长按闪卡 1.5 秒可删除当前单词
5. **数据存储**：所有进度保存在浏览器 localStorage 中，清除浏览器数据会丢失进度

## JSON 词库格式

支持的词库 JSON 格式（向后兼容）：

```json
// 格式 1: 完整版（推荐）
[{"word": "apple", "meaning": "苹果", "examples": ["I ate an apple.", "The apple is red."]}]

// 格式 2: 无例句
[{"word": "apple", "meaning": "苹果"}]

// 格式 3: 纯单词列表（安装后会自动补全释义）
["apple", "book", "cat"]
```

## 技术细节

- **前端**：纯 HTML + CSS + JavaScript，无框架依赖
- **CSS**：内联 Bootstrap 5.3 最小集 + 自定义 style.css
- **数据存储**：localStorage（键名 `basic_english_progress_v1`、`basic_english_vocabs_v1`、`basic_english_active_vocab_v1`）
- **SRS 算法**：基于 strength 值（-3 ~ +10）的间隔重复，间隔梯度 [0, 5min, 30min, 2h, 1天, 3天, 7天]
- **离线原理**：数据内嵌为 JS 常量（`DEFAULT_WORDS_DATA`），不依赖 `fetch()` 读取本地文件

## 常见问题

**Q: 打开 index.html 页面空白？**
A: 确保用现代浏览器（Chrome/Edge/Firefox）直接双击打开，不要用 IE。确保 index.html、style.css、app.js 三个文件在同一目录。

**Q: 如何添加自定义词库？**
A: 准备一个 JSON 文件（参考上方格式），点击「📚 词库管理」→「选择文件导入」即可。

**Q: 如何在新设备上使用？**
A: 将整个目录复制到新设备，用浏览器打开 index.html。但学习进度（localStorage）不会自动迁移，需手动导出/导入。

**Q: 如何卸载/删除？**
A: 直接删除目标目录即可。如需清除学习数据，在浏览器中打开 index.html → 按 F12 → Application → Local Storage → 删除相关键值。

