Files
HarborForge.OpenclawPlugin/plugin/openclaw.plugin.json
operator 86c9d43c97 feat: Discord-based agent wakeup replacing spawn
New wakeup flow:
1. Create private Discord channel for the agent
2. Send wakeup message with slot context + workflow reference
3. If Dirigent detected (globalThis.__dirigent), create work-type channel
4. Fallback to api.spawn if Discord not configured

New config fields: discordBotToken, discordGuildId
New file: plugin/calendar/discord-wakeup.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-19 03:26:56 +00:00

78 lines
3.0 KiB
JSON

{
"id": "harbor-forge",
"name": "HarborForge",
"version": "0.2.0",
"description": "HarborForge plugin for OpenClaw - project management, monitoring, and CLI integration",
"entry": "./dist/index.js",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"default": true,
"description": "Enable the HarborForge plugin"
},
"backendUrl": {
"type": "string",
"default": "https://monitor.hangman-lab.top",
"description": "HarborForge backend base URL (shared by Monitor and Calendar API)"
},
"identifier": {
"type": "string",
"description": "Server/claw identifier. Used as claw_identifier in Calendar heartbeat and as MonitoredServer.identifier. Auto-detected from hostname if not set."
},
"apiKey": {
"type": "string",
"description": "API Key from HarborForge Monitor admin panel (optional but required for Monitor authentication)"
},
"monitor_port": {
"type": "number",
"description": "Local port for communication between HarborForge Monitor and this plugin"
},
"reportIntervalSec": {
"type": "number",
"default": 30,
"description": "How often to report metrics (seconds)"
},
"httpFallbackIntervalSec": {
"type": "number",
"default": 60,
"description": "HTTP heartbeat interval when WS unavailable"
},
"logLevel": {
"type": "string",
"enum": ["debug", "info", "warn", "error"],
"default": "info",
"description": "Logging level"
},
"calendarEnabled": {
"type": "boolean",
"default": true,
"description": "Enable Calendar heartbeat integration (PLG-CAL-001). When enabled, plugin sends periodic heartbeat to /calendar/agent/heartbeat to receive pending TimeSlots."
},
"calendarHeartbeatIntervalSec": {
"type": "number",
"default": 60,
"description": "How often to send Calendar heartbeat to backend (seconds). Defaults to 60s (1 minute)."
},
"calendarApiKey": {
"type": "string",
"description": "API key for Calendar API authentication. If not set, uses apiKey or plugin auto-authentication via X-Agent-ID header."
},
"managedMonitor": {
"type": "string",
"description": "Absolute path to an installed HarborForge.Monitor binary managed by this plugin installer. If set, gateway_start/gateway_stop hooks will start/stop the monitor process automatically."
},
"discordBotToken": {
"type": "string",
"description": "Discord bot token for agent wakeup. Used to create private channels and send wakeup messages. Set to the same value as Dirigent moderator bot token."
},
"discordGuildId": {
"type": "string",
"description": "Discord guild ID where wakeup channels are created."
}
}
}
}