feat: PIT Channel plugin v1.0.0 - complete implementation

This commit is contained in:
2026-03-14 15:54:30 +08:00
parent 431ebfc193
commit ade55c5016
27 changed files with 4063 additions and 0 deletions

96
openclaw.plugin.json Normal file
View File

@@ -0,0 +1,96 @@
{
"$schema": "https://raw.githubusercontent.com/openclaw/openclaw/main/schemas/plugin.json",
"id": "pit-bot",
"name": "PIT Bot",
"version": "1.0.0",
"description": "Connect to PIT Router for multi-agent support",
"entry": "dist/index.js",
"minOpenClawVersion": "2026.3.0",
"author": "小白 🐶",
"license": "MIT",
"repository": "https://github.com/your-org/openclaw-pit-bot",
"homepage": "https://github.com/your-org/openclaw-pit-bot#readme",
"capabilities": {
"chatTypes": ["direct"],
"media": true,
"reactions": false,
"threads": false,
"blockStreaming": false
},
"config": {
"sections": [
{
"key": "channels.pit-bot",
"label": "PIT Bot",
"description": "PIT Router connection settings",
"schema": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true,
"description": "Enable PIT Bot channel"
},
"routerUrl": {
"type": "string",
"format": "uri",
"description": "PIT Router WebSocket URL"
},
"authToken": {
"type": "string",
"description": "Authentication token or ${ENV_VAR}"
},
"reconnectInterval": {
"type": "integer",
"minimum": 1000,
"default": 5000,
"description": "Reconnection interval in milliseconds"
},
"heartbeatInterval": {
"type": "integer",
"minimum": 1000,
"default": 30000,
"description": "Heartbeat interval in milliseconds"
},
"heartbeatTimeout": {
"type": "integer",
"minimum": 1000,
"default": 10000,
"description": "Heartbeat timeout in milliseconds"
},
"ackTimeout": {
"type": "integer",
"minimum": 1000,
"default": 30000,
"description": "Message acknowledgment timeout in milliseconds"
},
"maxQueueSize": {
"type": "integer",
"minimum": 1,
"default": 100,
"description": "Maximum message queue size"
},
"accounts": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"name": { "type": "string" },
"routerUrl": { "type": "string" },
"authToken": { "type": "string" },
"reconnectInterval": { "type": "integer" },
"heartbeatInterval": { "type": "integer" },
"heartbeatTimeout": { "type": "integer" },
"ackTimeout": { "type": "integer" },
"maxQueueSize": { "type": "integer" }
}
}
}
},
"required": ["routerUrl"]
}
}
]
}
}