Skip to content

opendemo-work/opendemo-cli

Repository files navigation

🛠️ Open Demo CLI

智能化编程学习CLI工具 - 快速获取高质量、可执行的Demo代码

Python License Demos


📑 目录


🚀 快速开始

安装

# pip安装
pip install opendemo

# 或从源码安装
git clone https://github.com/opendemo/opendemo.git
cd opendemo && pip install -e .

基础用法

# 搜索Demo
opendemo search python

# 获取Demo
opendemo get python logging

# 创建新Demo(AI生成)
opendemo new python numpy array-creation

配置AI服务(可选)

opendemo config set ai.api_key YOUR_API_KEY
opendemo config set ai.api_endpoint YOUR_ENDPOINT

💻 命令参考

命令 功能 示例
search 搜索Demo opendemo search python async
get 获取Demo opendemo get go goroutines
new AI生成Demo opendemo new python pandas
config 配置管理 opendemo config list
check 质量检查 opendemo check

new命令特性

  • 第三方库自动识别numpy, pandas, gin 等自动归类到 libraries/ 目录
  • 中文主题支持opendemo new python 网络爬虫
  • 验证选项--verify 自动验证代码可执行性

📊 Demo统计

语言 基础Demo 第三方库/工具 总计 测试状态
🐍 Python 51 iterator(1), numpy(25) 77 ✅ 全部通过
🐹 Go 92 context(1) 93 ✅ 全部通过
🟢 Node.js 67 - 67 ✅ 全部通过
Kubernetes 0 kubeflow(42), kubeskoop(10), operator-framework(2) 54 ✅ 全部通过
总计 210 81 291

📚 Demo完整清单

🐍 Python (77个)

基础语法 (51个) - 点击展开
# Demo名称 功能说明 状态
1 abc-interfaces 抽象基类与接口
2 async-programming 异步编程 async/await
3 bitwise-operations 位运算操作
4 caching 缓存机制
5 cli-argparse 命令行参数解析
6 collections-module collections模块
7 comprehensions 列表/字典/集合推导式
8 config-management 配置文件管理
9 context-managers 上下文管理器 with
10 control-flow 控制流语句
11 copy-deepcopy 浅拷贝与深拷贝
12 database-sqlite SQLite数据库操作
13 dataclasses 数据类 @dataclass
14 datetime 日期时间处理
15 debugging 调试技巧 pdb
16 descriptors-property 描述符与属性
17 dict-operations 字典操作
18 enums 枚举类型
19 environment-variables 环境变量操作
20 exception-handling 异常处理 try/except
21 file-operations 文件读写操作
22 functions-decorators 函数与装饰器
23 functools-module functools模块
24 http-requests HTTP请求处理
25 inheritance-mro 继承与方法解析顺序
26 iterators-generators 迭代器与生成器
27 itertools-module itertools模块
28 json-yaml JSON/YAML数据处理
29 lambda-expressions Lambda表达式
30 list-operations 列表操作
31 logging 日志记录
32 magic-methods 魔术方法 xx
33 metaclasses 元类编程
34 modules-packages 模块与包管理
35 multiprocessing 多进程编程
36 multithreading 多线程编程
37 numbers-math 数字与数学运算
38 oop-classes 面向对象编程
39 operator-module operator模块
40 pathlib-os 路径与系统操作
41 profiling-optimization 性能分析与优化
42 regex 正则表达式
43 scope-closures 作用域与闭包
44 serialization-pickle 序列化 pickle
45 set-operations 集合操作
46 socket-networking Socket网络编程
47 string-operations 字符串操作
48 threading-synchronization 线程同步 Lock/Event
49 tuple-basics 元组基础
50 type-hints 类型提示 typing
51 unit-testing 单元测试 unittest
📦 NumPy库 (25个) - 点击展开

路径: opendemo_output/python/libraries/numpy/

