DevOps自动化平台

GenieOps是一个AI驱动的DevOps自动化平台,通过自然语言命令帮助开发者部署、监控和管理基础设施,支持多云环境、容器编排和CI/CD流程。

  • by Kartikvyas1604
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Kartikvyas1604/devops-mcp

使用说明

GenieOps 的🧞

人工智能驱动的DevOps自动化平台

像与朋友交谈一样与你的基础设施交谈。使用自然语言部署、监控和管理所有内容。


🚀 快速开始

  1. 安装GenieOps 来自VS代码市场
  2. 点击🧞 图标 在活动栏(左侧边栏)中
  3. 配置Gemini API密钥:
    • 从获取免费密钥 谷歌AI工作室
    • 在提示时粘贴(或在设置中粘贴→ GenieOps→ Google API密钥)
  4. 开始聊天! 按 Cmd+Shift+O (Mac)或 Ctrl+Shift+O (Windows/Linux)

✨ GenieOps能做什么?

💬 自然语言命令

只需用简单的英语键入您想要的内容:

"Deploy my app to AWS"
"Show me all running containers"
"Create a CI/CD pipeline for this Next.js project"
"Scale my Kubernetes deployment to 5 replicas"
"What's using the most CPU in production?"

☁️ 多云支持

提供者 你能做什么
亚马逊云服务 部署Lambda功能,管理S3、EC2、ECS、CloudWatch监控
谷歌云 云运行、GKE集群、云功能、地面军事系统存储
Azure 应用服务、AKS、函数、Blob存储、容器注册表

🐳 容器和编排

  • 码头工人:构建、运行、停止、记录、检查容器和映像
  • Kubernetes:部署、扩展、更新Pod、服务和部署
  • 舵:安装和管理图表

🔄 CI/CD和Git

  • GitHub:repo、PR、问题、操作工作流
  • GitLab:管道、合并请求
  • 詹金斯:工作和建设

💬 团队协作

  • Slack:发送部署通知和警报
  • Jira:创建问题、更新工单、冲刺管理

🎨 漂亮的界面

GenieOps具有受GitHub Copilot启发的现代聊天界面:

  • 多种AI模型:在Gemini Pro、Gemini Flash、Claude、GPT-4和困惑之间进行选择
  • 代理模式:代理、助理、代码或DevOps专用模式
  • 聪明的建议:上下文感知命令建议
  • 实时打字指示器:看看GenieOps什么时候在思考
  • 可视消息组:干净、有组织的对话视图

🔧 主要特点

  • 🎯 项目自动检测:自动检测你的堆栈(Next.js、React、Node.js、Python等)
  • 🔐 安全凭证存储:所有API密钥安全存储在VS Code的安全存储中
  • 📊 实时监控:部署和基础设施的实时状态更新
  • 🔄 工作流自动化:常见DevOps任务的预构建模板
  • 📝 命令历史记录:跟踪和回放以前的操作
  • 🌐 多云:在AWS、GCP和Azure之间无缝切换

⚙️ 配置

必需:Gemini API密钥

  1. 打开VS代码设置(Cmd+, 在Mac上, Ctrl+, 在Windows/Linux上)
  2. 搜索“GenieOps”
  3. 输入您的Gemini API密钥(在 谷歌AI工作室)

可选:其他AI模型

为特殊任务配置其他模型:

  • API密钥:用于复杂的推理任务
  • OpenAI API密钥:用于GPT-4支持
  • 无烟煤API密钥:克劳德3.5

可选:云提供商

连接您的云帐户:

  1. 点击🧞 活动栏中的图标
  2. 转到“连接”视图
  3. 单击“+”添加AWS、GCP或Azure凭据

🎮 用法示例

示例1:部署Web应用程序

Open Chat (Cmd+Shift+O) and type:
"Deploy my Next.js app to Vercel"

示例2:Docker管理

"Show me all running containers"
"Stop the nginx container"
"Build a Docker image from the current directory"

示例3:Kubernetes操作

"Scale my web deployment to 5 replicas"
"Show me pods in the production namespace"
"Update the config map with new environment variables"

示例4:CI/CD管道

"Generate a GitHub Actions workflow for this project"
"Create a Dockerfile optimized for production"

⌨️ 键盘快捷键

快捷方式 操作
Cmd+Shift+O (Mac)或 Ctrl+Shift+O (Win/Linux) 打开聊天面板
Cmd+Shift+G (Mac)或 Ctrl+Shift+G (Win/Linux) 运行快速命令

🏗️ 建筑

