更新时间: 2025-12-09 当前版本: v0.2.0
| Phase | 状态 | 完成度 | 说明 |
|---|---|---|---|
| Phase 1: 基础框架 | ✅ 完成 | 100% | 项目结构、CLI、配置、日志系统 |
| Phase 2: Provider 实现 | 🔄 进行中 | 35% | 阿里云完成,腾讯云和 Jenkins 待实现 |
| Phase 3: CLI 实现 | ✅ 完成 | 90% | 阿里云命令完成,其他云待实现 |
| Phase 4: HTTP API | ✅ 完成 | 85% | 阿里云 API 完成,认证待完善 |
| Phase 5: MCP 协议 | ✅ 完成 | 90% | stdio 和 SSE 模式均已实现 |
| Phase 6: 钉钉集成 | ⏸️ 待开始 | 0% | 未开始 |
| Phase 7: 测试与文档 | 🔄 进行中 | 60% | 文档完善,测试待补充 |
总体完成度: 约 70%
- 标准 Go 项目结构
- Go Modules 配置
- Makefile 构建脚本
- .gitignore 配置
- Provider 接口定义
- CICDProvider 接口定义
- 统一数据模型 (Instance, Database, Job, Build)
- Provider 注册机制
- 基于 Viper 的配置加载
- 支持环境变量替换
- 多账号配置支持 (重要特性)
- YAML 配置文件格式
- 配置示例文件
- 基于 Zap 的结构化日志
- 多级别日志 (debug, info, warn, error)
- 多种输出格式 (console, json)
- 文件和标准输出支持
- ECS 客户端 (基于 SDK v4)
- RDS 客户端 (基于 SDK v2)
- 多区域客户端管理
- 懒加载机制
- SDK 版本兼容处理
- 列出 ECS 实例 (
ListECSInstances) - 获取 ECS 实例详情 (
GetECSInstance) - 支持分页查询
- 支持区域过滤
- 数据模型转换
- 基本信息 (ID, 名称, 规格, 状态)
- 网络信息 (私网 IP, 公网 IP, EIP)
- 资源信息 (CPU, 内存, OS)
- 时间信息 (创建时间, 过期时间)
- 标签和元数据
- 列出 RDS 实例 (
ListRDSInstances) - 获取 RDS 实例详情 (
GetRDSInstance) - 支持分页查询
- 支持区域过滤
- 根据引擎类型设置默认端口
- 多区域支持
- 智能查询 (指定区域 vs 聚合所有区域)
- 容错机制 (单区域失败不影响其他)
- 健康检查
-
zenops version- 版本信息 -
zenops server http- 启动 HTTP 服务器 -
zenops server mcp- 启动 MCP 服务器
-
zenops query aliyun ecs list- 列出 ECS 实例 -
zenops query aliyun ecs get <id>- 获取 ECS 详情 -
zenops query aliyun rds list- 列出 RDS 实例 -
zenops query aliyun rds get <id>- 获取 RDS 详情
- 多账号选择 (
--account参数) - 区域过滤 (
--region参数) - 分页控制 (
--page-size,--page-num) - 获取所有资源 (
--all参数,自动分页) - 多种输出格式 (
--output table/json) - 美化表格输出 (使用 lipgloss/table 库)
- 日志级别控制 (
--log-level)
- 基于标准库
net/http实现 - 日志中间件
- 错误处理
- 优雅关闭
- 请求超时控制
健康检查
-
GET /api/v1/health- 健康检查
ECS 相关
-
GET /api/v1/aliyun/ecs/list- 列出 ECS 实例- 支持参数:
account,region - 自动分页获取所有数据
- 支持参数:
-
GET /api/v1/aliyun/ecs/search- 搜索 ECS 实例- 支持参数:
account,ip,name - 支持私网 IP 和公网 IP 搜索
- 支持参数:
-
GET /api/v1/aliyun/ecs/get- 获取 ECS 详情- 支持参数:
account,instance_id
- 支持参数:
RDS 相关
-
GET /api/v1/aliyun/rds/list- 列出 RDS 实例- 支持参数:
account,region - 自动分页获取所有数据
- 支持参数:
-
GET /api/v1/aliyun/rds/search- 搜索 RDS 实例- 支持参数:
account,name,endpoint
- 支持参数:
- 统一响应格式
- JSON 编码
- 错误码映射
- 多账号支持
- 自动分页查询 (pageSize=100)
- 双模式支持: stdio 和 SSE
- JSONRPC 2.0 协议实现
- MCP 初始化握手
- MCP 工具注册和调用
- 两个实现版本:
- 手动实现版本 (
mcp.go, 839 行) - 基于 mcp-go 库的版本 (
mcp_with_lib.go, 553 行)
- 手动实现版本 (
ECS Tools
-
search_ecs_by_ip- 根据 IP 搜索 ECS- 支持私网和公网 IP
- 自动分页搜索所有区域
-
search_ecs_by_name- 根据名称搜索 ECS -
list_ecs- 列出 ECS 实例列表- 支持账号和区域参数
- 自动分页获取所有数据
-
get_ecs- 获取 ECS 实例详情
RDS Tools
-
list_rds- 列出 RDS 数据库列表- 支持账号和区域参数
- 自动分页获取所有数据
-
search_rds_by_name- 根据名称搜索 RDS
- stdio 模式 (适用于 Claude Desktop)
- SSE 模式 (适用于 Web 集成)
- 心跳机制 (SSE 模式)
- 客户端连接管理
- 多账号支持
- 自动分页获取全量数据
- 结果 JSON 格式化
- README.md - 项目说明
- DESIGN.md - 详细设计文档
- docs/getting-started.md - 快速入门
- docs/aliyun-provider.md - 阿里云使用指南
- docs/aliyun-implementation.md - 阿里云技术实现
- docs/implementation-summary.md - 实现总结
- PROJECT_STATUS.md - 项目进度 (本文档)
- 实现腾讯云客户端封装
- 实现 CVM 查询功能
- 实现数据库查询功能
- CLI 命令实现
- HTTP API 端点
- MCP Tools 定义
- 编写文档
- 实现 Jenkins 客户端封装
- 实现 Job 查询功能
- 实现 Build 查询功能
- CLI 命令实现
- HTTP API 端点
- MCP Tools 定义
- 编写文档
-
zenops config- 配置管理命令 -
zenops query all instances- 跨云聚合查询 -
zenops query tencent cvm list- 腾讯云查询 -
zenops query jenkins jobs- Jenkins 查询
- 认证中间件实现
-
GET /api/v1/providers- 列出所有提供商 -
GET /api/v1/instances- 跨云聚合查询实例 -
GET /api/v1/databases- 跨云聚合查询数据库 - 腾讯云相关端点
- Jenkins 相关端点
- Swagger/OpenAPI 文档
- MCP Resources 定义
- 腾讯云 MCP Tools
- Jenkins MCP Tools
- 跨云聚合 Tools
- 创建钉钉应用
- 实现 OAuth 认证
- 消息回调处理
- 消息解析 (意图识别)
- 对接 MCP Server
- 结果格式化 (Markdown 卡片)
- 错误处理
- 会话管理
- 权限控制
- 审计日志
- 单元测试
- Provider 测试
- CLI 命令测试
- HTTP API 测试
- MCP Server 测试
- 集成测试
- 性能测试
- 测试覆盖率 > 70%
- Docker 镜像
- Kubernetes 部署配置
- CI/CD 流程
- 性能优化 (并发查询)
- 缓存机制
- Metrics 和 Tracing
- 告警集成
| 模块 | 文件数 | 代码行数 | 说明 |
|---|---|---|---|
| 阿里云 Provider | 5 | 617 | 完整实现 |
| CLI 命令 (阿里云) | 1 | 320 | 含多账号、分页等 |
| HTTP Server | 1 | 529 | 含搜索功能 |
| MCP Server (手动) | 1 | 839 | stdio + SSE 模式 |
| MCP Server (库) | 1 | 553 | 基于 mcp-go |
| 核心接口 | 2 | 150 | Provider 接口 |
| 数据模型 | 4 | 200 | 统一模型 |
| 配置管理 | 2 | 250 | 多账号支持 |
| 工具函数 | 2 | 180 | 日志和错误 |
| 总计 | 19 | ~3,638 | - |
| 文档 | 字数 | 说明 |
|---|---|---|
| DESIGN.md | ~8,000 | 设计文档 |
| README.md | ~1,500 | 项目说明 |
| aliyun-provider.md | ~3,500 | 用户指南 |
| aliyun-implementation.md | ~4,000 | 技术文档 |
| getting-started.md | ~2,500 | 快速入门 |
| implementation-summary.md | ~2,500 | 实现总结 |
| PROJECT_STATUS.md | ~2,000 | 进度跟踪 |
| 总计 | ~24,000 | - |
- 配置文件支持配置多个阿里云账号
- CLI、HTTP API 和 MCP 均支持账号选择
- 默认使用第一个启用的账号
- CLI 提供
--all参数 - HTTP API 和 MCP 默认自动分页
- 提高数据完整性和用户体验
- 手动实现版本 (完全控制)
- 基于库的版本 (快速开发)
- 支持 stdio 和 SSE 两种模式
- 使用 lipgloss/table 库
- 提供更好的 CLI 用户体验
- 边框和颜色美化
- HTTP API 支持按 IP/名称搜索 ECS
- MCP 支持多种搜索 Tools
- 提高查询效率
-
实现腾讯云 Provider
- CVM 查询
- 数据库查询
- CLI 和 API 集成
-
实现 Jenkins Provider
- Job 查询
- Build 历史
- CLI 和 API 集成
-
完善认证功能
- Token 认证
- API Key 管理
-
钉钉集成
- 机器人开发
- 对话式查询
- Markdown 卡片展示
-
测试完善
- 单元测试
- 集成测试
- 测试覆盖率
-
性能优化
- 并发查询
- 缓存机制
- 连接池
- Web 控制台
- 更多云平台 (AWS, 华为云)
- 资源监控和告警
- 自动化操作能力
- ✅ 实现 HTTP API 服务器
- ✅ 实现 MCP 协议支持 (stdio + SSE)
- ✅ 增强 CLI 功能 (多账号、自动分页、美化表格)
- ✅ 完善配置管理 (多账号支持)
- ✅ 新增搜索功能 (HTTP API 和 MCP)
- ✅ 更新文档
- ✅ 基础框架搭建
- ✅ 阿里云 Provider 实现
- ✅ CLI 基础命令
- ✅ 初始文档
欢迎贡献代码!
当前优先级:
- 腾讯云 Provider 实现
- Jenkins Provider 实现
- 单元测试编写
- 认证功能完善
维护者: @eryajf 许可证: MIT 最后更新: 2025-12-09