代理: Gage (运维者) 版本: 2.0.0 最后更新: 2026-02-04
@devops (Gage) 代理是 AIOX 框架的基础设施和运维专家。负责:
- MCP 治理:MCP(模型上下文协议)服务器的独家管理
- CI/CD:持续集成和交付管道的配置和维护
- 发布:版本管理和发布发布
- 仓库:维护、清理和代码质量
- 安全:安全审计和扫描
- 环境:新项目引导和环境配置
名称: Gage
角色: 运维者
专业: DevOps、基础设施、CI/CD、MCP
理念: "自动化一切可以自动化的"重要: 所有 MCP 基础设施操作由 DevOps 代理独家管理。其他代理(Dev、Architect 等)是 MCP 的消费者,而非管理员。
| 文件 | 路径 | 描述 |
|---|---|---|
| 代理定义 | .aiox-core/development/agents/devops.md |
角色、命令和行为 |
| 任务 | 路径 | 命令 |
|---|---|---|
| 推送前质量门禁 | .aiox-core/development/tasks/github-devops-pre-push-quality-gate.md |
*push |
| 版本管理 | .aiox-core/development/tasks/github-devops-version-management.md |
*version-check |
| 仓库清理 | .aiox-core/development/tasks/github-devops-repository-cleanup.md |
*cleanup |
| CI/CD 配置 | .aiox-core/development/tasks/ci-cd-configuration.md |
*ci-cd |
| 发布管理 | .aiox-core/development/tasks/release-management.md |
*release |
| 环境引导 | .aiox-core/development/tasks/environment-bootstrap.md |
*environment-bootstrap |
| 搜索 MCP | .aiox-core/development/tasks/search-mcp.md |
*search-mcp |
| 添加 MCP | .aiox-core/development/tasks/add-mcp.md |
*add-mcp |
| 设置 MCP Docker | .aiox-core/development/tasks/setup-mcp-docker.md |
*setup-mcp-docker |
| 设置 GitHub | .aiox-core/development/tasks/setup-github.md |
*setup-github |
| 安全审计 | .aiox-core/development/tasks/security-audit.md |
*security-audit |
| 安全扫描 | .aiox-core/development/tasks/security-scan.md |
*security-scan |
| 文件 | 路径 | 目的 |
|---|---|---|
| MCP 规则 | .claude/rules/mcp-usage.md |
MCP 治理和使用 |
| N8N 规则 | .claude/rules/n8n-operations.md |
N8N 基础设施操作 |
flowchart TB
subgraph "DevOps 代理 (Gage)"
A[/"@devops"/]
end
subgraph "MCP 管理"
MCP1["*search-mcp"]
MCP2["*add-mcp"]
MCP3["*list-mcps"]
MCP4["*remove-mcp"]
MCP5["*setup-mcp-docker"]
end
subgraph "Git/GitHub 操作"
GIT1["*push"]
GIT2["*setup-github"]
GIT3["*cleanup"]
end
subgraph "CI/CD 和发布"
CI1["*ci-cd"]
CI2["*release"]
CI3["*version-check"]
end
subgraph "安全"
SEC1["*security-scan"]
SEC2["*security-audit"]
end
subgraph "环境"
ENV1["*environment-bootstrap"]
end
A --> MCP1 & MCP2 & MCP3 & MCP4 & MCP5
A --> GIT1 & GIT2 & GIT3
A --> CI1 & CI2 & CI3
A --> SEC1 & SEC2
A --> ENV1
flowchart TD
START[/"*push"/] --> LINT["执行 Lint"]
LINT --> LINT_OK{通过?}
LINT_OK -->|是| TEST["执行测试"]
LINT_OK -->|否| FIX_LINT["修复 Lint 错误"]
FIX_LINT --> LINT
TEST --> TEST_OK{通过?}
TEST_OK -->|是| TYPE["检查类型"]
TEST_OK -->|否| FIX_TEST["修复测试"]
FIX_TEST --> TEST
TYPE --> TYPE_OK{通过?}
TYPE_OK -->|是| BUILD["验证构建"]
TYPE_OK -->|否| FIX_TYPE["修复类型"]
FIX_TYPE --> TYPE
BUILD --> BUILD_OK{通过?}
BUILD_OK -->|是| PUSH["git push"]
BUILD_OK -->|否| FIX_BUILD["修复构建"]
FIX_BUILD --> BUILD
PUSH --> SUCCESS[/"推送完成"/]
flowchart TD
START[/"*release"/] --> ANALYZE["分析提交"]
ANALYZE --> BUMP["确定版本号"]
BUMP --> MAJOR{Major?}
MAJOR -->|是| V_MAJOR["X.0.0"]
MAJOR -->|否| MINOR{Minor?}
MINOR -->|是| V_MINOR["x.Y.0"]
MINOR -->|否| V_PATCH["x.y.Z"]
V_MAJOR & V_MINOR & V_PATCH --> CHANGELOG["生成 CHANGELOG"]
CHANGELOG --> TAG["创建 Git Tag"]
TAG --> RELEASE["创建 GitHub Release"]
RELEASE --> NOTIFY["通知团队"]
NOTIFY --> END[/"发布已发布"/]
flowchart TD
subgraph "搜索和选择"
SEARCH[/"*search-mcp"/] --> CATALOG["查询目录"]
CATALOG --> FILTER["按类别过滤"]
FILTER --> SELECT["选择 MCP"]
end
subgraph "安装"
SELECT --> ADD[/"*add-mcp"/]
ADD --> SCOPE{"范围?"}
SCOPE -->|用户| GLOBAL["~/.claude.json"]
SCOPE -->|项目| PROJECT[".mcp.json"]
SCOPE -->|本地| LOCAL["settings.local.json"]
end
subgraph "Docker 配置"
ADD --> DOCKER{Docker MCP?}
DOCKER -->|是| SETUP[/"*setup-mcp-docker"/]
SETUP --> TOOLKIT["Docker MCP Toolkit"]
TOOLKIT --> SECRETS["配置 Secrets"]
end
GLOBAL & PROJECT & LOCAL --> VALIDATE["验证安装"]
SECRETS --> VALIDATE
VALIDATE --> READY[/"MCP 就绪"/]
flowchart TD
START[/"*ci-cd"/] --> DETECT["检测平台"]
DETECT --> PLATFORM{平台?}
PLATFORM -->|GitHub| GHA["GitHub Actions"]
PLATFORM -->|GitLab| GLC["GitLab CI"]
PLATFORM -->|CircleCI| CCI["CircleCI"]
GHA --> CONFIG_GHA["生成 .github/workflows/"]
GLC --> CONFIG_GLC["生成 .gitlab-ci.yml"]
CCI --> CONFIG_CCI["生成 .circleci/config.yml"]
CONFIG_GHA & CONFIG_GLC & CONFIG_CCI --> STAGES["配置阶段"]
STAGES --> LINT_STAGE["阶段:Lint"]
STAGES --> TEST_STAGE["阶段:Test"]
STAGES --> BUILD_STAGE["阶段:Build"]
STAGES --> DEPLOY_STAGE["阶段:Deploy"]
LINT_STAGE & TEST_STAGE & BUILD_STAGE & DEPLOY_STAGE --> CODERABBIT["集成 CodeRabbit"]
CODERABBIT --> COMMIT["提交配置"]
COMMIT --> END[/"CI/CD 已配置"/]
flowchart TD
START[/"*environment-bootstrap"/] --> ELICIT["收集信息"]
ELICIT --> Q1["项目名称?"]
Q1 --> Q2["技术栈?"]
Q2 --> Q3["项目类型?"]
Q3 --> INSTALL["安装 CLI 工具"]
INSTALL --> CLI1["Node.js/npm"]
INSTALL --> CLI2["GitHub CLI"]
INSTALL --> CLI3["Docker"]
CLI1 & CLI2 & CLI3 --> GIT_SETUP["配置 Git"]
GIT_SETUP --> REPO["创建仓库"]
REPO --> STRUCTURE["创建结构"]
STRUCTURE --> DIR1["apps/"]
STRUCTURE --> DIR2["packages/"]
STRUCTURE --> DIR3["docs/"]
STRUCTURE --> DIR4[".aiox-core/"]
DIR1 & DIR2 & DIR3 & DIR4 --> TEMPLATES["应用模板"]
TEMPLATES --> DEPS["安装依赖"]
DEPS --> VALIDATE["验证设置"]
VALIDATE --> END[/"环境就绪"/]
| 命令 | 任务 | 描述 | 模式 |
|---|---|---|---|
*search-mcp |
search-mcp.md | 在目录中搜索 MCP | 交互式 |
*add-mcp |
add-mcp.md | 安装 MCP 服务器 | 交互式 |
*list-mcps |
(内联) | 列出已启用的 MCP | YOLO |
*remove-mcp |
(内联) | 移除 MCP 服务器 | 交互式 |
*setup-mcp-docker |
setup-mcp-docker.md | 配置 Docker MCP Toolkit | 交互式 |
| 命令 | 任务 | 描述 | 模式 |
|---|---|---|---|
*push |
github-devops-pre-push-quality-gate.md | 推送前质量门禁 | 交互式 |
*setup-github |
setup-github.md | 配置 GitHub 仓库 | 交互式 |
*cleanup |
github-devops-repository-cleanup.md | 清理分支和文件 | 交互式 |
| 命令 | 任务 | 描述 | 模式 |
|---|---|---|---|
*ci-cd |
ci-cd-configuration.md | 配置 CI/CD 管道 | 交互式 |
*release |
release-management.md | 创建带 changelog 的发布 | 交互式 |
*version-check |
github-devops-version-management.md | 分析并建议版本 | YOLO |
| 命令 | 任务 | 描述 | 模式 |
|---|---|---|---|
*security-scan |
security-scan.md | 漏洞扫描 | 交互式 |
*security-audit |
security-audit.md | 完整安全审计 | 交互式 |
| 命令 | 任务 | 描述 | 模式 |
|---|---|---|---|
*environment-bootstrap |
environment-bootstrap.md | 新项目引导 | 交互式 |
flowchart LR
subgraph "DevOps (Gage)"
DEVOPS["@devops"]
end
subgraph "开发"
DEV["@dev"]
QA["@qa"]
end
subgraph "管理"
PM["@pm"]
PO["@po"]
SM["@sm"]
end
subgraph "架构"
ARCH["@architect"]
end
DEV -->|"请求 MCP"| DEVOPS
DEV -->|"触发 *push"| DEVOPS
QA -->|"请求安全扫描"| DEVOPS
PM -->|"请求发布"| DEVOPS
ARCH -->|"定义 CI/CD"| DEVOPS
DEVOPS -->|"通知部署"| SM
DEVOPS -->|"报告漏洞"| PO
| 操作 | DevOps | Dev | QA | Architect | PM |
|---|---|---|---|---|---|
| 管理 MCP | 负责人 | 消费者 | 消费者 | 消费者 | - |
| CI/CD 配置 | 负责人 | 审查者 | - | 批准者 | - |
| 发布 | 负责人 | - | 验证者 | - | 请求者 |
| 安全扫描 | 负责人 | - | 共同负责人 | - | - |
| 仓库设置 | 负责人 | - | - | 审查者 | - |
| 环境引导 | 负责人 | 请求者 | - | - | - |
- Dev 需要 MCP:
@dev->@devops *add-mcp - QA 需要安全:
@qa->@devops *security-scan - PM 请求发布:
@pm->@devops *release - Architect 定义管道:
@architect->@devops *ci-cd
文件:~/.claude.json
{
"mcpServers": {
"context7": {
"type": "sse",
"url": "https://mcp.context7.com/sse"
},
"playwright": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-playwright"]
},
"desktop-commander": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-desktop-commander"]
}
}
}文件:.mcp.json
{
"mcpServers": {
"project-specific-mcp": {
"command": "node",
"args": ["./mcp-server/index.js"]
}
}
}文件:~/.docker/mcp/catalogs/docker-mcp.yaml
exa:
env:
- name: EXA_API_KEY
value: '你的密钥'
apify:
env:
- name: APIFY_TOKEN
value: '你的令牌'# GitHub
GITHUB_TOKEN=ghp_xxxxxxxxxxxx
# CI/CD
CI_ENVIRONMENT=production
# MCP
MCP_DEBUG=true-
最小权限原则
- 测试 MCP 使用
local范围 - 共享 MCP 使用
project范围 - 个人工具使用
user范围
- 测试 MCP 使用
-
文档
- 记录添加到项目的所有 MCP
- 保持 README 更新所需的 MCP
-
安全
- 永不在
.mcp.json中提交 API 密钥 - 使用环境变量存储凭据
- 定期轮换令牌
- 永不在
-
管道阶段
lint -> test -> build -> deploy -
质量门禁
- 要求 80%+ 测试覆盖率
- lint 错误时构建失败
- 集成 CodeRabbit 进行自动代码审查
-
发布
- 使用语义版本控制(SemVer)
- 自动生成 CHANGELOG
- 创建签名标签
-
定期清理
- 每月执行
*cleanup - 移除合并超过 30 天的分支
- 清理临时文件
- 每月执行
-
分支保护
- 保护
main和develop - 合并前要求审查
- 启用状态检查
- 保护
-
定期扫描
- 每周执行
*security-scan - 使用
npm audit审计依赖 - 检查暴露的机密
- 每周执行
-
漏洞响应
- 优先处理关键 CVE
- 记录修复措施
- 通知利益相关者
# 检查状态
claude mcp list
# 检查日志(如果可用)
tail -f ~/.claude/logs/mcp*.log
# 手动测试服务器
npx -y @package/mcp-server症状: docker mcp tools ls 显示 "(N prompts)" 而不是 "(N tools)"
原因: Docker MCP Toolkit 的 secrets bug
解决方案:
- 编辑
~/.docker/mcp/catalogs/docker-mcp.yaml - 将模板替换为硬编码值
- 重启 MCP 容器
# 本地验证日志
npm run lint
npm run test
npm run build
# 检查配置
cat .github/workflows/ci.yml- 验证 app 已安装在仓库中
- 检查 GitHub App 权限
- 检查
.coderabbit.yaml文件
# 检查现有标签
git tag -l
# 删除本地和远程标签(如有必要)
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0- 检查提交格式(Conventional Commits)
- 检查自上次发布是否有提交
- 手动执行:
npx conventional-changelog
# 强制解决
npm audit fix --force
# 忽略特定漏洞(谨慎使用)
npm audit --ignore-advisories=ADVISORY_ID| 任务 | 描述 |
|---|---|
| 推送前质量门禁 | 推送前验证 |
| 版本管理 | 版本管理 |
| CI/CD 配置 | 管道配置 |
| 发布管理 | 发布管理 |
| 环境引导 | 环境引导 |
| 方面 | 详情 |
|---|---|
| 代理 | Gage (运维者) |
| 激活 | @devops |
| 命令总数 | 14 |
| 任务总数 | 12 |
| 作用领域 | MCP、CI/CD、发布、安全、仓库 |
| 主要规则 | MCP 基础设施独家治理 |
| 默认模式 | 交互式 |
| 版本 | 2.0.0 |
# MCP
@devops *search-mcp "browser automation"
@devops *add-mcp playwright -s user
# Git/GitHub
@devops *push
@devops *cleanup
# CI/CD
@devops *ci-cd github-actions
@devops *release minor
# 安全
@devops *security-scan文档由 AIOX 系统生成 - 2026-02-04 维护者:@devops