使用说明
GenieOps 的🧞
人工智能驱动的DevOps自动化平台
像与朋友交谈一样与你的基础设施交谈。使用自然语言部署、监控和管理所有内容。
🚀 快速开始
- 安装GenieOps 来自VS代码市场
- 点击🧞 图标 在活动栏(左侧边栏)中
- 配置Gemini API密钥:
- 从获取免费密钥 谷歌AI工作室
- 在提示时粘贴(或在设置中粘贴→ GenieOps→ Google API密钥)
- 开始聊天! 按
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密钥
- 打开VS代码设置(
Cmd+,在Mac上,Ctrl+,在Windows/Linux上) - 搜索“GenieOps”
- 输入您的Gemini API密钥(在 谷歌AI工作室)
可选:其他AI模型
为特殊任务配置其他模型:
- API密钥:用于复杂的推理任务
- OpenAI API密钥:用于GPT-4支持
- 无烟煤API密钥:克劳德3.5
可选:云提供商
连接您的云帐户:
- 点击🧞 活动栏中的图标
- 转到“连接”视图
- 单击“+”添加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中启动扩展开发主机。
🤝 贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推你的叉子
- 打开拉取请求
📝 许可证
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 用于复杂的推理。
🙏 致谢
内置:
制作💜 由开发者,为开发者
⭐ 如果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-在命名空间中列出Podk8s_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工具测试
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'feat: add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📜 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
内置于❤️ DevOps社区