# Demo名称 功能说明 状态
1 aggregate-functions 聚合函数 sum/mean/std
2 array-concatenation 数组拼接 concatenate/stack
3 array-creation 数组创建 zeros/ones/arange
4 array-indexing 索引与切片
5 array-reshape 形状操作 reshape/transpose
6 basic-math 基础数学运算
7 bitwise-operations 位运算
8 boolean-indexing 布尔索引/掩码
9 broadcasting 广播机制
10 datetime-operations 日期时间操作
11 fft-transform 傅里叶变换 FFT
12 file-io 文件读写 save/load
13 linear-algebra 线性代数 特征值/行列式
14 logic-functions 逻辑函数
15 masked-arrays 掩码数组
16 matrix-multiplication 矩阵乘法 dot/matmul
17 polynomial 多项式操作
18 random-generation 随机数生成
19 set-operations 集合操作
20 sorting-searching 排序与搜索 sort/argsort
21 statistics 统计函数 mean/median
22 string-operations 字符串操作
23 structured-arrays 结构化数组
24 universal-functions 通用函数 ufunc
25 window-functions 窗口函数

🐹 Go (92个)

全部Demo列表 - 点击展开

基础语法与数据结构

Demo名称 功能说明 状态
go-go-variables-types-demo 变量与类型
go-go-control-flow-demo 控制流语句
go-go-maps-demo Map映射操作
go-go-json-demo JSON处理
go-goiota-const-enum-iota-demo 常量与枚举 iota
go-go-error-handling-demo 错误处理
go-go-defer-demo Defer延迟执行
go-go-panic-recover-demo Panic/Recover

并发编程

Demo名称 功能说明 状态
go-gogoroutines-demo Goroutines基础
go-go-channels-demo Channel通道
go-go-select-demo Select多路复用
go-gomutexwaitgroup-mutex-waitgroup-demo Mutex/WaitGroup
go-go-worker-pool-demo 工作池模式
go-go-context Context上下文
go-gocontextdemo-timeout-context-demo Context超时控制

Web开发

Demo名称 功能说明 状态
go-go-http-demo HTTP基础
go-go-http-restful-api-demo RESTful API
go-gohttp-middleware-http-server HTTP中间件
go-ginwebdemo-web-framework-intro Gin Web框架
go-gorm-demo GORM ORM框架
go-go-swagger-demo Swagger文档
go-websocket-gorilla-realtime-communication WebSocket实时通信

DevOps/SRE

Demo名称 功能说明 状态
go-go-prometheus-metrics-demo Prometheus指标采集
go-godemo-health-check-monitor 健康检查监控
go-godemo-signal-graceful-shutdown 优雅关闭
go-gozapdemo-structured-logging-zap-demo Zap结构化日志
go-go-elkdemo-log-aggregation ELK日志聚合
go-godemo-log-rotation-demo 日志轮转
go-opentelemetrygo-distributed-tracing OpenTelemetry分布式追踪
go-go-consul-service-discovery Consul服务发现
go-istiogo-service-mesh-proxy Istio服务网格
go-godocker-multi-stage-docker-build Docker多阶段构建
go-dockersdkgo-container-management Docker SDK容器管理

消息队列与缓存

Demo名称 功能说明 状态
go-kafkago-producer-consumer Kafka生产消费
go-rabbitmq-amqp-go-demo RabbitMQ AMQP
go-go-redis-cache-operations-demo Redis缓存操作
go-go-redis-distributed-lock-demo Redis分布式锁
go-golrudemo-lru-cache-impl-demo LRU缓存实现
go-go-cache-warmup-strategy-demo 缓存预热策略

RPC与序列化

Demo名称 功能说明 状态
go-grpc-protobuf-go-demo gRPC/Protobuf
go-go-protobuf-serialization-demo Protobuf序列化

安全认证

Demo名称 功能说明 状态
go-go-jwtdemo-auth-login-verify JWT认证
go-go-oauth20-third-party-login OAuth2.0第三方登录
go-gohashjwt-crypto-hash-jwt-demo 加密哈希

数据库

Demo名称 功能说明 状态
go-go-db-connection-pool-demo 数据库连接池
go-gosql-sql-transaction-demo SQL事务
go-go-badgerdb-demo-embedded-db-storage BadgerDB嵌入式存储

工程实践

