🐱 MeowQuiz 奶猫问答
AI 驱动的 Kubernetes SRE 快问快答 CLI 工具,通过高频练习巩固技术能力
✨ 特性
- 🎯 快问快答:随机抽题、专题练习、错题重做多种模式
- 🤖 AI 追问:基于阿里云通义千问,支持无限次深度追问
- 📊 学习追踪:自动记录答题历史、错题集、学习统计
- 🎨 精美终端:基于 Rich 库的现代化 CLI 界面
- 🔐 隐私保护:所有数据本地存储,API Key 加密保存
- 🌐 开源协作:题库版本化管理,欢迎社区贡献
📦 安装
从源码安装
git clone https://github.com/AllenYGY/meow-quiz.git
cd meow-quiz
pip install -e .
从 PyPI 安装(即将支持)
pip install meow-quiz
🚀 快速开始
1. 配置 API Key
meow-quiz config --set api_key=YOUR_DASHSCOPE_API_KEY
获取 API Key:阿里云百炼平台
2. 开始答题
# 随机模式答题
meow-quiz start
# 指定题目数量
meow-quiz start --count 5
# 专题练习
meow-quiz start --mode topic --topic networking
# 错题重做
meow-quiz start --mode review
3. 查看学习记录
# 查看答题历史
meow-quiz history
# 查看错题集
meow-quiz mistakes
# 查看配置
meow-quiz config --list
📖 使用示例
答题流程
🐱 开始答题 - random 模式
题目 1/5
┌─ 📝 Kubernetes Service 类型选择 ─┐
│ 在生产环境中,需要将一个 Web │
│ 应用暴露给外部用户访问... │
└──────────────────────────────────┘
A: ClusterIP
B: NodePort
C: LoadBalancer
D: ExternalName
你的答案: C
✓ 回答正确!
解析:LoadBalancer 类型会自动创建...
是否进入 AI 追问环节? [Y/n]: y
💬 进入 AI 追问模式(输入 'exit' 退出)
你的问题: LoadBalancer 和 Ingress 有什么区别?
🤖 AI: LoadBalancer 和 Ingress 都可以暴露服务...
🎯 题库范围
当前题库覆盖 Kubernetes SRE 和 DevOps 核心领域:
- 网络(Networking):Service、Ingress、CNI、NetworkPolicy
- 存储(Storage):PV/PVC、StorageClass、Volume
- 调度(Scheduling):Affinity、Taints/Tolerations、资源限制
- 高可用(High Availability):etcd 备份、多区域部署、控制平面 HA
- 故障排查(Troubleshooting):Pod 调试、网络诊断、性能优化
- CICD:Helm、GitOps、滚动更新
- 可观测性(Observability):日志、监控、链路追踪
🤝 贡献指南
欢迎贡献题目、代码或文档!
贡献题目
- Fork 本仓库
- 在
question-bank/kubernetes/相应目录下添加 YAML 题目文件 - 运行
pytest tests/验证题目格式 - 提交 Pull Request
题目格式示例:
- id: k8s-net-001
title: 题目标题
type: single_choice
difficulty: medium
topic: networking
tags: [标签1, 标签2]
question: |
题目内容
options:
- "A: 选项A"
- "B: 选项B"
answer: "A"
explanation: |
答案解析
references:
- https://kubernetes.io/docs/...
详细贡献指南请查看 CONTRIBUTING.md
📋 开发
环境搭建
# 克隆仓库
git clone https://github.com/AllenYGY/meow-quiz.git
cd meow-quiz
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装开发依赖
pip install -e ".[dev]"
# 安装 pre-commit hooks
pre-commit install
运行测试
# 运行所有测试
pytest
# 运行测试并查看覆盖率
pytest --cov=meow_quiz --cov-report=html
# 代码格式化
black src/ tests/
isort src/ tests/
# 代码检查
flake8 src/ tests/
mypy src/
📄 许可证
MIT License - 详见 LICENSE 文件
🙏 致谢
- Typer - 现代化 CLI 框架
- Rich - 精美终端输出
- 阿里云 DashScope - AI 能力支持
- Kubernetes - 题库内容来源
🌟 Star History
如果这个项目对你有帮助,请给我们一个 Star ⭐️
📮 联系我们
- 提交 Issue:GitHub Issues
- 讨论交流:GitHub Discussions
Made with ❤️ by MeowQuiz Contributors