Skip to content

截图桥接 API

截图路由是 N.E.K.O. Electron 渲染器截图桥的 HTTP 入口。当原生截图后端无法读取其他应用窗口时(例如 Linux 纯 Wayland 环境),GalGame 插件会使用它。

WARNING

这是第一方本地桥接协议,不是通用截图 API。两个接口都只接受回环地址客户端,并且必须有已连接的 N.E.K.O. Electron 渲染器通过主 WebSocket 处理请求。非回环调用方会收到 HTTP 403

路由清单

方法路径用途
GET/api/capture/health检查是否有具备截图能力的渲染器连接
POST/api/capture/screenshot请求该渲染器截取指定桌面源

健康检查

渲染器已注册时:

http
GET /api/capture/health
json
{"success": true, "available": true}

没有渲染器时返回 HTTP 503

json
{"success": false, "available": false, "error": "no_renderer"}

截取桌面源

http
POST /api/capture/screenshot
Content-Type: application/json

{
  "target_id": "window:123456:0",
  "pid": 4242,
  "title": "Example Game"
}
字段类型要求
target_idinteger 或 string必填;会标准化为字符串;长度至少为 1 且不超过桥接限制
pidinteger必填且大于 0
titlestring可选,最长 512 个字符,默认为 ""

未知字段会被拒绝。target_id 可以是插件后端取得的原生窗口句柄,也可以是 Electron desktopCapturer 的 source ID。桌面源由渲染器解析;HTTP 路由本身不执行截图。

成功时返回图片 data URL 和可选的渲染器元数据:

json
{
  "success": true,
  "image": "data:image/jpeg;base64,...",
  "width": 1920,
  "height": 1080,
  "source_id": "window:123456:0"
}

只有渲染器提供有效值时,才会包含 widthheightsource_id

错误响应

状态码error含义
400invalid_json请求体不是有效 JSON
403loopback_only调用方不是回环客户端
422validation_error请求字段或 target_id 长度无效
502source_not_found渲染器找不到指定桌面源
502bridge_error截图桥返回其他上游错误
502empty_image渲染器未返回可用图片
503no_renderer没有具备截图能力的渲染器连接
504renderer_timeout渲染器未在桥接超时前响应
500internal_error未预期的服务端错误

桥接会使用消息类型中说明的 WebSocket capture_bridge_statuscapture_bridge_response 和服务端截图请求消息。返回图片属于用户敏感的屏幕内容,请勿记录到日志。