Demo名称 功能说明 状态
go-godemo-benchmark-profiling 基准测试与性能分析
go-go-pprof-demo pprof性能分析
go-godemo-table-driven-testing 表驱动测试
go-godemo-dependency-injection-demo 依赖注入
go-godemo-exponential-backoff-retry 指数退避重试
go-godemo-config-hot-reload-demo 配置热重载
go-go-viper-config-env-integration Viper配置管理
go-godemo-load-balancer-reverse-proxy 负载均衡/反向代理
go-cobra-cli-cli-tool-demo Cobra CLI工具
go-gomakefile-makefile-automation-demo Makefile自动化
go-gocron-cron-scheduler-demo Cron定时任务
go-go-tcp-network-programming TCP网络编程
go-go-embeddemo-embed-static-assets Embed静态资源
go-godemo-functional-programming-practice 函数式编程

其他Demo (go-demo系列)

Demo名称 状态
go-go-demo ~ go-go-demo-15 (16个)

🟢 Node.js (67个)

全部Demo列表 - 点击展开

ES6+语法

Demo名称 功能说明 状态
nodejs-nodejs-variables-basics-demo 变量基础 let/const
nodejs-arrow-functions-demo 箭头函数
nodejs-template-strings-demo 模板字符串
nodejs-nodejs-class-inheritance-demo 类与继承
nodejs-symbol-symbol-iterator-demo Symbol/Iterator
nodejs-mapsetdemo Map/Set数据结构
nodejs-nodejs-proxyreflect-demo Proxy/Reflect
nodejs-nodejs-object-operations-demo 对象操作

异步编程

Demo名称 功能说明 状态
nodejs-nodejs-promises-demo Promise异步
nodejs-async-await-nodejs-demo Async/Await
nodejs-generator-async-flow-control-demo Generator异步控制
nodejs-nodejs-streams-demo Stream流

核心模块

Demo名称 功能说明 状态
nodejs-nodejs-http-demo HTTP模块
nodejs-nodejs-filesystem-operations-demo 文件系统操作
nodejs-nodejs-path-demo Path路径处理
nodejs-nodejs-buffer-demo Buffer缓冲区
nodejs-nodejs-json-demo JSON处理
nodejs-nodejs-osdemo-os-system-monitor OS系统监控
nodejs-nodejsdemo-env-variables-demo 环境变量

Web框架

Demo名称 功能说明 状态
nodejs-express-restful-api-demo Express RESTful API
nodejs-nestjsdemo-framework-intro NestJS框架
nodejs-typescript-express-api-demo TypeScript Express
nodejs-nodejs-middleware-chain-demo 中间件链
nodejs-graphql-api-demo GraphQL API
nodejs-nodejs-swagger-openapi-demo Swagger/OpenAPI

DevOps/SRE

Demo名称 功能说明 状态
nodejs-nodejs-prometheusdemo-metrics-collection Prometheus指标采集
nodejs-nodejs-health-check-demo 健康检查
nodejs-nodejsdemo-graceful-shutdown-demo 优雅关闭
nodejs-nodejsdemo-logging-management 日志管理
nodejs-nodejs-cluster-cluster-load-balancing Cluster集群负载均衡
nodejs-pm2nodejs-multi-process-deployment PM2多进程部署
nodejs-nodejs-worker-threads-multithreading-demo Worker多线程
nodejs-docker-sdk-for-nodejs-container-management-demo Docker SDK容器管理
nodejs-consulnodejsdemo-service-discovery-config Consul服务发现

消息队列与缓存

Demo名称 功能说明 状态
nodejs-kafkanodejs-producer-consumer Kafka生产消费
nodejs-bullnodejs-demo-queue-async-tasks Bull任务队列
nodejs-ioredis-nodejs-demo ioredis Redis客户端

安全认证

Demo名称 功能说明 状态
nodejs-jwtnodejs-auth-authorization JWT认证授权
nodejs-oauth20passportnodejs-demo-passport-oauth-integration Passport OAuth
nodejs-helmet-security-middleware-demo Helmet安全中间件
nodejs-nodejscrypto-hashbcrypt-crypto-bcrypt-demo Crypto加密哈希

数据库

