基础设施诊断代理

Sonde是一个中心辐射系统,允许AI助手从远程基础设施收集诊断数据,通过轻量级代理和集成包连接企业系统。

  • by physikal
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 physikal/sonde

使用说明

松德

AI基础设施代理。 让克劳德看看你的服务器。

Sonde是一个中心辐射系统,允许AI助手从远程基础设施收集诊断数据。集线器服务于Claude(或任何MCP客户端)连接到的MCP端点。轻量级代理在目标机器上运行,通过WebSocket连接出站。集成包直接从集线器连接到企业系统(ServiceNow、Citrix、Proxmox、Splunk等),无需代理。

Claude ──MCP──▸ Hub ──WebSocket──▸ Agent ──probe──▸ Server
                 │
                 ├── SQLite (audit, config, sessions)
                 ├── 8 agent packs (35 probes)
                 ├── 19 integration packs
                 └── Dashboard (React SPA)

快速开始

1.部署Hub

docker run -d --name sonde-hub \
  -p 3000:3000 \
  -e SONDE_SECRET=your-secret-key-min-16-chars \
  -e SONDE_ADMIN_USER=admin \
  -e SONDE_ADMIN_PASSWORD=your-admin-password \
  -v sonde-data:/data \
  ghcr.io/physikal/hub:latest

打开 http://localhost:3000 访问仪表板并完成安装向导。该向导创建一个管理员帐户并生成您的第一个API密钥。

窗户: 下载 .msi 安装程序来自 GitHub发布。它捆绑了Node.js、集线器、仪表板,并作为Windows服务安装。请参阅 Windows部署文档 了解详情。

2.安装代理

从仪表板,转到 管理>报名,生成一个令牌,并在目标计算机上运行显示的命令:

curl -fsSL https://your-hub:3000/install | bash

这将安装Node.js 22和 @sonde/agent,然后打印运行交互式设置的指令。如果您的终端支持它,TUI会自动启动。

或者使用npm手动安装:

npm install -g @sonde/agent
sonde enroll --hub https://your-hub:3000 --token <enrollment-token>
sonde start --headless

默认情况下,每个代理都有一个唯一的名称(hostname-<random>)以防止身份冲突。覆盖 --name 如果需要的话。

3.连接克劳德

您需要一个API密钥进行连接。在仪表板中创建一个 管理>API密钥 (管理员)或 我的API密钥 (自助服务,每位用户最多5个)。

克劳德代码:

claude mcp add sonde --transport http https://your-hub:3000/mcp \
  --header "Authorization: Bearer your-api-key"

克劳德桌面版 --添加到配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "sonde": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-hub:3000/mcp",
        "--header",
        "Authorization: Bearer your-api-key"
      ]
    }
  }
}

然后问: “我的服务器上的磁盘使用情况如何?”

MCP工具

工具 说明
health_check 广泛的诊断——并行运行所有适用的探头。从这里开始。
list_capabilities 发现代理、集成、探测、诊断类别和关键路径。
diagnose 对代理或集成的类别进行深入调查。
probe 运行单个目标探头进行特定测量。
list_agents 列出所有具有状态、包和标签的代理。
agent_overview 特定代理的详细信息。
query_logs 从代理(Docker、systemd、nginx)或中心审计跟踪中查询日志。
check_critical_path 执行预定义的基础设施检查点链(例如LB→ web → app → DB).
trending_summary 汇总过去24小时的探头趋势——故障率、错误模式、热点。

使用 #tagname 提示中的语法用于按标签过滤(例如。, “向我展示#prod代理”).

代理包

包装 探头 说明
系统 disk.usage, memory.usage, cpu.usage, network.ping, network.traceroute, logs.journal, logs.dmesg, logs.tail 操作系统指标和网络诊断
码头工人 containers.list, logs.tail, images.list, daemon.info Docker容器和镜像
系统守护进程 services.list, service.status, journal.query systemd服务和期刊
引擎X config.test, access.log.tail, error.log.tail Nginx配置和日志
Postgres databases.list, connections.active, query.slow PostgreSQL数据库和查询
瑞迪斯 info, keys.count, memory.usage Redis服务器统计信息
MySQL databases.list, processlist, status MySQL数据库和进程
proxmox试剂 vm.config, ha.status, lvm, ceph.status, lxc.config, lxc.list, cluster.config, vm.locks Proxmox主机级诊断

8包,35个探头。代理会自动检测已安装的软件并建议相关包。

集成包

直接从集线器连接到企业系统的服务器端包——不需要代理。全部为只读。

包装 描述
ServiceNow 事件、CI、更改请求
思杰 端点管理、交付组
Proxmox VM、节点、群集状态
垂直居中 VMware vSphere虚拟机和主机
路坦力 超融合基础设施
斯普兰克 日志搜索和警报
数据狗 监视器、指标、事件
洛基 Grafana Loki日志查询
吉拉 问题和项目
值班系统 事故和服务
千只眼睛 网络监控测试
热情 思科Meraki网络和设备
检查点 安全网关和策略
a10 负载平衡器虚拟服务器
统一飞 UniFi网络设备和客户端
unifi接入 UniFi门禁控制器
图 Microsoft图形/Entra ID
保管人 保密经理
httpbin 测试参考集成

在仪表板中配置集成 管理>集成 具有加密凭证存储(AES-256-GCM)。

仪表盘

由中心提供的基于Web的管理UI。特征:

  • 舰队 --实时代理状态、标签、批量操作、搜索
  • 注册 --使用单行安装命令生成令牌
  • API密钥 --具有角色和策略范围的管理员密钥管理
  • 我的API密钥 --为会员创建自助密钥(每位用户最多5个)
  • 政策 --具有搜索和内联编辑功能的按键访问限制(代理、探测器、客户端)
  • 集成 --配置和测试企业系统连接
  • 用户和组 --个人用户和Entra安全组授权
  • 访问组 --可选范围,将用户限制到特定的代理/集成
  • 关键路径 --定义并执行基础设施检查点链
  • 趋势 --探测成功/失败趋势、错误模式、人工智能分析
  • 审计 --可搜索的哈希链防篡改审计日志
  • 试试看 --无需人工智能客户端的交互式探针测试
  • 设置 --SSO配置、AI模型设置、MCP提示定制、标签管理

三层RBAC: 成员 (仅MCP), 管理员 (MCP+仪表板), 所有者 (管理员+单点登录/设置)。支持本地登录和Entra ID SSO。

安全

跨九层的深度防御:专用无特权用户、无原始shell执行、mTLS、有效载荷签名(RSA-SHA256)、输出清理、代理认证、策略引擎(按密钥代理/探测/客户端限制)、每个边界的Zod模式验证以及防篡改哈希链审计日志记录。

所有探头都是只读的。代理从不监听端口。从任何外部输入到任意shell执行都没有代码路径。请参阅 安全模型 文档。

单体仓库

包装 描述
@sonde/shared 协议Zod模式、类型、加密工具
@sonde/packs 包定义(8个代理+19个集成包)
@sonde/hub MCP服务器、WebSocket、DB、REST API、仪表板服务
@sonde/agent WebSocket客户端、探测执行器、CLI、TUI
@sonde/dashboard React 19 SPA(设置向导+仪表板)
@sonde/docs 文件网站(星光)

发展

npm install          # Install all workspace dependencies
npm run build        # Build all packages
npm run test         # Run tests
npm run typecheck    # Type-check
npm run lint         # Lint with Biome

需要Node.js 22+和npm 10+。看 贡献.md 获取完整的开发指南。

文档

完整文档请访问 sondeapp.com.

许可证

Apache 2.0