ProberX API 文档

Dashboard 开放 HTTP API,覆盖认证、工作空间、服务器、监控、告警、通知、Cron、AI 智能体(对话 / 巡检 / 自主排查 / 周报 / 工作流)、运维工具等全部能力,共 190+ 端点。

概览

所有 API 均以 https://agent.yqone.cn/api/v1 为前缀(可通过 nginx 反代到任意 Dashboard 实例)。请求与响应均为 JSON(上传除外),编码 UTF-8。

认证

错误格式

{ "code": "NOT_FOUND", "message": "User not found" }

常见状态码:400 参数校验失败、401 未认证/Token 过期、403 无权限、404 资源不存在、429 触发限流(默认 100 次/分钟/IP)。

Agent 专用接口

/api/v1/agent/* 使用 X-Agent-Token 头认证,仅 Agent 回连使用,普通用户不会调用。

WebSocket

实时推送(指标、告警、终端)使用 wss://agent.yqone.cn/ws,连接时携带 JWT。

认证

注册与登录接口。

方法路径说明
POST/auth/register注册账号(邮箱 + 密码)
POST/auth/login登录,返回 access token 与 refresh token
POST/auth/refresh用 refresh token 换取新 access token(Authorization 头)
GET/auth/me获取当前登录用户信息
POST/auth/oauthGitHub OAuth 登录(需服务端配置)

参数说明

端点字段说明
POST /auth/registername *
email *
password *
昵称(1-100 字符)
邮箱地址(需为合法邮箱)
密码(至少 8 位)
POST /auth/loginemail *
password *
邮箱地址
密码(至少 6 位)
POST /auth/refresh无 body在 Authorization 头携带 refresh token 换取新 access token
GET /auth/me无参数返回当前登录用户信息
POST /auth/oauthprovider *
code *
redirectUri *
OAuth 提供商(当前支持 github)
GitHub OAuth code
回调地址(需为 URL)

注册示例

curl -X POST https://agent.yqone.cn/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"name":"我的账号","email":"me@example.com","password":"12345678"}'

成功返回 201:{"token":"...","user":{"id":"...","email":"me@example.com","name":"我的账号","avatarUrl":null}}; 邮箱已被注册返回 409 Email already registered,字段不合法返回 400。

工作空间

多租户隔离:服务器、监控、告警等资源都归属某个工作空间,接口路径统一使用 :wid 参数。

方法路径说明
GET/workspaces工作空间列表
POST/workspaces创建工作空间
GET/workspaces/:wid工作空间详情
PATCH/workspaces/:wid更新工作空间
DELETE/workspaces/:wid删除工作空间
GET/workspaces/:wid/dashboard仪表盘统计数据
GET/workspaces/:wid/alert-trends告警趋势
GET/workspaces/:wid/server-comparison服务器指标对比

参数说明

端点字段说明
POST /workspacesname *工作空间名称(1-255 字符)
PATCH /workspaces/:widname?
plan?
settings?
名称
套餐:free / pro / enterprise
自定义设置对象
GET /workspaces/:wid/alert-trendsrange?查询范围:24h / 7d / 30d(默认 7d,query 参数)

服务器

服务器是 Agent 的载体,添加后返回 Agent Token,用于在被监控机器上安装探针。

方法路径说明
GET/workspaces/:wid/servers服务器列表(?limit=)
POST/workspaces/:wid/servers添加服务器,返回 AGENT_TOKEN / AGENT_ID
GET/workspaces/:wid/servers/:id服务器详情
PATCH/workspaces/:wid/servers/:id更新服务器
DELETE/workspaces/:wid/servers/:id删除服务器(?uninstall 可卸载 Agent)
GET/workspaces/:wid/servers/:id/metrics历史指标(?from=&to=)
POST/workspaces/:wid/servers/:id/regenerate-token重新生成 Agent Token
GET/workspaces/:wid/servers/:id/install/logAgent 自动安装日志
POST/workspaces/:wid/servers/:id/pull-metrics立即拉取一次指标
POST/workspaces/:wid/servers/:id/run-probe手动运行一次探测(http/tcp/ping/dns/ssl)
GET/workspaces/:wid/servers/:id/processes进程列表
GET/workspaces/:wid/servers/:id/containersDocker 容器列表
POST/workspaces/:wid/servers/:id/agent/upgrade一键升级 Agent 到最新版

参数说明

端点字段说明
GET /workspaces/:wid/serverslimit?
cursor?
每页数量 1-100(默认 20)
分页游标(query 参数)
POST /workspaces/:wid/serversname *
agentId?
tags?
isHidden?
agentHost?
agentPort?
expiresAt?
installMode?
dashboardUrl?
ssh?
服务器名称
自定义 Agent ID(≤64 字符)
标签数组(默认 [])
是否隐藏(默认 false)
Agent 地址(在线安装/回连)
Agent 端口(默认 9800)
到期时间,格式 YYYY-MM-DD,用于到期提醒
安装方式:online / offline(默认 offline)
安装命令中的面板地址
ssh 对象(online 安装用):host*、port(22)、username(root)、password*
PATCH /workspaces/:wid/servers/:idname?
tags?
isHidden?
agentHost?
agentPort?
expiresAt?
全部可选,传 null 可清除;expiresAt 支持 YYYY-MM-DD 或 null(清除到期时间并重置提醒状态)
DELETE /workspaces/:wid/servers/:iduninstall?
ssh?
是否同时卸载 Agent(默认 false)
ssh 对象(卸载用):host*、port、username、password*
GET /workspaces/:wid/servers/:id/metricsfrom?
to?
interval?
开始时间(ISO 字符串)
结束时间
采样间隔(秒)
POST /workspaces/:wid/servers/:id/run-probetype *
target *
timeoutMs?
探测类型:http / tcp / ping / dns / ssl
探测目标(URL/域名/IP)
超时毫秒(1000-30000)
POST /workspaces/:wid/servers/:id/agent/upgradeurl?Agent 安装包下载地址(可选,缺省用最新版)

服务器资源总览

由 ProberX Agent 原生只读采集,不依赖宝塔等控制面板。返回 8 组归一化数据:系统 / 站点 / 证书 / 数据库 / 计划任务 / 运行服务 / 安全基线 / 实时网络。每组为独立的分组结果 { ok, data?, error? },单组异常不影响整体。

方法路径说明
GET/workspaces/:wid/servers/:sid/resource-overview采集服务器资源总览(8 组,Agent 需在线)

响应结构(节选)

{
  "system":        { "ok": true, "data": { "os": "Ubuntu 22.04", "hostname": "web-01",
                        "cpuPercent": 12.3, "memTotalBytes": 0, "diskTotalBytes": 0, ... } },
  "sites":         { "ok": true, "data": { "total": 3,
                        "list": [{ "id": "1", "name": "panel.yqone.cn", "rootPath": "/www/wwwroot/panel", "enabled": true }] } },
  "certificates":  { "ok": true, "data": { "total": 2, "expired": 0, "expiringSoon": 1,
                        "list": [{ "id": "1", "domains": ["panel.yqone.cn"], "issuer": "Let's Encrypt",
                                   "expiresAt": "2026-11-01T00:00:00Z", "daysLeft": 55 }] } },
  "databases":     { "ok": true, "data": { "total": 4,
                        "list": [{ "name": "proberx", "engine": "MySQL", "sizeBytes": 104857600 }] } },
  "cronTasks":     { "ok": true, "data": { "total": 5, "running": 0,
                        "list": [{ "id": "1", "name": "backup", "schedule": "0 2 * * *", "enabled": true }] } },
  "services":      { "ok": true, "data": { "total": 120, "running": 118, "failed": 1,
                        "list": [{ "name": "nginx", "description": "...", "active": true, "failed": false }] } },
  "securityScan":  { "ok": true, "data": { "state": "done", "progressPercent": null, "score": 92, "riskCount": 1 } },
  "network":       { "ok": true, "data": { "upRateKbps": 120.5, "downRateKbps": 30.1,
                        "upTotalMb": 1024, "downTotalMb": 4096, "load1": 0.4, "load5": 0.3, "load15": 0.2 } },
  "checkedAt": "2026-09-01T02:00:00.000Z"
}

面板接入(宝塔 / aaPanel)

可选能力:把服务器上的宝塔(BT)/ aaPanel 面板 API 绑定为数据源,拉取面板侧的站点、证书、数据库、FTP、计划任务等详情。密钥仅加密保存,列表与详情返回 apiKeyConfigured / apiKeyHint,不回显明文。

方法路径说明
GET/workspaces/:wid/servers/:sid/panel-bindings服务器面板绑定列表
POST/workspaces/:wid/servers/:sid/panel-bindings创建绑定(返回 201)
POST/workspaces/:wid/servers/:sid/panel-bindings/test-candidate测试「未保存」的候选配置(不落库),供表单先测后存
PATCH/workspaces/:wid/servers/:sid/panel-bindings/:bid更新绑定
DELETE/workspaces/:wid/servers/:sid/panel-bindings/:bid删除绑定(返回 204)
POST/workspaces/:wid/servers/:sid/panel-bindings/:bid/test测试已保存的绑定并回写连接状态
GET/workspaces/:wid/servers/:sid/panel-bindings/:bid/overview拉取绑定面板的归一化概览(系统/站点/证书/数据库/FTP/计划任务/安全/网络)

参数说明

端点字段说明
POST /panel-bindings
PATCH /panel-bindings/:bid
adapter?
name?
panelUrl *
apiKey *
clearApiKey?
enabled?
适配器:bt(默认)/ aapanel
名称(≤100 字符)
面板地址(≤500,如 http://1.2.3.4:8888)
面板 API 密钥(≤500;更新时非空则覆盖,PATCH 可省略)
置 true 清空已保存密钥
是否启用(默认 true)
GET /panel-bindings/:bid/overview无参数返回与「资源总览」一致的分组结构,另含 ftpUsers 分组;采集失败分组为 { ok:false, error }
安全提示:面板 API 属于控制面高危凭证。建议在面板侧开启 API 白名单,仅放行 Dashboard / Agent 出口 IP;密钥字段在接口响应中一律脱敏。

虚拟化与云接入

把 vCenter、独立 ESXi、Proxmox VE 与阿里云 ECS / 腾讯云 CVM 接成数据源:清单与电源状态直接取自平台 API,无需在受管主机上安装 Agent。绑定是工作区级的;公有云按地域(region)拉取,一个绑定对应一个地域。

方法路径说明
GET/workspaces/:wid/virtualization/bindings绑定列表(凭据脱敏:只回 secretConfigured / secretHint)
POST/workspaces/:wid/virtualization/bindings创建绑定(返回 201)
POST/workspaces/:wid/virtualization/bindings/test-candidate测试「未保存」的候选配置(不落库),供表单先测后存
PATCH/workspaces/:wid/virtualization/bindings/:bid更新绑定(secret 非空则覆盖)
DELETE/workspaces/:wid/virtualization/bindings/:bid删除绑定(返回 204)
POST/workspaces/:wid/virtualization/bindings/:bid/test测试已保存的绑定并回写连接状态
GET/workspaces/:wid/virtualization/bindings/:bid/inventory归一化清单:平台摘要 / 节点(宿主机与集群)/ 虚拟机;单段失败不影响其它段
GET/workspaces/:wid/virtualization/bindings/:bid/vms/:vmId/state单台虚拟机的实时电源状态(电源操作前后刷新用)
POST/workspaces/:wid/virtualization/bindings/:bid/guests/:vmId/adopt把虚拟机纳管成一条服务器记录(返回 201)
DELETE/workspaces/:wid/virtualization/bindings/:bid/guests/:vmId/adopt取消纳管(已装 Agent 升格的记录会被拒绝)
POST/workspaces/:wid/virtualization/bindings/:bid/vms/:vmId/power电源动作(需绑定开启 allowPower)
GET/workspaces/:wid/virtualization/bindings/:bid/actions电源操作审计(新的在前,?limit=)

参数说明

端点字段说明
POST /virtualization/bindings
PATCH .../bindings/:bid
adapter?
name?
baseUrl *
username *
secret?
region?
insecureTls?
enabled?
allowPower?
平台类型:vcenter(默认)/ esxi / proxmox / aliyun / tencent
名称(≤100,缺省用平台默认名)
平台地址(≤500;公有云缺省官方入口)
账号:vCenter/ESXi/Proxmox 用户名,阿里云 AccessKey ID,腾讯云 SecretId
密码:vCenter/ESXi 密码,Proxmox API Token Secret,阿里云 AccessKey Secret,腾讯云 SecretKey
公有云地域(阿里云 RegionId / 腾讯云 Region,如 cn-hangzhou / ap-guangzhou)
跳过证书校验(私有化自签名场景)
是否启用(默认 true)
是否允许电源操作(默认 false,Proxmox / 公有云恒为只读)
POST .../vms/:vmId/poweraction *
confirmName *
动作:start / stop / gracefulStop / reboot / suspend
二次确认:要与平台返回的当前虚拟机名一致才执行;结果与审计一起返回
POST .../guests/:vmId/adoptname?
os?
tags?
服务器名(缺省取平台返回的虚拟机名)
linux / windows(决定后续安装命令走哪套,默认 linux)
标签数组
GET .../actionslimit?返回条数(1–100,默认 20)
权限建议(最小化):vCenter 用内置 Read-only 角色(电源操作另加 VirtualMachine.Interact.PowerOn/PowerOff/Reset/Suspend);Proxmox 用 PVEAuditor(电源另加 VM.PowerMgmt,当前版本未实现 Proxmox 写操作);阿里云 RAM 只给 ecs:Describe*;腾讯云 CAM 只给 cvm:DescribeInstances / cvm:DescribeInstancesStatus。凭据字段在接口响应中不下发(只给是否配置与尾四位提示)。

文件与防火墙

通过 Agent 操作被监控服务器上的文件系统和 iptables 防火墙。

方法路径说明
GET/workspaces/:wid/servers/:id/files/list文件列表(?path=)
GET/workspaces/:wid/servers/:id/files/read读取文件内容(?path=&lines=)
GET/workspaces/:wid/servers/:id/files/download下载文件
POST/workspaces/:wid/servers/:id/files/upload上传文件(multipart)
POST/workspaces/:wid/servers/:id/files/mkdir创建目录
POST/workspaces/:wid/servers/:id/files/rename重命名文件/目录
POST/workspaces/:wid/servers/:id/files/write写入文件内容
DELETE/workspaces/:wid/servers/:id/files/delete删除文件/目录
GET/workspaces/:wid/servers/:id/firewall/rules防火墙规则列表
POST/workspaces/:wid/servers/:id/firewall/rules添加 iptables 规则
DELETE/workspaces/:wid/servers/:id/firewall/rules删除规则

参数说明

端点字段说明
GET .../files/listpath?目录路径(默认 /)
GET .../files/readpath *
lines?
文件路径
读取行数
GET .../files/downloadpath *文件路径
POST .../files/uploadmultipartform-data:path(目标路径)+ file(文件)
POST .../files/mkdirpath *要创建的目录路径
POST .../files/renamepath *
newName *
原路径
新名称
POST .../files/writepath *
content *
文件路径
写入内容
DELETE .../files/deletepath *要删除的文件/目录路径
POST .../firewall/rulesiptables 规则对象规则参数透传 Agent(如 chain、protocol、port、action 等)
DELETE .../firewall/ruleschain *
num *
规则链(如 INPUT)
规则序号

运维工具

通过 Agent 执行系统级运维操作。以下路径均省略前缀 /workspaces/:wid/servers/:id。

方法路径说明
GET/workspaces/:wid/servers/:id/tools/servicessystemd 服务列表
POST/workspaces/:wid/servers/:id/tools/services控制服务 start/stop/restart(body: name, action)
GET/workspaces/:wid/servers/:id/tools/services/:name服务详细状态
POST/workspaces/:wid/servers/:id/tools/ssl检查证书(host/port)
POST/workspaces/:wid/servers/:id/tools/ssl/issueACME 签发证书
POST/workspaces/:wid/servers/:id/tools/ssl/renew续期证书
GET/workspaces/:wid/servers/:id/tools/ssl/certs已签发证书列表
GET/workspaces/:wid/servers/:id/tools/logsjournalctl 日志(?unit=&lines=&since=)
GET/workspaces/:wid/servers/:id/tools/logs/file文件日志(?path=&lines=)
GET/workspaces/:wid/servers/:id/tools/packages包列表(?upgradable=true)
POST/workspaces/:wid/servers/:id/tools/packages批量升级可更新包
GET/workspaces/:wid/servers/:id/tools/nginxNginx 运行状态
POST/workspaces/:wid/servers/:id/tools/nginx/reload重载 Nginx 配置
GET/workspaces/:wid/servers/:id/tools/nginx/config读取配置文件(?path=)
GET/workspaces/:wid/servers/:id/tools/nginx/vhosts虚拟主机列表
POST/workspaces/:wid/servers/:id/tools/nginx/vhosts创建虚拟主机
DELETE/workspaces/:wid/servers/:id/tools/nginx/vhosts删除虚拟主机
GET/workspaces/:wid/servers/:id/tools/deploy/templates应用部署模板
GET/workspaces/:wid/servers/:id/tools/deploy/list已部署应用列表
POST/workspaces/:wid/servers/:id/tools/deploy/deploy部署应用(Docker Compose)
POST/workspaces/:wid/servers/:id/tools/deploy/remove移除部署
GET/workspaces/:wid/servers/:id/tools/deploy/logs部署日志(?appName=)
POST/workspaces/:wid/servers/:id/tools/deploy/start启动应用
POST/workspaces/:wid/servers/:id/tools/deploy/stop停止应用
POST/workspaces/:wid/servers/:id/tools/deploy/restart重启应用
POST/workspaces/:wid/servers/:id/tools/deploy/update更新应用
GET/workspaces/:wid/servers/:id/tools/deploy/progress部署进度(?appName=)
POST/workspaces/:wid/servers/:id/tools/deploy/check-ports检查端口占用
GET/workspaces/:wid/servers/:id/tools/databases数据库实例列表
POST/workspaces/:wid/servers/:id/tools/databases安装数据库(mysql/postgres/redis/mongo)
DELETE/workspaces/:wid/servers/:id/tools/databases卸载数据库
GET/workspaces/:wid/servers/:id/tools/backups备份列表
POST/workspaces/:wid/servers/:id/tools/backups/file创建文件备份
POST/workspaces/:wid/servers/:id/tools/backups/db创建数据库备份
DELETE/workspaces/:wid/servers/:id/tools/backups删除备份
POST/workspaces/:wid/servers/:id/tools/backups/restore恢复备份
GET/workspaces/:wid/servers/:id/tools/backups/cloud-config云存储配置
PUT/workspaces/:wid/servers/:id/tools/backups/cloud-config保存云存储配置(S3/OSS/R2/MinIO)
POST/workspaces/:wid/servers/:id/tools/backups/cloud/upload备份上传云端
POST/workspaces/:wid/servers/:id/tools/backups/cloud/download从云端下载
GET/workspaces/:wid/servers/:id/tools/backups/cloud/list云端文件列表
DELETE/workspaces/:wid/servers/:id/tools/backups/cloud删除云端文件
POST/workspaces/:wid/servers/:id/tools/backups/cloud/sync全量同步到云端
POST/workspaces/:wid/servers/:id/tools/backups/cloud/cleanup按保留天数清理
POST/workspaces/:wid/servers/:id/tools/backups/cloud/test测试云存储连接
GET/workspaces/:wid/servers/:id/tools/security/sshSSH 登录审计
POST/workspaces/:wid/servers/:id/tools/security/portscan端口扫描
GET/workspaces/:wid/servers/:id/tools/security/fail2banFail2ban 状态
POST/workspaces/:wid/servers/:id/tools/security/fail2ban/unban解封 IP
POST/workspaces/:wid/servers/:id/tools/security/fail2ban/ban封禁 IP
GET/workspaces/:wid/servers/:id/tools/shell-ai/settings读取 AI 配置(provider/model/api_url)
PUT/workspaces/:wid/servers/:id/tools/shell-ai/settings保存 AI 配置(Ollama/OpenAI/DeepSeek/Claude)
POST/workspaces/:wid/servers/:id/tools/shell-ai/generate中文描述生成 Shell 命令(body: prompt, provider...)
POST/workspaces/:wid/servers/:id/tools/shell-ai/execute执行 Shell 命令并返回输出(body: command, timeout)
GET/workspaces/:wid/servers/:id/imagesDocker 镜像列表
POST/workspaces/:wid/servers/:id/images/pull拉取镜像
POST/workspaces/:wid/servers/:id/images/prune清理无用镜像
GET/workspaces/:wid/servers/:id/images/:imageId/json镜像详情
DELETE/workspaces/:wid/servers/:id/images/:imageId删除镜像
GET/workspaces/:wid/servers/:id/tools/dns/providers支持的 DNS 服务商列表
GET/workspaces/:wid/servers/:id/tools/dns/configDNS 服务商配置
POST/workspaces/:wid/servers/:id/tools/dns/config保存 DNS 配置
GET/workspaces/:wid/servers/:id/tools/dns/zones域名 Zone 列表
GET/workspaces/:wid/servers/:id/tools/dns/records解析记录列表(?zoneId=)
POST/workspaces/:wid/servers/:id/tools/dns/records新增解析记录
PUT/workspaces/:wid/servers/:id/tools/dns/records/:recordId更新解析记录
DELETE/workspaces/:wid/servers/:id/tools/dns/records/:recordId删除解析记录

参数说明

端点字段说明
POST .../tools/servicesname *
action *
systemd 服务名
操作:start / stop / restart
GET .../tools/services/:name路径参数服务名
POST .../tools/ssldomain *域名
POST .../tools/ssl/issuedomain *
email *
webroot?
域名
用于 ACME 的邮箱
Web 根目录(HTTP-01 验证)
POST .../tools/ssl/renewdomain *域名
GET .../tools/logsunit?
lines?
since?
systemd 单元名
行数
起始时间
GET .../tools/logs/filepath *
lines?
文件路径
行数
GET .../tools/packagesupgradable?true 时仅返回可更新包
GET .../tools/nginx/configpath?配置文件路径
POST .../tools/nginx/vhostsdomain *
target_port *
web_root?
use_ssl?
ssl_email?
站点域名
反代目标端口
Web 根目录
是否自动签发 SSL
SSL 邮箱
DELETE .../tools/nginx/vhostsdomain *站点域名
POST .../tools/deploy/deploytemplate_id *
app_name *
env *
部署模板 ID
应用名
环境变量对象
POST .../tools/deploy/removeappName *应用名
POST .../tools/deploy/start|stop|restart|updateappName *应用名
GET .../tools/deploy/logs|progressappName *应用名(query 参数)
POST .../tools/deploy/check-portsports *端口数组,如 ["80","443"]
POST .../tools/databasestype *
version?
port *
password?
数据库类型(如 mysql / postgres)
版本
监听端口
密码
DELETE .../tools/databasestype *数据库类型
POST .../tools/backups/filesource_path *
name *
要备份的目录
备份名
POST .../tools/backups/dbdb_type *
name *
数据库类型
备份名
DELETE .../tools/backupsname *备份名
POST .../tools/backups/restorename *要恢复的备份名
PUT .../tools/backups/cloud-config对象云存储配置(provider、凭据、桶/路径等,透传 Agent)
POST .../tools/backups/cloud/uploadname *本地备份名
POST .../tools/backups/cloud/downloadname *云端备份名
DELETE .../tools/backups/cloudname *云端备份名
POST .../tools/backups/cloud/cleanup对象清理策略(如保留份数)
POST .../tools/security/portscantarget *
ports?
扫描目标(IP/域名)
端口范围字符串
POST .../tools/security/fail2ban/ban|unbanip *
jail?
IP 地址
监狱名称(可选)
GET|PUT .../tools/shell-ai/settingsprovider *
model?
api_key?
api_url?
LLM 提供商(proberx / openai / deepseek / custom 等)
模型名
API Key
自定义接口地址
POST .../tools/shell-ai/generateprompt *
provider *
model?
api_key?
api_url?
中文自然语言描述
提供商
模型名
API Key
自定义接口地址;返回 {command, explanation}
POST .../tools/shell-ai/executecommand *
timeout?
要执行的 shell 命令
超时秒数(默认 30);返回 {stdout, stderr, exit_code}
POST .../images/pullname *镜像名,如 nginx:latest
GET|DELETE .../images/:imageId路径参数镜像 ID
GET .../tools/dns/providers无参数支持的 DNS 服务商列表
POST .../tools/dns/configprovider *
api_key *
api_secret?
服务商
API Key
API Secret(按服务商要求)
GET .../tools/dns/recordszoneId *域名 zone ID(query 参数)
POST .../tools/dns/recordszone_id *
name *
type *
content *
ttl *
priority?
Zone ID
记录名(如 www)
记录类型(A/AAAA/CNAME/TXT/MX 等)
记录值
TTL(秒)
优先级(MX 用)
PUT .../tools/dns/records/:recordId同创建recordId 为路径参数,body 同 POST records
DELETE .../tools/dns/records/:recordIdzone_id *Zone ID

AI 智能体

自然语言驱动的智能体编排:自动路由到通用助手 / AI 巡检 / 自主排查 / AI 终端 / AI 运维周报 / 自定义工作流 / 13 个专项诊断助手。对话任务为异步模型(返回 taskId 后轮询),巡检与排查结果可导出报告。

智能体目录与对话

方法路径说明
GET/agents智能体目录(5 个内置 + 13 个专项诊断助手;仅需登录)
POST/workspaces/:wid/servers/:id/agents/chat发起一次智能体对话/任务(异步,返回 taskId)
GET/workspaces/:wid/agents/chat/:taskId轮询任务状态(steps / text / status)

参数说明

端点字段说明
POST /agents/chatagent?
workflowId?
message *
history?
智能体 id:assistant / inspection / diagnosis / terminal / weekly / workflow / website-diag / mysql-diag / traffic-diag / security-diag / webshell-diag / server-diag / cron-diag / file-diag / ftp-diag / ssl-diag / log-diag / dns-diag / perf-diag;缺省自动路由
agent=workflow 时指定要运行的工作流
用户消息(1-2000 字符)
最近对话上下文,最多 20 条(role: user / assistant)

AI 巡检(健康报告)

方法路径说明
GET/workspaces/:wid/inspections巡检报告列表(?limit=&serverId=)
GET/workspaces/:wid/servers/:id/inspections某服务器巡检报告列表
POST/workspaces/:wid/servers/:id/inspections生成巡检报告(同步,body: title? / hours?)
GET/workspaces/:wid/inspections/:rid报告详情
GET/workspaces/:wid/inspections/:rid/html导出 HTML
GET/workspaces/:wid/inspections/:rid/markdown导出 Markdown
GET/workspaces/:wid/inspections/:rid/pdf导出 PDF
GET/workspaces/:wid/inspections/:rid/docx导出 Word (DOCX)
DELETE/workspaces/:wid/inspections/:rid删除报告

自主排查(多步诊断)

方法路径说明
GET/workspaces/:wid/diagnoses排查记录列表(?limit=&serverId=)
GET/workspaces/:wid/servers/:id/diagnoses某服务器排查记录列表
POST/workspaces/:wid/servers/:id/diagnoses发起自主排查(同步到完成,body: goal* / title? / trigger?)
GET/workspaces/:wid/diagnoses/:rid排查详情(时间线 / 根因 / 置信度 / 建议)
GET/workspaces/:wid/diagnoses/:rid/pdf导出 PDF 报告
GET/workspaces/:wid/diagnoses/:rid/docx导出 Word (DOCX) 报告
POST/workspaces/:wid/diagnoses/:rid/stop中止正在运行的排查
POST/workspaces/:wid/diagnoses/:rid/verify复检(只读)→ recovered / still_failing
GET/workspaces/:wid/diagnoses/:rid/repairs基于故障点生成的白名单修复方案
POST/workspaces/:wid/diagnoses/:rid/repairs/execute执行白名单修复(body: key* / confirmed?),成功后自动复检
DELETE/workspaces/:wid/diagnoses/:rid删除记录

参数说明

端点字段说明
POST /diagnosesgoal *
title?
trigger?
故障目标描述(4-1000 字符)
标题(≤255)
触发方式:manual(默认)/ auto
POST /inspectionstitle?
hours?
报告标题(≤255)
统计窗口小时数(1-168)

AI 运维周报

方法路径说明
GET/workspaces/:wid/reports/weekly汇总最近 N 天运维统计并生成中文周报(?days= 默认 7 &serverId=)
GET/workspaces/:wid/reports/weekly/md下载周报 Markdown
GET/workspaces/:wid/reports/weekly/docx下载周报 Word (DOCX)

自定义工作流

方法路径说明
GET/workspaces/:wid/workflow-tools工作流可编排的工具目录
GET/workspaces/:wid/workflows工作流列表
POST/workspaces/:wid/workflows创建工作流
PUT/workspaces/:wid/workflows/:wfid更新工作流
DELETE/workspaces/:wid/workflows/:wfid删除工作流
POST/workspaces/:wid/servers/:id/workflows/:wfid/run对目标服务器运行工作流(异步,返回 runId)
GET/workspaces/:wid/workflow-runs/:runId轮询工作流运行状态

参数说明

端点字段说明
POST /workflowsname *
description?
trigger?
steps *
enabled?
工作流名称(1-100)
描述(≤1000)
触发说明(≤100)
步骤数组 1-20:每步 { id, kind: builtin|shell|mcp, tool, name?, args? }
是否启用(默认 true)

工作区 AI 设置

方法路径说明
GET/workspaces/:wid/ai-settings读取工作区 AI 接口配置(Shell AI / 智能体 / 巡检 / 周报共用)
PUT/workspaces/:wid/ai-settings保存 AI 配置
POST/workspaces/:wid/ai-settings/test用当前或候选配置发起连通性测试(不落库)

参数说明

端点字段说明
PUT /ai-settingsenabled?
provider?
apiUrl?
model?
apiKey?
clearApiKey?
是否启用
Provider:ollama / openai / deepseek / claude / custom 等
OpenAI 兼容接口地址(如 http://127.0.0.1:11434/v1)
模型名(如 proberx-coder / deepseek-chat / gpt-4o-mini)
API Key(非空覆盖;可为空字符串走本机 Ollama)
置 true 清空已保存密钥

监控探测

从 Agent 发起 HTTP/TCP/Ping/DNS/SSL 探测任务,并查看历史结果。

方法路径说明
GET/workspaces/:wid/monitors监控任务列表
POST/workspaces/:wid/monitors创建监控任务(http/tcp/ping/dns/ssl)
PATCH/workspaces/:wid/monitors/:id更新监控任务
DELETE/workspaces/:wid/monitors/:id删除监控任务
GET/workspaces/:wid/monitors/:id/results任务最近探测结果
GET/workspaces/:wid/probe-results全部探测结果(?monitorId=)

参数说明

端点字段说明
POST /workspaces/:wid/monitorsname *
type *
target *
intervalSec?
timeoutMs?
settings?
监控任务名
类型:http / tcp / ping / dns / ssl / grpc
目标(URL / 域名 / IP)
间隔秒数 10-3600(默认 60)
超时毫秒 1000-30000(默认 5000)
任务自定义设置
PATCH /workspaces/:wid/monitors/:idname?
type?
target?
intervalSec?
timeoutMs?
settings?
isEnabled?
同创建字段,全部可选;isEnabled 控制启停
GET /workspaces/:wid/monitors/:id/resultslimit?返回条数(query 参数)

告警

基于指标的告警规则与事件管理。

方法路径说明
GET/workspaces/:wid/alerts告警规则列表
POST/workspaces/:wid/alerts创建告警规则(指标/运算符/阈值/持续时长)
PATCH/workspaces/:wid/alerts/:id更新规则(含启用/禁用)
DELETE/workspaces/:wid/alerts/:id删除规则
GET/workspaces/:wid/alert-events告警事件列表
GET/workspaces/:wid/alerts/:id/events某规则的事件列表
PATCH/workspaces/:wid/alerts/:id/events/:eid确认/静默告警事件

参数说明

端点字段说明
POST /workspaces/:wid/alertsname *
targetType *
targetId?
metric *
operator *
threshold *
durationSec?
severity?
规则名
目标类型:server / monitor
目标 ID(UUID,可选)
指标名(如 cpu_percent / server_expiry)
比较符:gt / gte / lt / lte / eq / neq
阈值(数字)
持续秒数(默认 0)
级别:warning / critical / emergency(默认 warning)
PATCH /workspaces/:wid/alerts/:idname?
metric?
operator?
threshold?
durationSec?
severity?
isEnabled?
同创建字段(operator 支持 gt / lt / eq / neq),全部可选;isEnabled 控制启停
PATCH /workspaces/:wid/alerts/:id/events/:eid无 body将告警事件标记为已解决

通知

告警通知渠道配置(Webhook/Slack/钉钉/飞书/企微/邮件/Telegram 等)。

方法路径说明
GET/workspaces/:wid/notifications通知渠道列表
POST/workspaces/:wid/notifications创建渠道(webhook/slack/discord/email/钉钉/飞书/企微/Telegram)
PATCH/workspaces/:wid/notifications/:id更新渠道
DELETE/workspaces/:wid/notifications/:id删除渠道

参数说明

端点字段说明
POST /workspaces/:wid/notificationsname *
type *
config *
渠道名称
类型:email / webhook / dingtalk / feishu / wecom / telegram / slack / discord / telegram-bot
渠道配置对象(按类型:webhook_url、token、chat_id、bot_token 等)
PATCH /workspaces/:wid/notifications/:idname?
type?
config?
isEnabled?
同创建字段,全部可选;isEnabled 控制启停

Cron 计划任务

定时任务的创建、预览、执行记录。

方法路径说明
GET/workspaces/:wid/cronjobsCron 任务列表
POST/workspaces/:wid/cronjobs创建 Cron 任务
POST/workspaces/:wid/cronjobs/preview预览 Cron 表达式(未来 5 次执行时间)
PATCH/workspaces/:wid/cronjobs/:id更新任务(含启用/禁用)
DELETE/workspaces/:wid/cronjobs/:id删除任务
POST/workspaces/:wid/cronjobs/:id/run立即运行一次
GET/workspaces/:wid/cronjobs/:id/executions任务执行记录
GET/workspaces/:wid/cron-executions全部执行记录

参数说明

端点字段说明
POST /workspaces/:wid/cronjobsname *
cronExpr *
command *
targetServers *
任务名
5 段 cron 表达式
要执行的 shell 命令
目标服务器 ID 数组(UUID,至少 1 个)
POST /workspaces/:wid/cronjobs/previewcronExpr *cron 表达式,返回下一次执行时间预览
PATCH /workspaces/:wid/cronjobs/:idname?
cronExpr?
command?
targetServers?
isEnabled?
同创建字段,全部可选
POST /workspaces/:wid/cronjobs/:id/run无 body立即手动执行一次

API Key

为脚本/第三方系统签发长期 API Key。

方法路径说明
GET/workspaces/:wid/api-keysAPI Key 列表
POST/workspaces/:wid/api-keys创建 API Key
PATCH/workspaces/:wid/api-keys/:id更新 Key(启用/禁用)
DELETE/workspaces/:wid/api-keys/:id删除 Key

参数说明

端点字段说明
POST /workspaces/:wid/api-keysname *
permissions?
expiresAt?
Key 名称
权限数组(默认 [])
过期时间(ISO 8601 datetime,如 2026-12-31T00:00:00Z)
PATCH /workspaces/:wid/api-keys/:idname?
permissions?
同创建字段,全部可选

成员

工作空间成员与角色管理。

方法路径说明
GET/workspaces/:wid/members工作空间成员列表
PATCH/workspaces/:wid/members/:id修改成员角色
DELETE/workspaces/:wid/members/:id移除成员

参数说明

端点字段说明
PATCH /workspaces/:wid/members/:idrole *角色:owner / editor / viewer

应用商店

预置应用模板,可在目标服务器一键部署。

方法路径说明
GET/workspaces/:wid/app-store应用模板列表
GET/workspaces/:wid/app-store/:id模板详情
POST/workspaces/:wid/app-store创建模板
PATCH/workspaces/:wid/app-store/:id更新模板
DELETE/workspaces/:wid/app-store/:id删除模板
POST/workspaces/:wid/app-store/seed导入预置模板

参数说明

端点字段说明
GET /workspaces/:wid/app-storecategory?
search?
分类过滤
关键字搜索(query 参数)
POST /workspaces/:wid/app-storename *
description?
category?
icon?
composeYaml *
defaultEnv?
memoryLimit?
cpuLimit?
version?
author?
homepage?
isEnabled?
应用名
描述
分类(默认 Tools)
图标名(默认 package)
docker-compose YAML 内容
默认环境变量对象
内存限制(如 512m)
CPU 限制
版本
作者
主页
是否启用
PATCH /workspaces/:wid/app-store/:id同创建同创建字段,全部可选
POST /workspaces/:wid/app-store/seed无 body预置内置示例应用

状态页

公开状态页管理;/public/status/:slug 无需认证。

方法路径说明
GET/workspaces/:wid/status-pages状态页列表
POST/workspaces/:wid/status-pages创建公开状态页
PATCH/workspaces/:wid/status-pages/:id更新状态页
DELETE/workspaces/:wid/status-pages/:id删除状态页
GET/public/status/:slug公开状态页(无需认证)

参数说明

端点字段说明
POST /workspaces/:wid/status-pagesname *
slug *
customDomain?
logoUrl?
theme?
状态页名称
访问路径(小写字母数字连字符)
自定义域名
Logo URL
主题配置对象
PATCH /workspaces/:wid/status-pages/:idname?
customDomain?
logoUrl?
theme?
isPublished?
同创建字段,全部可选;isPublished 控制发布状态

Agent 内部接口

Agent 探针回连 Dashboard 使用(X-Agent-Token 认证),一般无需手动调用。

方法路径说明
POST/agent/registerAgent 启动注册(Agent Token 认证)
POST/agent/heartbeatAgent 心跳上报
POST/agent/metricsAgent 上报指标(CPU/内存/磁盘/网络/GPU)

参数说明

端点字段说明
POST /agent/registeragentId *
hostInfo?
Agent ID(≤64 字符)
主机信息对象
POST /agent/heartbeatagentId *
timestamp?
metrics?
Agent ID
时间戳
指标对象:cpu? / mem? / disk?
POST /agent/metricsagentId *
timestamp?
cpu_percent?
mem_total?
mem_used?
disk_total?
disk_used?
net_in_bytes?
net_out_bytes?
load_1?
load_5?
load_15?
gpu_name?
gpu_util_percent?
gpu_mem_total?
gpu_mem_used?
gpu_temp?
Agent ID
时间戳
CPU 使用率 0-100
内存总量(字节)
内存已用(字节)
磁盘总量(字节)
磁盘已用(字节)
网络入/出(字节)
负载 1/5/15 分钟
GPU 名称/利用率/显存/温度

MCP

Model Context Protocol 端点,让 Claude/Cursor/Codex 等 AI 助手直接管控基础设施。

方法路径说明
POST/mcpMCP Streamable HTTP 端点(详见 MCP 文档)

调用方式

MCP 使用 JSON-RPC 2.0 格式,认证与普通 API 相同(Bearer JWT)。 请求体:{"jsonrpc":"2.0","id":1,"method":"工具名","params":{...}}。 可用工具与 REST 能力对应:服务器列表、指标查询、监控任务管理、告警规则/事件、Cron 任务、Shell AI、状态页等。

快速示例

1. 登录

curl -X POST https://agent.yqone.cn/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}'

# 返回 { "token": "...", "refresh_token": "...", "user": {...} }

2. 创建工作空间

curl -X POST https://agent.yqone.cn/api/v1/workspaces \
  -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"生产环境"}'

3. 添加服务器并获取 Agent Token

curl -X POST https://agent.yqone.cn/api/v1/workspaces/WID/servers \
  -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"web-01","host":"1.2.3.4","port":22,"username":"root"}'

# 返回中包含 AGENT_TOKEN 与 AGENT_ID,用于一键安装 Agent

4. Shell AI 生成命令(中文 → Shell)

curl -X POST https://agent.yqone.cn/api/v1/workspaces/WID/servers/SID/tools/shell-ai/generate \
  -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
  -d '{"prompt":"帮我看看磁盘还剩多少空间","provider":"custom"}'

# 返回 { "command": "df -h", ... }  —— 默认模型 proberx-coder(Ollama 本地部署)

5. 拉取服务器历史指标

curl "https://agent.yqone.cn/api/v1/workspaces/WID/servers/SID/metrics?from=2026-08-13T00:00:00Z&to=2026-08-14T00:00:00Z" \
  -H "Authorization: Bearer TOKEN"

6. 设置服务器到期时间(到期前 7 天自动告警)

# 设置到期时间(YYYY-MM-DD,精确到天)
curl -X PATCH https://agent.yqone.cn/api/v1/workspaces/WID/servers/SID \
  -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
  -d '{"expiresAt":"2026-12-31"}'

# 清除到期时间
curl -X PATCH https://agent.yqone.cn/api/v1/workspaces/WID/servers/SID \
  -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
  -d '{"expiresAt":null}'

# 系统将自动创建「服务器到期提醒」规则(剩余 ≤7 天触发),到期前推送一次告警

7. 查看服务器资源总览(免面板)

curl "https://agent.yqone.cn/api/v1/workspaces/WID/servers/SID/resource-overview" \
  -H "Authorization: Bearer TOKEN"
# 返回 system / sites / certificates / databases / cronTasks / services / securityScan / network 8 组数据

8. 发起一次 AI 巡检并导出 PDF

# 生成巡检报告
curl -X POST https://agent.yqone.cn/api/v1/workspaces/WID/servers/SID/inspections \
  -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
  -d '{"title":"例行健康巡检"}'

# 用返回的 RID 导出 PDF
curl -OJ "https://agent.yqone.cn/api/v1/workspaces/WID/inspections/RID/pdf" \
  -H "Authorization: Bearer TOKEN"