扩展

插件

OpsKeeper 自带两个插件,均按项目许可证开源。

agentteams-plugin-installer

Dashboard 侧插件,把 AgentTeams Dashboard 变成 OpsKeeper 的插件控制台。暴露 5 个扩展点和一套文件系统 PluginRegistry 的 HTTP API。

扩展点

  • sidebar-menu —— 增加导航条目
  • route —— 挂载插件路由
  • dashboard-widget —— 在看板渲染小组件
  • detail-panel —— 在详情页附加面板
  • toolbar —— 增加工具栏动作

注册表限制

  • 10 MB 上传 zip
  • 50 MB 解压后大小
  • 每个包 1000 个文件
  • 带 zip-slip 防护

opskeeper-teamharness

Worker 侧插件。把 OpsKeeper 的能力暴露给任何讲 stdio MCP 的 Worker —— Bearer + HMAC + W3C traceparent 鉴权,17 个工具,并自带 FastAPI HTTP 路由用于插件生命周期管理。

teamharness
# 构建插件包
bash plugins/opskeeper-teamharness/scripts/build-package.sh

# 跑插件测试
python3 -m unittest discover -s plugins/opskeeper-teamharness -p 'test_*.py'

# 跑 stdio MCP 代理(环境变量配置)
cd plugins/opskeeper-teamharness
OPSKEEPER_BACKEND_URL=http://localhost:8080 \
OPSKEEPER_GATEWAY_KEY="$GATEWAY_KEY" \
python3 mcp/server.py

MCP 工具

opskeeper-teamharness 暴露的 17 个工具:

  • loop.investigate —— 对事件触发 RCA
  • loop.correlate —— 把告警关联成事件
  • recovery.verify —— 独立恢复验证
  • recovery.execute —— 窄域授权的修复动作
  • metric.query —— 查询指标后端
  • incident.list / incident.get —— 事件记忆库
  • postgres.analyze_status —— PostgreSQL 状态快照
  • host.get_load / host.get_processes / host.restart_service
  • knowledge.query / knowledge.write —— 知识库
  • hitl.decide —— 人工审批决策
  • state.put / state.get —— 共享状态
  • incident.record —— 向时间线追加证据 / 恢复信号

鉴权

  • Bearer —— 短期 JWT,用于 HTTP API。
  • HMAC —— 每个插件调用都使用共享密钥签名,覆盖 method、path、body。
  • W3C traceparent —— 在 stdio MCP 边界间传递。

验证插件

verify
make build-plugins
make test-plugins
make verify-plugins