Resolve 17 merge conflicts preserving ironclaw branding while incorporating all upstream bug fixes and feature updates: - Keep ironclaw name, CLI branding, and custom web app bundling - Take upstream's new gateway auth token auto-generation - Take upstream's shouldSkipRespawnForArgv respawn guard - Take upstream's refactored skills frontmatter (resolveOpenClawManifestBlock) - Merge upstream's ~/.agents/skills path + ironclaw's bundled skills watcher - Take upstream's new GatewayToolsConfig alongside ironclaw's GatewayWebAppConfig - Take upstream's minimalTestGateway guard in server.impl.ts - Take upstream's refactored fs-mocked tests with ironclaw variants - Take upstream's system message + subagent polling guidance tests - Take upstream's dynamic import pattern in onboarding wizard - Fix extensions/feishu workspace reference (openclaw -> ironclaw) - Regenerate pnpm-lock.yaml with updated dependencies Co-authored-by: Cursor <cursoragent@cursor.com>
@openclaw/zalo
Zalo channel plugin for OpenClaw (Bot API).
Install (local checkout)
openclaw plugins install ./extensions/zalo
Install (npm)
openclaw plugins install @openclaw/zalo
Onboarding: select Zalo and confirm the install prompt to fetch the plugin automatically.
Config
{
channels: {
zalo: {
enabled: true,
botToken: "12345689:abc-xyz",
dmPolicy: "pairing",
proxy: "http://proxy.local:8080",
},
},
}
Webhook mode
{
channels: {
zalo: {
webhookUrl: "https://example.com/zalo-webhook",
webhookSecret: "your-secret-8-plus-chars",
webhookPath: "/zalo-webhook",
},
},
}
If webhookPath is omitted, the plugin uses the webhook URL path.
Restart the gateway after config changes.