Repos / kudig-io / kuiz OWN

kuiz

🐱 MeowQuiz 奶猫问答

🐱 MeowQuiz 奶猫问答

License: MIT
Python 3.10+
Code style: black

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):日志、监控、链路追踪

🤝 贡献指南

欢迎贡献题目、代码或文档!

贡献题目

  1. Fork 本仓库
  2. 在 question-bank/kubernetes/ 相应目录下添加 YAML 题目文件
  3. 运行 pytest tests/ 验证题目格式
  4. 提交 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 文件

🙏 致谢

🌟 Star History

如果这个项目对你有帮助,请给我们一个 Star ⭐️

📮 联系我们


Made with ❤️ by MeowQuiz Contributors