DevOps助手平台

一个本地优先的DevOps助手平台,提供本地开源LLM和DevOps MCP服务器中心,支持与多种MCP主机集成,适用于DevOps自动化任务。

  • by Abhaypandey002
  • 本地部署
  • 更新于
在 GitHub 查看 Abhaypandey002/MCP-Open-Source-Host-Server---No-Claude-or-Chat-GPT

使用说明

DevOps复制平台(本地LLM+MCP服务器中心)

DevOps副驾驶平台 是本地第一位DevOps助理,他:

  • 运行a 本地开源LLM,可选择针对DevOps进行微调。
  • 暴露a DevOps MCP服务器 适用于任何兼容的MCP主机
    (克劳德桌面、ChatGPT MCP、VS代码MCP扩展、自定义主机)。
  • 让你 插入其他MCP服务器 (AWS、Kubernetes、Git、可观察性等) 只需添加他们的命令+env配置。

⚠️ 该项目旨在 本地/工作站使用.你有责任 IAM、kubeconfigs和任何生产访问。从开始 只读的 权限。


1.特点

  • ✅ 开源本地LLM (无专有型号)
  • ✅ 以DevOps为中心的微调管道 (LoRA/QLoRA)
  • ✅ MCP服务器集线器:
    • 由LLM支持的内部DevOps工具。
    • 通过配置管理的外部MCP服务器(AWS、Kubernetes、Git等)。
  • ✅ 主机不可知:
    • 从Claude、ChatGPT、VS Code MCP或您自己的主机连接。
  • ✅ 内建 护栏:
    • 只读与突变工具。
    • 危险操作前的人工确认。

2.建筑

高级组件:

  • llm_runtime/
    本地LLM集成(Ollama、vLLM、llama.cpp等)。

  • finetuning/
    数据准备+PEFT为DevOps专业化微调管道。

  • devops_skills/
    更高层次的DevOps编排(K8s分析、IaC审查、CI/CD管道)。

  • mcp_hub/
    MCP服务器集线器:

    • 将DevOps工具暴露给MCP主机。
    • 通过配置管理外部MCP服务器。
  • docs/
    集成配方和设计文档。


3.先决条件

3.1系统要求

  • 操作系统:Linux/macOS(建议使用WSL的Windows)
  • python: 3.10+
  • Node.js (可选,对于某些主机示例):18+
  • Git

3.2本地LLM运行时

挑选 一 运行时(您可以稍后进行交换):

  1. 奥拉玛

    • 从官方网站安装。

    • 安装后,拉一个模型,例如:

      ollama pull mistral
      
  2. vLLM/llama.cpp

    • 遵循他们的安装文档。
    • 确保你知道你的模型路径以及如何运行推理。

回购假设 奥拉玛 为简单起见,默认情况下。


4.快速入门

4.1复制回购

git clone https://github.com/your-org/devops-copilot-platform.git
cd devops-copilot-platform

4.2创建虚拟环境

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install --upgrade pip

4.3安装Python依赖项

pip install -r requirements.txt

典型依赖关系(简化):

  • fastapi或uvicorn(如果我们公开HTTP辅助端点)
  • 皮丹提克
  • 变压器,peft,加速(用于微调)
  • mcp/jsonrpc客户端/服务器库
  • 键入或单击(用于CLI)

4.4配置本地LLM

创建 config/llm.config.json:

{
  "backend": "ollama",
  "model": "mistral",
  "temperature": 0.2,
  "max_tokens": 2048,
  "context_length": 8192
}

如果使用不同的后端,请相应调整。


5.运行DevOps MCP服务器中心

MCP服务器中心将所有DevOps工具和连接的外部MCP服务器暴露给任何MCP主机。

5.1 MCP集线器配置

创建 config/mcp.config.json:

{
  "servers": {
    "devops-llm": {
      "type": "internal",
      "tools": [
        "devops_analyze_k8s_state",
        "devops_review_terraform",
        "devops_ci_pipeline_assistant",
        "devops_incident_summary"
      ]
    },

    "aws-api-mcp": {
      "type": "external",
      "command": "python",
      "args": ["-m", "awslabs.aws_api_mcp_server.server"],
      "env": {
        "AWS_REGION": "ap-south-1",
        "READ_OPERATIONS_ONLY": "true"
      }
    }

    // You can add other MCP servers here, e.g. Kubernetes, Git, etc.
  }
}

