Skip to content

RPC2 接口

Komari 提供了一个 JSON-RPC2 接口。你可以通过 Websocket 或 POST 调用。

基础路径:/api/rpc2

JSON-RPC2 调试工具

注意

仅 >=1.0.7 的版本可以使用 RPC2

基础文档

(译) JSON-RPC 2.0 规范(中文版) - wiki . leozvc

认证

  • Cookie
  • API Key

提示

未登录也可使用,但某些方法将受到限制

说明

Komari 参数传递支持指名和数组两种方式。

例如有 func(a, b),参数传递可以使用 { "a": a, "b": b }[a, b](顺序)。

rpc.methods

描述:查看所有可用的 RPC 方法

参数:

参数名类型必填说明
internalbool是否显示 RPC 内置方法

返回:

返回值类型描述
string[]返回所有可用 RPC 方法的名称数组。

rpc.help

描述:获取指定 RPC 方法的帮助信息

参数:

参数名类型必填说明
methodstring要获取帮助信息的方法名

返回:

返回值类型描述
MethodMeta返回指定方法的详细元数据(如有指定)。

MethodMeta

字段类型说明
namestring方法名称
summarystring方法简要说明
descriptionstring方法详细描述
paramsParamMeta[]参数列表
returnsstring返回值类型说明

ParamMeta

字段类型说明
namestring参数名称
typestring参数类型
descriptionstring参数说明

rpc.ping

描述:健康检查,返回 pong

参数:无

返回:

返回值类型描述
string返回 "pong"

rpc.version

描述:返回当前 RPC 接口的版本号

参数:无

返回:

返回值类型描述
string返回 RPC 的版本号

common:getNodes

描述:获取节点(客户端)信息。

当提供 uuid 时,返回对应单个节点的 Client 对象;未提供时返回形如 { [uuid]: Client } 的对象,键为节点 UUID。

参数:

参数名类型必填说明
uuidstring节点 UUID,留空返回全部

返回:

返回值类型描述
Client | { [uuid]: Client }单个节点对象或以 uuid 作为键的节点对象集合

Client

