扩展
插件
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.pyMCP 工具
opskeeper-teamharness 暴露的 17 个工具:
loop.investigate—— 对事件触发 RCAloop.correlate—— 把告警关联成事件recovery.verify—— 独立恢复验证recovery.execute—— 窄域授权的修复动作metric.query—— 查询指标后端incident.list/incident.get—— 事件记忆库postgres.analyze_status—— PostgreSQL 状态快照host.get_load/host.get_processes/host.restart_serviceknowledge.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