5.2启动MCP集线器

python -m mcp_hub.server

此过程:

  1. 负载 llm.config.json 并初始化本地DevOps模型。
  2. 阅读 mcp.config.json 致:
    • 注册内部DevOps工具。
    • 为外部MCP服务器准备命令。
  3. 在stdio上收听MCP JSON-RPC(根据MCP规范)。

6.使用来自不同主机的DevOps MCP服务器

这个项目(故意)没有发布自己的富UI。相反,您可以从首选的MCP主机连接到它。

6.1 VS代码MCP(GitHub Copilot/MCP兼容扩展)

创建 .vscode/mcp.json 在您的项目中:

{
  "servers": {
    "devops-copilot-platform": {
      "command": "python",
      "args": [
        "-m",
        "mcp_hub.server"
      ],
      "env": {
        "DEVOPS_COPILOT_CONFIG": "config/mcp.config.json",
        "LLM_CONFIG": "config/llm.config.json"
      }
    }
  }
}

然后:

  1. 打开此文件夹中的VS Code。
  2. 确保您的MCP感知扩展已安装。
  3. 扩展程序应检测 devops-copilot-platform 作为服务器,并允许您启用它。

在Copilot聊天中,您现在可以说,例如:

“使用 devops_review_terraform 该工具来自DevOps MCP服务器,用于审查此仓库中的Terraform,并强调潜在的成本和可靠性问题。”

6.2克劳德桌面/聊天GPT(MCP主机)

使用UI添加新的MCP服务器,包括:

  • 命令: python
  • 参数: ["-m", "mcp_hub.server"]
  • 环境:
    • DEVOPS_COPILOT_CONFIG=config/mcp.config.json
    • LLM_CONFIG=config/llm.config.json

然后问这样的问题:

“连接到DevOps MCP服务器并:

  • 使用AWS MCP服务器列出ap-south-1中的EC2实例。
  • 使用DevOps LLM工具来分类哪些工具未得到充分利用,并提出优化措施。”

7.精细调整DevOps模型

微调管道位于 finetuning/.

7.1数据布局

将您的训练数据放在此处:

finetuning/data/
  ├── public/
  │   ├── k8s_scenarios.jsonl
  │   ├── terraform_qa.jsonl
  │   └── ci_cd_patterns.jsonl
  └── private/
      ├── runbooks.jsonl
      └── incidents.jsonl

每 .jsonl 条目应包含结构化记录,例如:

{
  "task_type": "k8s_debug",
  "input": "kubectl describe pod ...",
  "output": "Likely cause is OOMKilled due to ..."
}

7.2运行基本LoRA微调

从项目根:

cd finetuning
python train_lora.py \
  --base_model mistral \
  --output_dir ./artifacts/devops-lora \
  --train_file data/public/k8s_scenarios.jsonl \
  --max_steps 2000

脚本应:

  1. 加载基础开源模型。
  2. 应用LoRA适配器。
  3. 保存生成的适配器权重。

7.3出口服务

根据您的运行时(Ollama、vLLM、llama.cpp),使用提供的脚本:

  • 将LoRA权重合并到完整模型中。
  • 或者配置运行时以加载base+适配器。

更新 config/llm.config.json 指向新模型。


8.安全和权限

  • 云访问:使用AWS配置文件(~/.aws/credentials)或AWS MCP服务器的env变量。
  • 从只读IAM策略开始 (例如,AWS的ReadOnlyAccess,K8的查看角色)。
  • Kubernetes:使用具有有限RBAC作用域的kubeconfigs。
  • 工具政策:在未来的版本中, mcp_hub 将支持a policy.config.json 每个工具的允许/拒绝规则。

9.路线图

  • 添加K8s MCP服务器集成配方。
  • 添加Git MCP服务器用于分支状态和PR分析。
  • 实施变异工具的执行计划预览。
  • 添加一个最小的web UI作为本地使用的可选主机。
  • 发布针对流行运行时的预调优DevOps模型配置。

10.贡献

  1. 分叉回购。
  2. 创建要素分支。
  3. 在适用的情况下编写测试。
  4. 提交一份PR,明确说明:
    • DevOps新技能
    • 新的MCP集成
    • LLM调优/评估的改进。

11.免责声明

本项目按原样提供。您负责:

  • 保护凭据和机密。
  • IAM和RBAC策略设计。
  • 在将任何更改应用于生产之前,对其进行审查和验证。