字段类型说明
uuidstring节点 UUID
tokenstring节点访问令牌(未认证不显示)
namestring节点名称
cpu_namestringCPU 型号
virtualizationstring虚拟化类型
archstring系统架构(如 amd64, arm64)
cpu_coresintCPU 逻辑核心数
cpu_physical_coresintCPU 物理核心数,0 表示未上报或未知
osstring操作系统名称
kernel_versionstring内核版本
gpu_namestringGPU 名称(如有)
ipv4stringIPv4 地址(未认证不显示或部分显示)
ipv6stringIPv6 地址(未认证不显示或部分显示)
regionstring区域
remarkstring私有备注(未认证不显示)
public_remarkstring公共备注(对外可见)
mem_totalint64内存总量(字节)
swap_totalint64交换分区总量(字节)
disk_totalint64磁盘总量(字节)
versionstringAgent 版本(未认证不显示)
weightint节点排序权重
pricefloat64价格(计费相关)
billing_cycleint计费周期(单位:天)
auto_renewalbool是否自动续费
currencystring货币符号(默认 $
expired_atstring | null (UTC RFC3339Nano)到期时间;未设置时为 null
groupstring分组名称
tagsstring标签(以 ; 分隔的字符串)
hiddenbool是否隐藏
traffic_limitint64流量阈值(单位:字节,含义由 traffic_limit_type 决定)
traffic_limit_typestring流量阈值类型:sum / max / min / up / down
created_atstring (UTC RFC3339Nano)创建时间
updated_atstring (UTC RFC3339Nano)更新时间

提示

Client 中的单位(如内存、磁盘、流量)均为字节;需要可读格式请自行转换。

common:getPublicInfo

描述:获取公开的站点与运行配置信息。

参数:无

返回:

返回值类型描述
PublicInfo公开站点配置对象

PublicInfo

字段类型说明
cors_origin_check_enabledbool是否启用 CORS 跨域请求校验;开启后 API 请求只允许同源或允许列表中的地址,API Key 请求会绕过该校验。
custom_bodystring注入到页面 <body> 尾部的自定义 HTML 片段。
custom_headstring注入到页面 <head> 内的自定义 HTML(如样式 / 脚本)。
descriptionstring站点描述。
disable_password_loginbool是否禁用密码登录。
oauth_enablebool是否启用 OAuth 登录。
oauth_providerstring启用的 OAuth 提供商标识(如:github)。
ping_record_preserve_timeintping 记录保留时长(小时)。
private_sitebool是否为私有站点。
record_enabledbool是否启用监控记录。
record_preserve_timeint监控记录保留时长(小时)。
sitenamestring站点名称。
themestring当前主题 Short 名称。
theme_settingsobject主题自定义配置(键值结构由具体主题定义,可能为空对象)。

提示

theme_settings 结构会因主题而异;前端应做存在性与键名的容错处理。

common:getVersion

描述:获取后端版本与构建哈希。

参数:无

返回:

返回值类型描述
VersionInfo版本与哈希信息对象

VersionInfo

字段类型说明
versionstring版本号(如 dev)
hashstring构建提交哈希

common:getNodesLatestStatus

描述:获取一个或多个节点的最新运行状态。

参数:

参数名类型必填说明
uuidstring单个节点 UUID;与 uuids 二选一或都不填
uuidsstring[]多个节点 UUID 列表;与 uuid 二选一或都不填

返回:

返回值类型描述
{ [uuid]: NodeStatus }以 uuid 作为键的节点最新状态对象集合

当同时为空时返回所有节点的最新状态;如仅指定部分 UUID,则仅返回对应条目。

NodeStatus

字段类型说明
clientstring节点 UUID(客户端标识)
timestring采集时间(ISO8601,UTC)
cpufloat64CPU 使用率
gpufloat64GPU 使用率
ramint64已用内存(字节)
ram_totalint64内存总量(字节)
swapint64已用交换分区(字节)
swap_totalint64交换分区总量(字节)
loadfloat641 分钟平均负载
load5float645 分钟平均负载
load15float6415 分钟平均负载
tempfloat64温度(单位取决于平台/传感器)
diskint64已用磁盘(字节)
disk_totalint64磁盘总量(字节)
net_inint64瞬时入网速(字节/秒)
net_outint64瞬时出网速(字节/秒)
net_total_upint64自启动以来累计上传(字节)
net_total_downint64自启动以来累计下载(字节)
processint64进程数量
connectionsint64TCP 连接数
connections_udpint64UDP 连接数
onlinebool是否在线

common:getMe

描述:获取当前登录用户的基本信息与登录状态。

参数:无

返回:

返回值类型描述
MeInfo当前登录用户信息对象

MeInfo

字段类型说明
2fa_enabledbool是否启用两步验证
logged_inbool是否已登录
sso_idstringSSO 用户 ID(未登录为空)
sso_typestringSSO 类型(如 github,未登录为空)
usernamestring用户名(未登录为空)
uuidstring用户 UUID(未登录为空)

common:getNodeRecentStatus

描述:获取指定节点的最近状态记录列表。

参数:

参数名类型必填说明
uuidstring节点 UUID

返回:

返回值类型描述
RecentStatusResp包含总数与状态记录的对象

RecentStatusResp

字段类型说明
countint记录总条数
recordsStatusRecord[]状态记录数组

StatusRecord

字段类型说明
clientstring节点 UUID(客户端标识)
timestring采集时间(ISO8601,UTC)
cpufloat64CPU 使用率(百分比,0-100)
gpufloat64GPU 使用率(百分比,0-100)
ramint64已用内存(字节)
ram_totalint64内存总量(字节)
swapint64已用交换分区(字节)
swap_totalint64交换分区总量(字节)
loadfloat641 分钟平均负载
tempfloat64温度(单位取决于平台/传感器)
diskint64已用磁盘(字节)
disk_totalint64磁盘总量(字节)
net_inint64瞬时入网速(字节/秒)
net_outint64瞬时出网速(字节/秒)
net_total_upint64累计上传(字节)
net_total_downint64累计下载(字节)
processint64进程数量
connectionsint64TCP 连接数
connections_udpint64UDP 连接数

common:getRecords

描述:按时间范围获取历史记录(负载或 Ping)。支持单节点或所有节点、起止时间或相对窗口、指标筛选与结果限额。

参数:

参数名类型必填说明
typestring记录类型:load | ping,默认 load
uuidstring节点 UUID;留空表示所有节点
hoursint时间窗口(单位:小时)。当未提供 start/end 时生效,默认 1
startstring起始时间(RFC3339)。与 end 可选配合使用
endstring结束时间(RFC3339)。与 start 可选配合使用
load_typestringtype=load 时的指标筛选:cpu | gpu | ram | swap | load | temp | disk | network | process | connections | all(默认 all
task_idinttype=ping 时的任务筛选;省略或 -1 表示所有任务
maxCountint返回数据点上限;默认 4000-1 表示不限。用于控制下采样与负载

返回:

默认行为

若未提供 uuidtypehours,则默认查询:所有客户端、type=load、最近 1 小时。

  • 公共字段:count(int),from(string, RFC3339),to(string, RFC3339)。
  • type=load
    • uuid 已提供:recordsStatusRecord[]
    • 未提供 uuidrecords 为形如 { [uuid]: StatusRecord[] } 的映射。
  • type=pingrecordsPingRecord[],另含 basic_info: BasicInfo[]

load_type != all 时,负载记录中仅包含所选指标及通用字段(clienttime)。

Load 结果结构

当指定 uuid

字段类型说明
countint总记录数
recordsStatusRecord[]负载历史记录数组
fromstring起始时间(RFC3339)
tostring结束时间(RFC3339)

当未指定 uuid

字段类型说明
countint总记录数(聚合统计参考值)
records{ [uuid]: StatusRecord[] }不同节点的记录映射
fromstring起始时间(RFC3339)
tostring结束时间(RFC3339)

注:StatusRecord 字段定义见上文“common:getNodeRecentStatus/StatusRecord”。

Ping 结果结构

字段类型说明
countint总记录数
basic_infoBasicInfo[]各节点统计摘要
recordsPingRecord[]Ping 历史记录数组
fromstring起始时间(RFC3339)
tostring结束时间(RFC3339)

BasicInfo

字段类型说明
clientstring节点 UUID
lossnumber丢包率(%)
minnumber最小延迟(ms)
maxnumber最大延迟(ms)

PingRecord

字段类型说明
task_idint任务 ID
timestring记录时间(RFC3339)
valuenumber延迟值(毫秒)
clientstring节点 UUID

public:getMe

描述:获取当前登录用户;访客返回 Guest 占位信息。

参数:无

返回:

返回值类型描述
MeInfo已登录时的用户信息;未登录时为 { username: "Guest", logged_in: false }

public:getNodesInformation

描述:获取公开节点基本信息。

参数:无

返回:

返回值类型描述
Client[]未认证调用方排除隐藏节点;无论是否认证,均不返回 tokenipv4ipv6、私有备注 remarkversion 字段。公共备注 public_remark 仍可返回

public:getPublicSettings

描述:获取公开站点设置。

参数:无

返回:

返回值类型描述
PublicInfo结构见 common:getPublicInfo

public:getVersion

描述:获取服务端版本。

参数:无

返回:

返回值类型描述
VersionInfo结构见 common:getVersion

public:getClientRecentRecords

描述:获取指定节点的运行时最近状态缓存。

参数:

参数名类型必填说明
uuidstring节点 UUID;访客不能查询隐藏节点

返回:

返回值类型描述
Record[]最近状态记录数组

public:getRecordsByUUID

描述:按相对时间窗口获取一个节点的历史负载记录。

参数:

参数名类型必填说明
uuidstring节点 UUID
load_typestringcpugpuramswaploadtempdisknetworkprocessconnectionsall
hoursstring查询窗口(小时),默认 4

返回:

返回值类型描述
PublicLoadRecordsResprecordscount;GPU 数据存在时额外返回 gpu_deviceshas_gpu_data

public:getPingRecords

描述:按节点或任务获取 Ping 历史及统计。

参数:

参数名类型必填说明
uuidstring二选一节点 UUID
task_idstring二选一Ping 任务 ID
hoursstring查询窗口(小时),默认 4

返回:

返回值类型描述
PublicPingRecordsRespcountrecords,并按条件返回 basic_infotasks

public:getPublicPingTasks

描述:获取可公开的 Ping 任务。

参数:无

返回:

返回值类型描述
PublicPingTask[]idnameclientsdefault_ontypeinterval

public:listMetricDefinitions

描述:获取公开指标定义及保留策略。

参数:无

返回:

返回值类型描述
MetricDefinition[]指标定义数组

public:queryMetrics

描述:查询一个或多个指标的原始或服务端聚合时间序列。

参数:

参数名类型必填说明
metric_key / metric_keys / metricsstring / string[]指标名,三种输入兼容
entity_id / entity_idsstring / string[]节点 UUID;留空为所有可见节点
start / start_time、end / end_timestring (RFC3339)时间范围;必须带时区
hoursnumber未提供起始时间时的窗口,默认 4 小时
tagsobject精确标签筛选
downsample / server_downsamplebool是否服务端聚合,默认 true
fill_emptybool是否填充空桶
max_points / downsample_pointsint单序列点数上限,默认 500
aggregation / downsample_algorithm / algorithmstring聚合算法,默认 avg

返回:

返回值类型描述
MetricQueryRespstartendseries: MetricSeries[]count;完整字段见上文结构定义

public:getPingMetricStats

描述:按节点和 Ping 任务计算延迟、丢包及分位数统计。

参数:

参数名类型必填说明
uuid / entity_id / entity_idsstring / string[]节点筛选;留空为所有可见节点
task_id / task_idsstring|number / arrayPing 任务筛选
start / start_time、end / end_timestring (RFC3339)时间范围;必须带时区
hoursnumber未提供起始时间时的窗口,默认 4 小时
max_points / downsample_pointsint聚合点数上限,默认 500

返回:

返回值类型描述
PingMetricStatsRespstartendinterval_secondsstats: PingMetricTaskStats[]count

client:getPingTasks

描述:获取分配给当前客户端的 Ping 任务。

参数:无

返回:

返回值类型描述
PingTask[]当前客户端可执行的任务数组

client:uploadPingResult

描述:上报当前客户端的 Ping 执行结果。

参数:

参数名类型必填说明
task_iduintPing 任务 ID
valueint延迟毫秒数;负值代表失败
ping_typestring客户端协议兼容字段
finished_atRFC3339完成时间

返回:

返回值类型描述
object{ status: "success" }

client:taskResult

描述:上报当前客户端的远程命令执行结果。

参数:

参数名类型必填说明
task_idstring任务 ID
resultstring命令输出
exit_codeint进程退出码
finished_atRFC3339完成时间

返回:

返回值类型描述
object{ status: "success", message: string }

权限

admin:* 方法仅允许管理员调用;admin:exec 还需要通过敏感操作二次验证。

admin:addClient

描述:创建节点。

参数:

参数名类型必填说明
namestring-

返回:

返回值类型描述
{ uuid: string, token: string }成功时返回该结构

admin:editClient

描述:部分更新节点信息。

参数:

参数名类型必填说明
paramsClientPatch(必须含 uuid参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:removeClient

描述:删除节点。

参数:

参数名类型必填说明
uuidstring-

返回:

返回值类型描述
null成功时返回该结构

admin:getClient

描述:获取指定节点。

参数:

参数名类型必填说明
uuidstring-

返回:

返回值类型描述
Client成功时返回该结构

admin:listClients

描述:获取全部节点基本信息。

参数:无

返回:

返回值类型描述
Client[]成功时返回该结构

admin:getClientToken

描述:获取节点令牌。

参数:

参数名类型必填说明
uuidstring-

返回:

返回值类型描述
{ token: string }成功时返回该结构

admin:clearRecords

描述:清空负载历史记录。

参数:无

返回:

返回值类型描述
null(仅负载记录)成功时返回该结构

admin:clearAllRecords

描述:清空负载与 Ping 历史记录。

参数:无

返回:

返回值类型描述
null(负载与 Ping 记录)成功时返回该结构

admin:orderClients

描述:更新节点排序权重。

参数:

参数名类型必填说明
params{ [uuid: string]: number }参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:getSessions

描述:获取全部登录会话。

参数:无

返回:

返回值类型描述
{ current: string, data: Session[] }成功时返回该结构

admin:deleteSession

描述:删除指定会话。

参数:

参数名类型必填说明
sessionstring-

返回:

返回值类型描述
null成功时返回该结构

admin:deleteAllSessions

描述:删除全部会话。

参数:无

返回:

返回值类型描述
null成功时返回该结构

admin:getSettings

描述:获取全部系统设置。

参数:无

返回:

返回值类型描述
{ [key: string]: unknown }成功时返回该结构

admin:editSettings

描述:部分更新系统设置。

参数:

参数名类型必填说明
params{ [settingKey: string]: unknown }参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:addPingTask

描述:创建 Ping 任务。

参数:

参数名类型必填说明
clientsstring[]-
default_onboolean-
namestring-
targetstring-
typestring-
intervalnumber-

返回:

返回值类型描述
{ task_id: uint }成功时返回该结构

admin:deletePingTask

描述:删除 Ping 任务。

参数:

参数名类型必填说明
iduint[]-

返回:

返回值类型描述
null成功时返回该结构

admin:editPingTask

描述:批量更新 Ping 任务。

参数:

参数名类型必填说明
tasksPingTask[]-

返回:

返回值类型描述
null成功时返回该结构

admin:getAllPingTasks

描述:获取全部 Ping 任务。

参数:无

返回:

返回值类型描述
PingTask[]成功时返回该结构

admin:orderPingTask

描述:更新 Ping 任务排序权重。

参数:

参数名类型必填说明
params{ [taskId: string]: number }参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:addLoadNotification

描述:创建负载通知规则。

参数:

参数名类型必填说明
clientsstring[]-
namestring-
metricstring-
thresholdnumber-
rationumber-
intervalnumber-

返回:

返回值类型描述
{ task_id: uint }成功时返回该结构

admin:deleteLoadNotification

描述:删除负载通知规则。

参数:

参数名类型必填说明
iduint[]-

返回:

返回值类型描述
null成功时返回该结构

admin:editLoadNotification

描述:批量更新负载通知规则。

参数:

参数名类型必填说明
notificationsLoadNotification[]-

返回:

返回值类型描述
null成功时返回该结构

admin:getAllLoadNotifications

描述:获取全部负载通知规则。

参数:无

返回:

返回值类型描述
LoadNotification[]成功时返回该结构

admin:listOfflineNotifications

描述:获取离线通知配置。

参数:无

返回:

返回值类型描述
OfflineNotification[]成功时返回该结构

admin:editOfflineNotification

描述:批量更新离线通知配置。

参数:

参数名类型必填说明
paramsOfflineNotification[]参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:enableOfflineNotification

描述:为节点启用离线通知。

参数:

参数名类型必填说明
paramsstring[](客户端 UUID)`参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:disableOfflineNotification

描述:为节点禁用离线通知。

参数:

参数名类型必填说明
paramsstring[](客户端 UUID)`参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:listTrafficReportNotifications

描述:获取流量报告通知配置。

参数:无

返回:

返回值类型描述
TrafficReportNotification[]成功时返回该结构

admin:editTrafficReportNotifications

描述:批量更新流量报告通知配置。

参数:

参数名类型必填说明
paramsTrafficReportNotification[]参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:enableTrafficReportNotifications

描述:为节点启用流量报告。

参数:

参数名类型必填说明
paramsstring[](客户端 UUID)`参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:disableTrafficReportNotifications

描述:为节点禁用流量报告。

参数:

参数名类型必填说明
paramsstring[](客户端 UUID)`参数本身即为此类型或映射

返回:

返回值类型描述
null成功时返回该结构

admin:sendNotification

描述:发送一条通知。event 为普通事件对象,可含 eventmessageemojitimeclients 字段(均可选),未知字段会被忽略;clients 只需携带客户端 UUID,服务端自动补全。

参数:

参数名类型必填说明
eventobject事件对象

返回:

返回值类型描述
null成功时返回该结构

admin:getClipboard

描述:获取剪贴板条目。

参数:

参数名类型必填说明
idstring-

返回:

返回值类型描述
Clipboard成功时返回该结构

admin:listClipboard

描述:获取全部剪贴板条目。

参数:无

返回:

返回值类型描述
Clipboard[]成功时返回该结构

admin:createClipboard

描述:创建剪贴板条目。

参数:

参数名类型必填说明
textstring-
namestring-
weightnumber-
remarkstring-

返回:

返回值类型描述
Clipboard成功时返回该结构

admin:updateClipboard

描述:部分更新剪贴板条目。

参数:

参数名类型必填说明
idstring-
textstring-
namestring-
weightnumber-
remarkstring-

返回:

返回值类型描述
null成功时返回该结构

admin:deleteClipboard

描述:删除剪贴板条目。

参数:

参数名类型必填说明
idstring-

返回:

返回值类型描述
null成功时返回该结构

admin:batchDeleteClipboard

描述:批量删除剪贴板条目。

参数:

参数名类型必填说明
idsnumber[]-

返回:

返回值类型描述
null成功时返回该结构

admin:getTasks

描述:获取全部远程执行任务及结果。

参数:无

返回:

返回值类型描述
TaskWithResults[]成功时返回该结构

admin:getTaskById

描述:获取指定远程执行任务。

参数:

参数名类型必填说明
task_idstring-

返回:

返回值类型描述
TaskWithResults成功时返回该结构

admin:getTasksByClientId

描述:获取分配给节点的任务。

参数:

参数名类型必填说明
uuidstring-

返回:

返回值类型描述
Task[]成功时返回该结构

admin:getSpecificTaskResult

描述:获取任务在指定节点上的结果。

参数:

参数名类型必填说明
task_idstring-
uuidstring-

返回:

返回值类型描述
TaskResult成功时返回该结构

admin:getTaskResultsByTaskId

描述:获取任务的全部节点结果。

参数:

参数名类型必填说明
task_idstring-

返回:

返回值类型描述
TaskResult[]成功时返回该结构

admin:getLogs

描述:分页获取审计日志。

参数:

参数名类型必填说明
limitstring-
pagestring-

返回:

返回值类型描述
{ logs: Log[], total: number }成功时返回该结构

admin:exec

描述:在节点上执行命令。

参数:

参数名类型必填说明
commandstring-
clientsstring[]-

返回:

返回值类型描述
{ task_id: string, clients: string[], queued_clients: string[] }成功时返回该结构

admin:testSendMessage

描述:发送测试通知。

参数:无

返回:

返回值类型描述
null成功时返回该结构

admin:testGeoip

描述:测试 GeoIP 查询。

参数:

参数名类型必填说明
ipstring-

返回:

返回值类型描述
GeoIPRecord成功时返回该结构

admin:getMessageSenderProvider

描述:获取消息发送器配置或模板。

参数:

参数名类型必填说明
providerstring-

返回:

返回值类型描述
MessageSenderProviderMessageSenderProvider[]成功时返回该结构

admin:setMessageSenderProvider

描述:保存消息发送器配置。

参数:

参数名类型必填说明
namestring-
additionstring-

返回:

返回值类型描述
{ message: string }成功时返回该结构

admin:getOidcProvider

描述:获取 OIDC 配置或模板。

参数:

参数名类型必填说明
providerstring-

返回:

返回值类型描述
OidcProviderOidcProvider[]成功时返回该结构

admin:setOidcProvider

描述:保存 OIDC 配置。

参数:

参数名类型必填说明
namestring-
additionstring-

返回:

返回值类型描述
{ message: string }成功时返回该结构

admin:getXtermjsSettings

描述:获取终端设置。

参数:无

返回:

返回值类型描述
XtermJSSettings成功时返回该结构

admin:setXtermjsSettings

描述:保存并返回规范化后的终端设置。

参数:

参数名类型必填说明
paramsXtermJSSettings参数本身即为此类型或映射

返回:

返回值类型描述
XtermJSSettings返回保存后经过默认值补全与校验的终端设置

admin:listMetricDefinitions

描述:获取指标定义与保留策略。

参数:无

返回:

返回值类型描述
MetricDefinition[]成功时返回该结构

admin:updateMetricDefinition

描述:更新指标保留天数。

参数:

参数名类型必填说明
namestring-
retention_daysnumber-

返回:

返回值类型描述
MetricDefinition成功时返回该结构

admin:getMetricMigrationStatus

描述:获取指标存储迁移进度。

参数:无

返回:

返回值类型描述
MetricMigrationStatus成功时返回该结构

admin:startMetricMigration

描述:启动指标存储迁移。

参数:

参数名类型必填说明
source_driverstring-
source_dsnstring-

返回:

返回值类型描述
{ status: "started", message: string }成功时返回该结构

admin:cancelMetricMigration

描述:取消指标存储迁移。

参数:无

返回:

返回值类型描述
{ status: "canceled", message: string }成功时返回该结构

admin:getDatabaseSize

描述:获取主数据库与监控数据库存储状态。

参数:无

返回:

返回值类型描述
DatabaseStatus成功时返回该结构

admin:vacuumDatabase

描述:回收主数据库与监控数据库空间。

参数:无

返回:

返回值类型描述
DatabaseMaintenanceResult成功时返回该结构

数据结构

本节补充上述目录中尚未在前文定义的返回对象。

所有绝对时间均使用带时区的 RFC3339 字符串,服务端以 Go time.Time 接收和返回;UTC 时间可能包含纳秒,例如 2026-07-17T01:30:00.123456789Z。请求必须包含 Z 或显式 偏移,服务端不接受无时区时间字符串,也不猜测 Unix 时间单位。

日报、周报、月报、续费日期和 cron 墙钟时间按服务器操作系统时区计算。Komari 不提供 独立于操作系统的应用时区配置。

MetricQueryParams 与 MetricQueryResp

字段类型必填说明
metric_keystringmetric_keys / metrics 三选一单个指标名
metric_keys / metricsstring[]指标名列表;两者是兼容别名
entity_id / entity_idsstring / string[]节点 UUID;留空查询全部可见节点
start / start_timestring (RFC3339)起始时间;必须带时区,两个字段互为别名
end / end_timestring (RFC3339)结束时间;必须带时区,默认当前时间
hoursnumber未提供 start 时的窗口,默认 4
tagsobject精确标签筛选
downsample / server_downsampleboolean是否由服务端聚合,默认 true
downsample_by_metric / server_downsample_by_metricobject{ [metric: string]: boolean } 覆盖项
fill_emptyboolean聚合窗口空缺时是否补空点
max_points / downsample_pointsnumber单指标点数上限,默认 500
max_points_by_metric / points_by_metricobject{ [metric: string]: number } 覆盖项
aggregation / downsample_algorithm / algorithmstring聚合方式,默认 avg;别名均可用
aggregation_by_metric / downsample_algorithm_by_metric / algorithm_by_metricobject{ [metric: string]: string } 覆盖项

MetricQueryResp

字段类型说明
start / endstring实际查询范围(RFC3339Nano)
server_downsample_defaultbool本次请求的全局下采样默认值
default_pointsint服务端默认点数,当前为 500
seriesMetricSeries[]按指标、节点和标签拆分的序列
countint序列数量

MetricSeries

字段类型说明
metric_key / entity_idstring指标名 / 节点 UUID
type / unitstring指标类型 / 单位,可能省略
retention_daysint保留天数,可能省略
tagsobject序列标签
downsampledbool是否已聚合
downsample_algorithmstring聚合算法,原始查询时省略
fill_emptybool是否填充空桶
max_pointsint点数上限
interval_secondsfloat64聚合桶宽(秒)
countint点数
pointsMetricPoint[]数据点

MetricPoint

字段类型说明
timestring时间(RFC3339Nano)
valuefloat64 | null数值;空桶或无效 Ping 值可为 null
countint聚合桶内样本数;原始点省略
tagsobject指标标签;可能省略
labelsobject原始点附加标签;聚合点省略

PingMetricStatsParams 与 PingMetricStatsResp

字段类型必填说明
uuid / entity_idstring单节点筛选,互为兼容字段
entity_idsstring[]多节点筛选
task_idstring | number单任务筛选
task_ids(string | number)[]多任务筛选
start / start_timestring (RFC3339)起始时间;必须带时区,互为兼容字段
end / end_timestring (RFC3339)结束时间;必须带时区,互为兼容字段
hoursnumber未提供起始时间时的窗口,默认 4
max_points / downsample_pointsint聚合点数上限,默认 500

PingMetricStatsResp

字段类型说明
start / endstring实际查询范围
interval_secondsfloat64聚合桶宽(秒)
statsPingMetricTaskStats[]节点、任务统计
countint统计项数量

PingMetricTaskStats

字段类型说明
entity_id / task_idstring节点 UUID / 任务 ID
name / type / intervalstring / string / int任务名称、类型、间隔,找不到任务定义时省略
tagsobject至少包含 task_id
total / validint总样本数 / 有效样本数
lossfloat64丢包率(百分比)
loss_approximatebool是否由延迟负值估算丢包
min / max / avg / latestfloat64延迟统计(毫秒),无有效样本时省略
p50 / p99 / stddevfloat64分位数与标准差,无有效样本时省略
p99_p50_ratiofloat64P99 相对 P50 的抖动比率

PingTask

字段类型说明
iduint任务 ID;创建时可省略
weightint排序权重
namestring任务名称
clientsstring[]指定节点 UUID
default_onbool是否默认应用于节点
typestringicmptcphttp
targetstring探测目标
intervalint探测间隔(秒)

LoadNotification

字段类型说明
iduint规则 ID
namestring规则名称
clientsstring[]节点 UUID
metricstring监控指标
thresholdfloat32触发阈值
ratiofloat32窗口内达标比例,范围 (0, 1]
intervalint检测窗口(分钟),范围 1-240
last_notifiedstring | null (UTC RFC3339Nano)最近通知时间

OfflineNotification

字段类型说明
clientstring节点 UUID
client_infoClient节点信息,可能省略
enablebool是否启用
grace_periodint离线宽限期(秒)
last_notifiedstring | null (UTC RFC3339Nano)最近通知时间

TrafficReportNotification

字段类型说明
clientstring节点 UUID
client_infoClient节点信息,可能省略
enablebool是否启用
dailybool是否发送日报
weeklybool是否发送周报
monthlybool是否发送月报

Clipboard

字段类型说明
idint条目 ID
textstring内容
namestring名称
weightint排序权重
remarkstring备注
created_atstring (UTC RFC3339Nano)创建时间
updated_atstring (UTC RFC3339Nano)更新时间

Task

字段类型说明
task_idstring任务 ID
clientsstring[]目标节点 UUID
commandstring执行命令
resultsTaskResult[]任务结果;部分接口不预加载此字段

TaskResult

字段类型说明
task_idstring任务 ID
clientstring节点 UUID
client_infoClient节点信息,可能省略
resultstring命令输出
exit_codeint | null退出码;未完成时为 null
finished_atstring | null (UTC RFC3339Nano)完成时间;未完成时为 null
created_atstring (UTC RFC3339Nano)创建时间

TaskWithResults

字段类型说明
task_idstring任务 ID
clientsstring[]目标节点 UUID
commandstring执行命令
resultsTaskResultSummary[]节点执行结果

TaskResultSummary 包含 clientresultexit_codefinished_atcreated_at,不包含 task_idclient_info

Session

字段类型说明
uuidstring用户 UUID
sessionstring会话令牌
user_agentstring登录时 User-Agent
ipstring登录 IP
login_methodstring登录方式
latest_onlinestring (UTC RFC3339Nano)最近在线时间
latest_user_agentstring最近 User-Agent
latest_ipstring最近 IP
expiresstring (UTC RFC3339Nano)过期时间
created_atstring (UTC RFC3339Nano)创建时间

Log

字段类型说明
iduint日志 ID
ipstring来源 IP
uuidstring操作者 UUID
messagestring日志内容
msg_typestring日志级别
timestring (UTC RFC3339Nano)记录时间

MessageSenderProvider / OidcProvider

字段类型说明
namestring提供者名称
additionstringJSON 格式的提供者配置

XtermJSSettings

字段类型说明
terminalOptionsTerminalOptions | nullxterm.js 选项
terminalPaddingint | null终端内边距
transparentBackgroundbool是否启用透明背景
customCssstring自定义 CSS

TerminalOptions

字段类型说明
cursorBlinkbool | null光标是否闪烁
convertEolbool | null是否转换换行符
fontFamilystring字体族
fontSizeint字号
macOptionIsMetabool | nullmacOS Option 是否作为 Meta
scrollbackint | null回滚行数
themeThemeConfig | null颜色主题

ThemeConfig

支持 foregroundbackgroundcursorcursorAccentselectionForegroundselectionBackgroundselectionInactiveBackground,以及 blackredgreenyellowbluemagentacyanwhite 和对应的 bright* 颜色字段;这些字段均为 stringextendedAnsi 为扩展 ANSI 颜色的 string[]

MetricDefinition

字段类型说明
namestring指标名称
descriptionstring | object描述文本或多语言描述映射
typestring指标类型
unitstring单位,可能省略
retention_daysint原始数据保留天数
metadataobject{ [key: string]: string },可能省略
created_atstring (UTC RFC3339Nano)创建时间
updated_atstring (UTC RFC3339Nano)更新时间

MetricMigrationStatus

字段类型说明
statusstringidlerunningcompletedfailedcanceled
is_runningbool当前是否正在迁移
source_driver / target_driverstring源库 / 目标库驱动
source_dsn / target_dsnstring已脱敏的源库 / 目标库 DSN
total_metrics / metrics_doneint指标总数 / 已完成数
current_metricstring当前指标
migrated_pointsint64已迁移采样点数
start_time / end_timestring (UTC RFC3339Nano)开始 / 结束时间
errorstring失败原因

DatabaseStatus

字段类型说明
typestring主数据库驱动(兼容字段)
sizeint64主数据库大小(兼容字段)
mainDatabaseStorageStatus主数据库状态
monitoringDatabaseStorageStatus监控数据库状态
local_totalint64 | null两个数据库都位于本地时的总大小

DatabaseStorageStatus 包含 driver: stringlocation: "local" | "external" | ""size: int64 | nullaction: stringerror?: string

DatabaseMaintenanceResult

字段类型说明
before / after / sizeint64主数据库维护前 / 后大小及兼容大小字段
all_succeededbool两个数据库是否都维护成功
mainDatabaseMaintenanceItem主数据库维护结果
monitoringDatabaseMaintenanceItem监控数据库维护结果

DatabaseMaintenanceItem 包含 driver: stringaction: stringbefore: int64 | nullafter: int64 | nullsuccess: boolerror?: stringsize_error?: string

PublicLoadRecordsResp

字段类型说明
recordsRecord[] | Partial<Record>[]历史记录;筛选指标时只包含通用字段和所选指标
countint记录数量
load_typestring实际筛选指标,未筛选时省略
gpu_devicesobject以设备索引为键,值为 { device_index, device_name, records: GPURecord[] }
has_gpu_databool是否存在 GPU 明细数据

Record

字段类型说明
clientstring节点 UUID
timestring (UTC RFC3339Nano)采集时间
cpu / gpufloat32CPU / GPU 使用率
ram / ram_totalint64已用 / 总内存(字节)
swap / swap_totalint64已用 / 总交换空间(字节)
load / tempfloat32系统负载 / 温度
disk / disk_totalint64已用 / 总磁盘(字节)
net_in / net_outint64入站 / 出站速率(字节/秒)
net_total_up / net_total_downint64累计上传 / 下载(字节)
traffic_up / traffic_downint64本采样周期上传 / 下载(字节)
processint进程数
connections / connections_udpint总连接数 / UDP 连接数

GPURecord

字段类型说明
clientstring节点 UUID
timestring (UTC RFC3339Nano)采集时间
device_indexintGPU 设备索引
device_namestringGPU 名称
mem_total / mem_usedint64总显存 / 已用显存(字节)
utilizationfloat32GPU 使用率
temperatureint温度(摄氏度)

PublicPingRecordsResp

字段类型说明
countint记录数量
basic_infoPingClientStats[]按节点汇总,可能省略
recordsPublicPingRecord[]Ping 历史记录
tasksPublicPingTaskStats[]按任务汇总,可能省略

PingClientStats 包含 client: stringloss: float64min: intmax: intPublicPingRecord 包含 task_id?: uinttime: stringvalue: intclient?: stringPublicPingTaskStats 包含 idnametypeintervaldefault_on、可选的 clients,以及 lossminmaxavgtotal

PublicPingTask

字段类型说明
iduint任务 ID
namestring任务名称
clientsstring[]指定节点 UUID
default_onbool是否默认启用
typestring任务类型
intervalint探测间隔(秒)

Released under the MIT license.