DevOps Copilot 平台 是一个以本地优先的DevOps助手,它:
- 运行一个本地开源LLM,可选地针对DevOps进行微调。
- 暴露一个DevOps MCP服务器,可以与任何兼容的MCP主机工作(Claude桌面版、ChatGPT MCP、VS Code MCP扩展、自定义主机)。
- 允许你通过添加命令+环境配置来接入其他MCP服务器(如AWS、Kubernetes、Git、可观测性等)。
⚠️ 本项目设计用于本地/工作站使用。您需要负责IAM、kubeconfigs以及任何生产访问权限。从只读权限开始。
- ✅ 开源本地LLM(无专有模型)
- ✅ 面向DevOps的微调流水线(LoRA/QLoRA)
- ✅ MCP服务器中心:
- 内部由LLM驱动的DevOps工具。
- 通过配置管理外部MCP服务器(如AWS、Kubernetes、Git等)。
- ✅ 主机无关性:
- 可从Claude、ChatGPT、VS Code MCP或您自己的主机连接。
- ✅ 内置护栏:
- 只读与变更工具。
- 在执行风险操作前的人工确认。
高层次组件:
llm_runtime/
本地LLM集成(Ollama、vLLM、llama.cpp等)。
finetuning/
数据准备+PEFT微调流水线,用于DevOps专业化。
devops_skills/
高级的DevOps编排(K8s分析、IaC审查、CI/CD流水线)。
mcp_hub/
MCP服务器中心,它:
- 向MCP主机暴露DevOps工具。
- 通过配置管理外部MCP服务器。
docs/
集成配方和设计文档。
- 操作系统:Linux / macOS(推荐Windows通过WSL)
- Python:3.10+
- Node.js(可选,用于某些主机示例):18+
- Git
选择一个运行时(以后可以更换):
- Ollama
- 从官方网站安装。
- 安装后,拉取一个模型,例如:
ollama pull mistral
- vLLM / llama.cpp
- 跟随其安装文档。
- 确保你知道你的模型路径及如何运行推理。
为了简单起见,默认假设使用Ollama。
git clone https://github.com/your-org/devops-copilot-platform.git cd devops-copilot-platform
python -m venv .venv source .venv/bin/activate # Windows: .venvScriptsactivate pip install --upgrade pip
pip install -r requirements.txt
典型依赖项(简化):
- fastapi 或 uvicorn(如果暴露HTTP辅助端点)
- pydantic
- transformers, peft, accelerate(用于微调)
- mcp / jsonrpc 客户端/服务器库
- typer 或 click(用于CLI)
创建 config/llm.config.json:
{ "backend": "ollama", "model": "mistral", "temperature": 0.2, "max_tokens": 2048, "context_length": 8192 }
如果使用不同的后端,请相应调整。
MCP服务器中心向任何MCP主机暴露所有DevOps工具和已连接的外部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" } } // 您可以在这里添加其他MCP服务器,例如Kubernetes、Git等。 } }
python -m mcp_hub.server
此过程:
- 加载
llm.config.json并初始化本地DevOps模型。 - 读取
mcp.config.json来:- 注册内部DevOps工具。
- 准备外部MCP服务器的命令。
- 根据MCP规范监听stdio上的MCP JSON-RPC。
本项目不自带丰富的UI(有意为之)。相反,你可以从你偏好的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" } } } }
然后:
- 在这个文件夹中打开VS Code。
- 确保安装了MCP感知扩展。
- 扩展应该检测到
devops-copilot-platform作为服务器并允许你启用它。
在Copilot聊天中,你现在可以说,例如:
“使用DevOps MCP服务器中的
devops_review_terraform工具来审查这个仓库中的Terraform,并突出潜在的成本和可靠性问题。”
使用UI添加一个新的MCP服务器:
- 命令:
python - 参数:
["-m", "mcp_hub.server"] - 环境变量:
DEVOPS_COPILOT_CONFIG=config/mcp.config.jsonLLM_CONFIG=config/llm.config.json
然后询问类似的问题:
“连接到DevOps MCP服务器并:
- 使用AWS MCP服务器列出ap-south-1区域的EC2实例。
- 使用你的DevOps LLM工具分类哪些看起来利用率低,并提出优化措施。”
微调流水线位于 finetuning/ 中。
将训练数据放置于此:
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": "可能的原因是由于内存溢出导致的OOMKilled…" }
从项目根目录开始:
cd finetuning python train_lora.py –base_model mistral –output_dir ./artifacts/devops-lora –train_file data/public/k8s_scenarios.jsonl –max_steps 2000
该脚本应:
- 加载基础开源模型。
- 应用LoRA适配器。
- 保存生成的适配器权重。
根据您的运行时(Ollama、vLLM、llama.cpp),使用提供的脚本来:
- 将LoRA权重合并到完整模型中。
- 或者配置运行时加载基础模型+适配器。
更新 config/llm.config.json 以指向新模型。
- 云访问:使用AWS配置文件(
~/.aws/credentials)或环境变量为AWS MCP服务器。 - 从只读IAM策略开始(例如,AWS的ReadOnlyAccess,K8s的查看角色)。
- Kubernetes:使用具有有限RBAC范围的kubeconfigs。
- 工具策略:在未来版本中,
mcp_hub将支持一个policy.config.json,用于每种工具的允许/拒绝规则。
- 添加K8s MCP服务器集成配方。
- 添加Git MCP服务器,用于分支状态和PR分析。
- 实现对变更工具的执行计划预览。
- 添加一个最小的Web UI作为本地使用的可选主机。
- 发布针对流行运行时的预调DevOps模型配置。
- 分叉仓库。
- 创建一个特性分支。
- 编写适用的测试。
- 提交PR,并清晰描述:
- 新的DevOps技能
- 新的MCP集成
- 对LLM调优/评估的改进。
本项目按现状提供。您需负责:
- 保护凭证和秘密。
- 设计IAM和RBAC策略。
- 审查并验证任何更改,在将其应用于生产之前。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/274185.html