About Yefanfan
Yefanfan is an MCP server in the Other category.
Install
git clone https://github.com/yefanfan123/yefanfanThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Yefanfan
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Vibe English
边 Vibe Coding 边学英语。一个住在 Claude Code 里的英语教学蘑菇。
🍄(^_^) ●●●●●●●●○○ ⚡80 | "I need a coffee break."
💬 我需要休息一下喝杯咖啡。 | 📖 coffee(考菲)=咖啡 break(布瑞克)=休息 | 📚3句
为什么做这个
Claude Code 的 Companion 功能上线后,一个小角色可以一直待在终端旁边,时不时冒一句评论。但它本质上只是个挂件——说一句俏皮话就消失了,没有被进一步利用。
这让我觉得,这个"一直陪在身边"的位置,应该能做更多事情。
写代码的人每天盯屏幕十几个小时,如果这个陪伴的角色不只是吐槽,而是趁你等编译、等响应的间隙,顺手教你一句英语呢?不用刻意打开学习 App,不用中断工作流,就在你 Vibe Coding 的过程中,碎片化地把英语学了。
Vibe English 就是这个方向的一次尝试: 把 Claude Code 的 Companion、Status Line、MCP、Hooks 这些能力组合起来,让"陪伴"不只是装饰,而是有用的东西。
目前 Companion 的评论内容由 Claude Code 内部控制,无法与状态栏完全同步。Vibe English 通过统一宠物身份和英语教学性格做了软联动,但这不是真正的内容级联动——这也是 Companion 开放能力后值得继续探索的方向。
它能做什么
- 状态栏教学 — 底部状态栏常驻英语句子 + 中文翻译 + 谐音发音,每 3 分钟自动换一句
- 语音教学 — 等待 Claude 响应时自动播放:英文整句 → 中文翻译 → 逐词讲解 → 多速度跟读
- 深度教学 — 说「来句英语」触发完整教学卡片(逐词拆解、音标、谐音)
- 宠物养成 — 学英语给宠物喂食,不学习它会饿肚子、生病、死掉(可复活)
- 自动适配 — 宠物名称和形象自动跟随你的 Claude Code Companion 设置
宠物形象自动适配
Vibe English 会读取你的 Claude Code Companion 设置(~/.claude.json 中的 companion.name),自动匹配宠物名称和状态栏图标:
🦆(^_^) Duck 🪿(^_^) Goose 🫧(^_^) Blob
🐱(^_^) Cat 🐲(^_^) Dragon 🐙(^_^) Octopus
🦉(^_^) Owl 🐧(^_^) Penguin 🐢(^_^) Turtle
🐌(^_^) Snail 👻(^_^) Ghost 🦎(^_^) Axolotl
🐹(^_^) Capybara 🌵(^_^) Cactus 🤖(^_^) Robot
🐰(^_^) Rabbit 🍄(^_^) Mushroom 🐾(^_^) Chonk
覆盖了 Claude Code Companion 的所有官方形象,也支持自定义名称(dog、fox、panda 等)。不需要额外配置,装完即生效。如果名字没有命中任何关键词,默认显示 🍄。
安装
1. 克隆项目
git clone https://github.com/cck002/vibe-english.git
cd vibe-english/mcp-plugin
npm install
2. 注册 MCP 服务(全局)
claude mcp add vibe-english -s user -- node $(pwd)/server.js
3. 配置状态栏
编辑 ~/.claude/settings.json,添加:
{
"statusLine": {
"type": "command",
"command": "node /你的路径/vibe-english/mcp-plugin/statusline.js",
"padding": 0
}
}
4.(可选)配置 Hooks
自动触发教学和关键词识别:
{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [{
"type": "command",
"command": "bash ~/.claude/hooks/vibe-english-prompt.sh",
"timeout": 3
}]
}
],
"Stop": [
{
"hooks": [{
"type": "command",
"command": "bash ~/.claude/hooks/vibe-english-trigger.sh",
"timeout": 10
}]
}
]
}
}
Hook 脚本示例在 hooks/ 目录下。
5.(可选)配置 Companion
把右边的伴侣改成英语教学蘑菇。在 ~/.claude.json 中修改 companion 字段:
{
"companion": {
"name": "VibeShroom",
"personality": "A cute mushroom English tutor. Every comment MUST be bilingual: first a short English sentence, then Chinese translation + key words with pronunciation hints in parentheses. Example: \"Time to debug! 该抓虫了! debug(迪巴格)=调试\""
}
}
使用
| 操作 | 效果 |
|---|---|
| 正常 coding | 底部状态栏自动显示英语句子,每 3 分钟换一句并朗读 |
| 说「来句英语」 | 触发深度教学(逐词拆解 + 语音) |
| 说「看看宠物」 | 查看蘑菇状态(能量、连续天数、学习统计) |
| 说「学完了」 | 喂养蘑菇,恢复能量 |
| 说「复活」 | 当蘑菇饿死时复活它 |
/vibe-english |
斜杠命令直接触发教学 |
宠物系统
蘑菇靠你学英语活着:
(^_^) 开心 能量 >= 80
(·_·) 普通 能量 >= 50
(o_o) 饿了 能量 >= 20
(u_u) 生病 能量 >= 1
(x_x) 死了 能量 = 0 (可复活)
- 学完一句英语 → 能量 +15
- 每分钟自然衰减 0.02(约 3 天从满血到死亡)
- 连续学习有 streak 记录
语音系统
默认:macOS 系统语音(开箱即用)
默认使用 macOS 内置的 say 命令,无需任何配置:
- 英文 — Samantha(美式女声)
- 中文 — Tingting 婷婷(普通话女声)
语音教学流程:英文整句 → 中文翻译 → 逐词(英文+中文意思) → 正常语速 → 流利语速
更换系统语音: 在终端运行 say -v '?' 查看所有可用语音。修改 speak-lesson.js 顶部的语音名称即可。常见选择:
| 语音 | 语言 | 风格 |
|---|---|---|
| Samantha | 英语(美式) | 女声,清晰自然 |
| Daniel | 英语(英式) | 男声,英伦口音 |
| Flo | 英语(美式) | 女声,活泼 |
| Reed | 英语(美式) | 男声 |
| Tingting | 中文(普通话) | 女声 |
| Shelley | 中文(普通话) | 女声 |
进阶:接入 TTS API(更好的音色)
如果系统语音不能满足你,可以接入第三方 TTS API:
- 复制模板文件:
cp mcp-plugin/tts-provider.example.js mcp-plugin/tts-provider.js - 在
tts-provider.js中配置你的 TTS 服务 - 设置环境变量:
# 在 ~/.zshrc 或 ~/.bashrc 中添加 export VIBE_TTS_API_KEY="your-key-here"
支持的 TTS 服务:MiniMax、Azure TTS、Google TTS、Edge TTS(免费)等。详见 tts-provider.example.js 中的注释。
项目结构
vibe-english/
├── mcp-plugin/
│ ├── server.js # MCP 服务(深度教学 + 宠物系统)
│ ├── statusline.js # 状态栏脚本(常驻英语展示)
│ ├── speak-lesson.js # 语音教学脚本(后台运行)
│ ├── tts-provider.example.js # TTS API 接入模板
│ ├── sentences.json # 句子库(51句,4个分类)
│ └── package.json
├── hooks/
│ ├── vibe-english-prompt.sh # 关键词识别 hook
│ └── vibe-english-trigger.sh # 随机教学 hook
├── DesktopPet.swift # macOS 桌面宠物版(独立运行)
├── vibe-english.sh # 终端版(独立运行)
└── README.md
技术栈
- MCP Server — 基于
@modelcontextprotocol/sdk,提供 4 个工具 - Status Line — Claude Code 状态栏 API,定期刷新
- Hooks —
UserPromptSubmit+Stop事件钩子 - TTS — macOS
say(默认) / 可选接入第三方 TTS API
系统兼容性
| 功能 | macOS | Windows | Linux |
|---|---|---|---|
| 状态栏英语展示 | ✅ | ✅ | ✅ |
| MCP 深度教学 | ✅ | ✅ | ✅ |
| 宠物养成系统 | ✅ | ✅ | ✅ |
| Companion 联动 | ✅ | ✅ | ✅ |
| 语音朗读(系统) | ✅ | ❌ | ❌ |
| 语音朗读(TTS API) | ✅ | ✅ | ✅ |
Windows / Linux 用户: 所有文字功能正常使用,语音部分会静默跳过不会报错。如果需要语音,可以接入第三方 TTS API(参考上方「进阶:接入 TTS API」)。
系统要求
- Node.js >= 18
- Claude Code CLI
Roadmap
这个项目是一次探索,还有很多可以做的方向:
- 状态栏常驻英语教学
- 语音教学(系统 TTS)
- 宠物养成系统
- 技术栈自动检测(根据项目文件类型匹配相关句子)
- 智能句子生成 — 根据当前对话上下文,用 Claude 动态生成贴合场景的英语教学(需要 token)
- 社区句子库 — 开放 PR 贡献,按技术栈/场景分类,大家一起丰富内容
- 学习记录可视化 — 统计每日/每周学习量,生成学习报告
- Companion 深度联动 — 等 Anthropic 开放 Companion 控制 API 后,实现状态栏和 Companion 评论的内容同步
- 多语言支持 — 不只是中→英,支持日语、韩语等其他语言方向
- 自定义句子库 — 用户可以添加自己想学的句子,工具自动生成音标和谐音
欢迎提 Issue 和 PR。
License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.