Demo名称 功能说明 状态
nodejs-nodejs-mongodb-mongoose-demo MongoDB/Mongoose
nodejs-sequelize-orm-database-operations-demo Sequelize ORM

实时通信

Demo名称 功能说明 状态
nodejs-socketiodemo-realtime-chat-demo Socket.io实时聊天
nodejs-websocket-realtime-communication WebSocket实时通信

工程实践

Demo名称 功能说明 状态
nodejs-jest-mockdemo-mock-unit-testing Jest Mock单元测试
nodejs-nodejsdemo-unit-testing-coverage 单元测试覆盖率
nodejs-nodejsdemo-retry-exponential-backoff 指数退避重试
nodejs-nodejs-rate-limiter-demo 限流器
nodejs-nodejshttpdemo-load-balancer-proxy HTTP负载均衡代理
nodejs-node-cron-cron-scheduler-demo Node-cron定时任务
nodejs-nodejsdemo-cron-scheduling Cron调度
nodejs-nodejs-demo-regex-validation-demo 正则验证
nodejs-multerdemo-file-upload-handling Multer文件上传
nodejs-axios-demo Axios HTTP客户端

其他Demo

Demo名称 功能说明 状态
nodejs-functional-programming-demo 函数编程实战
nodejs-callback-functions-demo 回调函数
nodejs-event-emitter-demo 事件发射器 EventEmitter
nodejs-child-process-demo 子进程管理
nodejs-spread-operator-demo 展开运算符
nodejs-array-methods-demo 数组方法 map/filter/reduce
nodejs-circuit-breaker-demo 熔断器模式
nodejs-destructuring-demo 解构赋值
nodejs-error-handling-demo 错误处理
nodejs-closures-demo 闭包
nodejs-higher-order-functions-demo 高阶函数
nodejs-nodejs-variable-types-demo 变量类型

⎈ Kubernetes (12个)

📝 KubeSkoop网络诊断工具 (10个) - 点击展开

路径: opendemo_output/kubernetes/kubeskoop/

# Demo名称 功能说明 状态
1 helm-basic-installation-guide Helm基础安装与使用
2 pod-connectivity-diagnosis Pod连通性诊断
3 service-access-diagnosis Service访问诊断
4 event-probes-configuration 事件探针配置
5 metric-probes-configuration 指标探针配置
6 packet-capture-demo 网络报文捕获
7 latency-detection-configuration 延迟检测配置
8 network-topology-visualization 网络拓扑可视化
9 prometheus-integration Prometheus集成
10 loki-event-sink-configuration Loki事件接收配置
📦 Operator Framework (2个) - 点击展开

路径: opendemo_output/kubernetes/operator-framework/

# Demo名称 功能说明 状态
1 crd-basic-usage CRD自定义资源定义
2 operator-controller-demo Operator控制器开发
🤖 Kubeflow机器学习平台 (5个,持续新增中) - 点击展开

路径: opendemo_output/kubernetes/kubeflow/

1. Central Dashboard(中心仪表板)

# Demo名称 功能说明 状态
1 dashboard-basic-setup Dashboard基础安装与配置
2 dashboard-rbac-configuration RBAC权限配置

2. Kubeflow Notebooks(交互式笔记本)

# Demo名称 功能说明 状态
3 notebook-server-creation Notebook服务器创建与配置
4 notebook-custom-image 自定义镜像使用
5 notebook-gpu-allocation GPU资源分配
6 notebook-persistent-storage 持久化存储配置

3. Kubeflow Pipelines(机器学习工作流)

# Demo名称 功能说明 状态
7 pipeline-python-component Python组件开发
8 pipeline-container-component 容器组件开发
9 pipeline-workflow-orchestration 工作流编排
10 pipeline-experiment-management 实验管理
11 pipeline-artifact-tracking 工件追踪
12 pipeline-parameterized-execution 参数化执行

4. Kubeflow Trainer(训练算子)

# Demo名称 功能说明 状态
13 trainer-pytorchjob-basic PyTorchJob单机训练
14 trainer-pytorchjob-distributed PyTorchJob分布式训练
15 trainer-tfjob-training TFJob训练作业
16 trainer-xgboostjob XGBoostJob训练
17 trainer-resource-configuration 训练资源配置

