oclaw/interfaces/ws/protocol_schemas/connect.json
oliver 7253f6795d 完成 WebSocket 与 workspace 架构优化收尾,并修复全量回归阻塞。
本次将握手鉴权、Origin 校验、限流、重连补偿、发送背压与观测字段打通,同时修复 gateway 异常路径与备份清理兼容问题,确保工具历史压缩语义一致并恢复全量测试通过。

Made-with: Cursor
2026-04-27 20:41:50 +08:00

62 lines
2.3 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "oclaw://schemas/connect.json",
"title": "ConnectParams",
"type": "object",
"additionalProperties": false,
"required": ["minProtocol", "maxProtocol", "client"],
"properties": {
"minProtocol": { "type": "integer", "minimum": 1 },
"maxProtocol": { "type": "integer", "minimum": 1 },
"lastSeq": { "type": "integer", "minimum": 0 },
"client": {
"type": "object",
"additionalProperties": false,
"required": ["id", "version", "platform", "mode"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"displayName": { "type": "string", "minLength": 1 },
"version": { "type": "string", "minLength": 1 },
"platform": { "type": "string", "minLength": 1 },
"deviceFamily": { "type": "string", "minLength": 1 },
"modelIdentifier": { "type": "string", "minLength": 1 },
"mode": { "type": "string", "minLength": 1 },
"instanceId": { "type": "string", "minLength": 1 }
}
},
"caps": { "type": "array", "items": { "type": "string", "minLength": 1 } },
"commands": { "type": "array", "items": { "type": "string", "minLength": 1 } },
"permissions": {
"type": "object",
"additionalProperties": { "type": "boolean" }
},
"pathEnv": { "type": "string" },
"role": { "type": "string", "minLength": 1 },
"scopes": { "type": "array", "items": { "type": "string", "minLength": 1 } },
"auth": {
"type": "object",
"additionalProperties": false,
"properties": {
"token": { "type": "string" },
"bootstrapToken": { "type": "string" },
"deviceToken": { "type": "string" },
"password": { "type": "string" }
}
},
"device": {
"type": "object",
"additionalProperties": false,
"required": ["id", "publicKey", "signature", "signedAt", "nonce"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"publicKey": { "type": "string", "minLength": 1 },
"signature": { "type": "string", "minLength": 1 },
"signedAt": { "type": "integer", "minimum": 0 },
"nonce": { "type": "string", "minLength": 1 }
}
},
"locale": { "type": "string" },
"userAgent": { "type": "string" }
}
}