GenieOps由以下部分构建:

  • TypeScript 用于类型安全
  • VS代码扩展API 用于本地集成
  • 双子座人工智能 作为主要的情报层
  • MCP(模型上下文协议) 用于工具编排
  • 安全的凭证存储 在VS Code的秘密存储中

📦 发展

想要贡献或定制GenieOps吗?

# Clone the repository
git clone https://github.com/Kartikvyas1604/GenieOps.git
cd GenieOps

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Watch mode for development
npm run watch

然后按 F5 在VS Code中启动扩展开发主机。

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推你的叉子
  5. 打开拉取请求

📝 许可证

MIT许可证-请参阅 许可证 详细信息文件

🐛 故障排除

“未配置API密钥”

转到“设置”→ GenieOps→ 谷歌API密钥并输入您的Gemini API密钥

“无法连接到云提供商”

在“连接”面板中检查您的凭据。单击服务以重新进行身份验证。

聊天面板为空白

尝试重新加载VS代码(Cmd+R 或 Ctrl+R)

扩展未出现

确保您已单击🧞 活动栏(左侧边栏)中的精灵图标

❓ 常见问题解答

Q: GenieOps是免费的吗?
A: 是的!GenieOps是开源的。您只需为您的云/API使用付费(Gemini有一个慷慨的免费层)。

Q: Agent和Assistant模式有什么区别?
A: 代理模式可以自动执行操作,而助手模式则无需更改即可提供指导。

Q: 我可以在生产中使用这个吗?
A: 是的,但在执行之前一定要检查命令,并在测试阶段先进行测试。

Q: 我应该使用哪种AI模型?
A. Gemini Pro 是速度和能力的最佳平衡。使用 双子座闪光 用于快速查询或 克劳德/GPT-4 用于复杂的推理。

🙏 致谢

内置:


制作💜 由开发者,为开发者

报告Bug · 请求功能 · 文档

⭐ 如果GenieOps能帮到你,请在GitHub上为我们投票!


🔌 MCP服务器工具

该扩展通过模型上下文协议公开了35多种工具:

Docker工具

  • docker_list_containers -列出所有容器
  • docker_run_container -运行一个新容器
  • docker_stop_container -停止运行容器
  • docker_build_image -构建Docker镜像
  • docker_push_image -将图像推送到注册表

Kubernetes工具

  • k8s_get_pods -在命名空间中列出Pod
  • k8s_apply_manifest -应用YAML清单
  • k8s_scale_deployment -扩展部署副本
  • k8s_rollout_status -检查卷展状态
  • helm_install -安装Helm chart

云工具

  • aws_lambda_invoke -调用Lambda函数
  • aws_s3_list_buckets -列出S3存储桶
  • gcp_run_deploy -部署到云端运行
  • azure_function_invoke -调用Azure函数

Git工具

  • git_clone -克隆存储库
  • git_create_branch -创建新分支
  • git_create_pr -创建pull请求
  • github_trigger_workflow -触发GitHub操作

🛡️ 弹性和可靠性

生产可靠性的内置模式:

import { resilience, CircuitBreaker, RetryManager } from './utils';

// Combined resilience policy
const policy = resilience()
  .withCircuitBreaker({ failureThreshold: 5 })
  .withRetry({ maxAttempts: 3, backoffMultiplier: 2 })
  .withBulkhead({ maxConcurrent: 10 })
  .withTimeout(30000);

const result = await policy.execute(() => apiCall());

特性

  • 断路器:防止级联故障
  • 使用回退重试:具有抖动的指数回退
  • 隔板:并发隔离
  • 速率限制:令牌桶和滑动窗口
  • 超时控制:可配置的操作超时

📊 可观测性

全面的指标收集:

import { metrics, commandMetrics } from './utils';

// Track command execution
commandMetrics.executed.inc();
commandMetrics.duration.time(async () => {
  await executeCommand();
});

// Export Prometheus metrics
const prometheusOutput = metrics.exportPrometheus();

指标类型

  • 计数器:单调递增的值
  • 测量:可以上升/下降的值
  • 直方图:价值分布
  • 计时器:用百分位数表示的持续时间测量

🧪 测试

# Run all tests
npm test

# Run specific test suite
npm test -- --grep "GitHub"

# Run with coverage
npm run test:coverage

测试覆盖范围包括:

  • 所有集成的单元测试
  • AI编排器测试
  • NLP解析测试
  • 工作流引擎测试
  • MCP工具测试

🤝 贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'feat: add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📜 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。


🙏 致谢


内置于❤️ DevOps社区

文档 · 报告Bug · 请求功能