5. Kubeflow KServe(模型服务)

# Demo名称 功能说明 状态
18 kserve-model-deployment 模型部署
19 kserve-custom-predictor 自定义预测器
20 kserve-canary-rollout 金丝雀发布
21 kserve-transformer-integration Transformer集成
22 kserve-batch-inference 批量推理
23 kserve-gpu-inference GPU推理优化
24 kserve-multi-model-serving-demo 多模型部署
25 kserve-autoscaling-config-demo 自动扩缩容配置
26 kserve-ab-testing-demo A/B测试
27 kserve-model-monitoring-demo 模型监控
28 kserve-request-logging-demo 请求日志
29 kserve-explainer-integration-demo 可解释性集成

6. Kubeflow Katib(超参数调优)

# Demo名称 功能说明 状态
30 katib-hyperparameter-tuning 超参数调优基础
31 katib-random-search 随机搜索算法
32 katib-bayesian-optimization 贝叶斯优化
33 katib-early-stopping Early Stopping策略
34 katib-nas-experiment 神经架构搜索

7. Model Registry(模型注册)

# Demo名称 功能说明 状态
35 model-registry-registration 模型注册与管理
36 model-registry-version-management 模型版本管理
37 model-registry-metadata-tracking 模型元数据追踪
38 model-registry-pipeline-integration Pipeline集成

8. Spark Operator(Spark集成)

# Demo名称 功能说明 状态
39 spark-operator-basic-job Spark基础作业
40 spark-operator-streaming-job Spark Streaming作业
41 spark-operator-resource-optimization 资源优化配置
42 spark-operator-monitoring 监控与日志

进度说明:

  • ✅ 已完成(全部42个Demo均已创建)
  • 新增6个KServe高级场景Demo(#24-29)
  • 部分Demo包含完整README和配置文件
  • 所有Demo均包含metadata.json元数据

更多信息: 查看 STATUS_KUBEFLOW.md 了解详细进度


⚙️ 配置说明

配置文件

类型 路径
全局配置 ~/.opendemo/config.yaml
项目配置 ./.opendemo.yaml

主要配置项

配置项 说明 默认值
output_directory Demo输出目录 ./opendemo_output
default_language 默认语言 python
enable_verification 启用验证 false
ai.api_key API密钥 -
ai.api_endpoint API端点 OpenAI默认
ai.model 模型 gpt-4

🏗️ 项目架构

opendemo/
├── opendemo/              # 主包
│   ├── cli.py             # CLI入口 (Click)
│   ├── core/              # 业务逻辑
│   │   ├── demo_repository.py
│   │   ├── demo_search.py
│   │   ├── demo_generator.py
│   │   ├── demo_verifier.py
│   │   └── quality_checker.py  # 质量检查
│   └── services/          # 服务层
│       ├── ai_service.py
│       └── storage_service.py
├── opendemo_output/       # Demo输出
│   ├── python/
│   │   ├── <demo>/        # 基础Demo
│   │   └── libraries/     # 第三方库
│   │       └── numpy/
│   ├── go/
│   ├── nodejs/
│   └── kubernetes/        # Kubernetes工具Demo
│       ├── kubeskoop/     # KubeSkoop网络诊断
│       └── operator-framework/  # Operator开发
├── tests/                 # 测试文件 (180个测试用例)
└── check/                 # 质量检查报告

技术栈

技术 用途
Python 3.8+ 核心语言
Click CLI框架
Rich 终端美化
OpenAI API AI生成

👨‍💻 开发指南

环境搭建

git clone https://github.com/opendemo/opendemo.git
cd opendemo
pip install -e ".[dev]"

运行测试

python -m pytest tests/

运行Demo

# Python
cd opendemo_output/python/logging && python code/logging_demo.py

# Go
cd opendemo_output/go/go-goroutines && go run .

# Node.js
cd opendemo_output/nodejs/nodejs-express && npm install && node code/main.js

📄 许可证

MIT License


📬 联系方式

About

opendemo-cli

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published