Files
openclaw/scripts/lib/official-external-channel-catalog.json
Peter Steinberger c340bc09f0 feat(buzz): support flat automatic replies and typing
Expose opt-in replyToMode off while retaining threaded replies by default. Keep incoming thread/session identity and explicit tool or CLI targets intact. Resolves #120339. Thanks to @Alfridus1 for the report.
2026-08-27 14:53:18 -07:00

33 lines
42 KiB
JSON

{
"entries": [
{"name":"@openclaw/buzz","version":"2026.8.1","description":"Connect OpenClaw agents to Buzz rooms","source":"official","kind":"channel","openclaw":{"channelConfigs":{"buzz":{"label":"Buzz","description":"Connect OpenClaw agents to Buzz team rooms.","schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"responsePrefix":{"type":"string"},"markdown":{"type":"object","properties":{"tables":{"type":"string","enum":["off","bullets","code","block"]}},"additionalProperties":false},"relayUrl":{"allOf":[{"type":"string","format":"uri"},{"type":"string","pattern":"^[wW][sS][sS]?:\\/\\/"}]},"privateKey":{"anyOf":[{"type":"string"},{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"env"},"provider":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"id":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{0,127}$"}},"required":["source","provider","id"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"file"},"provider":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"id":{"type":"string"}},"required":["source","provider","id"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"exec"},"provider":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"id":{"type":"string"}},"required":["source","provider","id"],"additionalProperties":false}]}]},"authTag":{"anyOf":[{"type":"string"},{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"env"},"provider":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"id":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{0,127}$"}},"required":["source","provider","id"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"file"},"provider":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"id":{"type":"string"}},"required":["source","provider","id"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"exec"},"provider":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"id":{"type":"string"}},"required":["source","provider","id"],"additionalProperties":false}]}]},"replyToMode":{"type":"string","enum":["off","all"]},"groupPolicy":{"default":"allowlist","type":"string","enum":["open","disabled","allowlist"]},"groupAllowFrom":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]}},"historyLimit":{"type":"integer","minimum":0,"maximum":20},"groups":{"type":"object","propertyNames":{"type":"string","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89aAbB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"requireMention":{"type":"boolean"},"groupPolicy":{"type":"string","enum":["open","disabled","allowlist"]},"groupAllowFrom":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]}}},"additionalProperties":false}},"defaultTo":{"type":"string"}},"required":["groupPolicy"],"additionalProperties":false}}},"channel":{"id":"buzz","configuredState":{"env":{"allOf":["BUZZ_RELAY_URL","BUZZ_PRIVATE_KEY"]}},"label":"Buzz","selectionLabel":"Buzz","docsPath":"/channels/buzz","docsLabel":"buzz","blurb":"Connect OpenClaw agents to Buzz team rooms.","markdownCapable":true,"order":56,"setup":{"fields":[{"key":"relayUrl","kind":"string","cli":{"flags":"--relay-url <url>","description":"Buzz relay WebSocket URL"}},{"key":"privateKey","kind":"string","sensitive":true,"cli":{"flags":"--private-key <key>","description":"Buzz bot Nostr private key"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use BUZZ_PRIVATE_KEY with the supplied relay URL"},"envVars":["BUZZ_PRIVATE_KEY"]}]}},"install":{"clawhubSpec":"clawhub:@openclaw/buzz","npmSpec":"@openclaw/buzz","defaultChoice":"npm","minHostVersion":">=2026.7.2"}}},
{"name":"@openclaw/clickclack","version":"2026.8.1","description":"OpenClaw ClickClack channel plugin","source":"official","kind":"channel","openclaw":{"contracts":{"tools":["discussion"]},"channelConfigs":{"clickclack":{"label":"ClickClack","description":"ClickClack channel accounts and group activation policy.","schema":{"type":"object","additionalProperties":true,"properties":{"requireMention":{"type":"boolean"},"allowBots":{"anyOf":[{"type":"boolean"},{"type":"string","const":"mentions"}]},"botLoopProtection":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"maxEventsPerWindow":{"type":"integer","exclusiveMinimum":0},"windowSeconds":{"type":"integer","exclusiveMinimum":0},"cooldownSeconds":{"type":"integer","exclusiveMinimum":0}}},"mentionPatterns":{"type":"array","items":{"type":"string"}},"groups":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true,"properties":{"requireMention":{"type":"boolean"},"allowBots":{"anyOf":[{"type":"boolean"},{"type":"string","const":"mentions"}]},"botLoopProtection":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"maxEventsPerWindow":{"type":"integer","exclusiveMinimum":0},"windowSeconds":{"type":"integer","exclusiveMinimum":0},"cooldownSeconds":{"type":"integer","exclusiveMinimum":0}}},"mentionPatterns":{"type":"array","items":{"type":"string"}}}}},"accounts":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true,"properties":{"requireMention":{"type":"boolean"},"allowBots":{"anyOf":[{"type":"boolean"},{"type":"string","const":"mentions"}]},"botLoopProtection":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"maxEventsPerWindow":{"type":"integer","exclusiveMinimum":0},"windowSeconds":{"type":"integer","exclusiveMinimum":0},"cooldownSeconds":{"type":"integer","exclusiveMinimum":0}}},"mentionPatterns":{"type":"array","items":{"type":"string"}},"groups":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true,"properties":{"requireMention":{"type":"boolean"},"allowBots":{"anyOf":[{"type":"boolean"},{"type":"string","const":"mentions"}]},"botLoopProtection":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"maxEventsPerWindow":{"type":"integer","exclusiveMinimum":0},"windowSeconds":{"type":"integer","exclusiveMinimum":0},"cooldownSeconds":{"type":"integer","exclusiveMinimum":0}}},"mentionPatterns":{"type":"array","items":{"type":"string"}}}}}}}}}}}},"channel":{"id":"clickclack","configuredState":{"env":{"anyOf":["CLICKCLACK_BOT_TOKEN"]}},"label":"ClickClack","selectionLabel":"ClickClack","detailLabel":"ClickClack Bot","docsPath":"/channels/clickclack","docsLabel":"clickclack","blurb":"self-hosted chat via first-class ClickClack bot tokens.","systemImage":"bubble.left.and.bubble.right","markdownCapable":true,"preferSessionLookupForAnnounceTarget":true,"order":85,"commands":{"nativeCommandsAutoEnabled":false,"nativeSkillsAutoEnabled":false},"setup":{"fields":[{"key":"code","kind":"string","sensitive":true,"cli":{"flags":"--code <code>","description":"ClickClack one-time setup code or setup URL"}},{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <token>","description":"ClickClack bot token"}},{"key":"tokenFile","kind":"string","sensitive":true,"cli":{"flags":"--token-file <path>","description":"ClickClack bot token file"}},{"key":"baseUrl","kind":"string","cli":{"flags":"--base-url <url>","description":"ClickClack API base URL"}},{"key":"workspace","kind":"string","cli":{"flags":"--workspace <workspace>","description":"ClickClack workspace id, slug, or name"}},{"key":"defaultTo","kind":"string","cli":{"flags":"--default-to <target>","description":"Default ClickClack target"}},{"key":"allowFrom","kind":"string-list","cli":{"flags":"--allow-from <ids>","description":"Allowed ClickClack senders"}},{"key":"agentActivity","kind":"boolean","cli":{"flags":"--agent-activity","description":"Enable ClickClack agent activity"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use CLICKCLACK_BOT_TOKEN"},"envVars":["CLICKCLACK_BOT_TOKEN"]}]}},"install":{"clawhubSpec":"clawhub:@openclaw/clickclack","npmSpec":"@openclaw/clickclack","defaultChoice":"npm","minHostVersion":">=2026.6.9","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/discord","version":"2026.8.1","description":"OpenClaw Discord channel plugin for channels, DMs, commands, and app events.","source":"official","kind":"channel","openclaw":{"contracts":{"transcriptSourceProviders":["discord-voice"]},"channel":{"id":"discord","configuredState":{"env":{"anyOf":["DISCORD_BOT_TOKEN"]}},"approvalFlags":["native"],"label":"Discord","selectionLabel":"Discord (Bot API)","detailLabel":"Discord Bot","docsPath":"/channels/discord","docsLabel":"discord","blurb":"very well supported right now.","systemImage":"bubble.left.and.bubble.right","markdownCapable":true,"preferSessionLookupForAnnounceTarget":true,"setup":{"fields":[{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <token>","description":"Discord bot token"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use DISCORD_BOT_TOKEN"},"envVars":["DISCORD_BOT_TOKEN"]}]},"commands":{"nativeCommandsAutoEnabled":true,"nativeSkillsAutoEnabled":true},"doctorCapabilities":{"dmAllowFromMode":"topOnly","groupModel":"route","groupAllowFromFallbackToAllowFrom":false,"warnOnEmptyGroupSenderAllowlist":false}},"install":{"npmSpec":"@openclaw/discord","defaultChoice":"npm","minHostVersion":">=2026.5.26","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/feishu","version":"2026.8.1","description":"OpenClaw Feishu/Lark channel plugin for chats and workplace tools (community maintained by @m1heng).","source":"official","kind":"channel","openclaw":{"contracts":{"tools":["feishu_app_scopes","feishu_bitable_create_app","feishu_bitable_create_field","feishu_bitable_create_record","feishu_bitable_get_meta","feishu_bitable_get_record","feishu_bitable_list_fields","feishu_bitable_list_records","feishu_bitable_update_record","feishu_chat","feishu_doc","feishu_drive","feishu_perm","feishu_wiki"]},"channel":{"id":"feishu","configuredState":{"env":{"anyOf":["FEISHU_APP_ID","FEISHU_APP_SECRET","FEISHU_VERIFICATION_TOKEN","FEISHU_ENCRYPT_KEY"]},"specifier":"./configured-state","exportName":"hasConfiguredFeishuChannelState"},"label":"Feishu","selectionLabel":"Feishu/Lark (飞书)","docsPath":"/channels/feishu","docsLabel":"feishu","blurb":"飞书/Lark enterprise messaging with doc/wiki/drive tools.","aliases":["lark"],"order":35,"quickstartAllowFrom":true,"setup":{"fields":[]}},"install":{"npmSpec":"@openclaw/feishu","defaultChoice":"npm","minHostVersion":">=2026.5.29"}}},
{"name":"@openclaw/googlechat","version":"2026.8.1","description":"OpenClaw Google Chat channel plugin for spaces and direct messages.","source":"official","kind":"channel","openclaw":{"channel":{"id":"googlechat","configuredState":{"env":{"anyOf":["GOOGLE_CHAT_SERVICE_ACCOUNT","GOOGLE_CHAT_SERVICE_ACCOUNT_FILE"]}},"approvalFlags":["native"],"label":"Google Chat","selectionLabel":"Google Chat (Chat API)","detailLabel":"Google Chat","docsPath":"/channels/googlechat","docsLabel":"googlechat","blurb":"Google Workspace Chat app with HTTP webhook.","aliases":["gchat","google-chat"],"order":55,"systemImage":"message.badge","markdownCapable":true,"doctorCapabilities":{"dmAllowFromMode":"topOnly","groupModel":"route","groupAllowFromFallbackToAllowFrom":false,"warnOnEmptyGroupSenderAllowlist":false},"setup":{"fields":[{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <json>","description":"Google Chat service account JSON"}},{"key":"tokenFile","kind":"string","sensitive":true,"cli":{"flags":"--token-file <path>","description":"Google Chat service account file"}},{"key":"audienceType","kind":"choice","choices":["app-url","project-number"],"cli":{"flags":"--audience-type <type>","description":"Google Chat audience type"}},{"key":"audience","kind":"string","cli":{"flags":"--audience <value>","description":"Google Chat audience value"}},{"key":"webhookPath","kind":"string","cli":{"flags":"--webhook-path <path>","description":"Google Chat webhook path"}},{"key":"webhookUrl","kind":"string","cli":{"flags":"--webhook-url <url>","description":"Google Chat webhook URL"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use Google Chat environment credentials"},"envVars":["GOOGLE_CHAT_SERVICE_ACCOUNT","GOOGLE_CHAT_SERVICE_ACCOUNT_FILE"],"envVarMode":"any"}]}},"install":{"npmSpec":"@openclaw/googlechat","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@openclaw/imessage","version":"2026.8.1","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","source":"official","kind":"channel","openclaw":{"channel":{"id":"imessage","approvalFlags":["native"],"label":"iMessage","selectionLabel":"iMessage (imsg)","detailLabel":"iMessage","docsPath":"/channels/imessage","docsLabel":"imessage","blurb":"Local iMessage/SMS through the imsg bridge, including private API message actions when enabled.","aliases":["imsg"],"systemImage":"message.fill","setup":{"fields":[{"key":"cliPath","kind":"string","cli":{"flags":"--cli-path <path>","description":"iMessage CLI path"}},{"key":"dbPath","kind":"string","cli":{"flags":"--db-path <path>","description":"iMessage database path"}},{"key":"service","kind":"choice","choices":["imessage","sms","auto"],"cli":{"flags":"--service <service>","description":"iMessage service"}},{"key":"region","kind":"string","cli":{"flags":"--region <region>","description":"SMS region"}}]}},"install":{"clawhubSpec":"clawhub:@openclaw/imessage","npmSpec":"@openclaw/imessage","defaultChoice":"npm","minHostVersion":">=2026.7.2","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/irc","version":"2026.8.1","description":"OpenClaw IRC channel plugin","source":"official","kind":"channel","openclaw":{"channel":{"id":"irc","configuredState":{"env":{"allOf":["IRC_HOST","IRC_NICK"]}},"label":"IRC","selectionLabel":"IRC (Server + Nick)","detailLabel":"IRC","docsPath":"/channels/irc","docsLabel":"irc","blurb":"classic IRC networks with DM/channel routing and pairing controls.","aliases":["internet-relay-chat"],"systemImage":"network","setup":{"fields":[{"key":"host","kind":"string","cli":{"flags":"--host <host>","description":"IRC server host"}},{"key":"port","kind":"string","cli":{"flags":"--port <port>","description":"IRC server port"}},{"key":"tls","kind":"boolean","cli":{"flags":"--tls","description":"Use TLS for IRC"}},{"key":"nick","kind":"string","cli":{"flags":"--nick <nick>","description":"IRC nickname"}},{"key":"username","kind":"string","cli":{"flags":"--username <name>","description":"IRC username"}},{"key":"realname","kind":"string","cli":{"flags":"--realname <name>","description":"IRC real name"}},{"key":"channels","kind":"string-list","cli":{"flags":"--channels <names>","description":"IRC channels"}},{"key":"password","kind":"string","sensitive":true,"cli":{"flags":"--password <password>","description":"IRC server password"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use IRC environment configuration"},"envVars":["IRC_HOST","IRC_NICK"]}]}},"install":{"clawhubSpec":"clawhub:@openclaw/irc","npmSpec":"@openclaw/irc","defaultChoice":"npm","minHostVersion":">=2026.6.9","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/line","version":"2026.8.1","description":"OpenClaw LINE channel plugin for LINE Bot API chats.","source":"official","kind":"channel","openclaw":{"channel":{"id":"line","configuredState":{"env":{"allOf":["LINE_CHANNEL_ACCESS_TOKEN","LINE_CHANNEL_SECRET"]}},"label":"LINE","selectionLabel":"LINE (Messaging API)","detailLabel":"LINE Bot","docsPath":"/channels/line","docsLabel":"line","blurb":"LINE Messaging API webhook bot.","systemImage":"message","order":75,"quickstartAllowFrom":true,"setup":{"fields":[{"key":"channelAccessToken","kind":"string","sensitive":true,"cli":{"flags":"--channel-access-token <token>","description":"LINE channel access token"}},{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <token>","description":"LINE channel access token (alias)"}},{"key":"channelSecret","kind":"string","sensitive":true,"cli":{"flags":"--channel-secret <secret>","description":"LINE channel secret"}},{"key":"tokenFile","kind":"string","sensitive":true,"cli":{"flags":"--token-file <path>","description":"LINE access token file"}},{"key":"secretFile","kind":"string","sensitive":true,"cli":{"flags":"--secret-file <path>","description":"LINE channel secret file"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use LINE environment credentials"},"envVars":["LINE_CHANNEL_ACCESS_TOKEN","LINE_CHANNEL_SECRET"]}]}},"install":{"npmSpec":"@openclaw/line","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@openclaw/matrix","version":"2026.8.1","description":"OpenClaw Matrix channel plugin for rooms and direct messages.","source":"official","kind":"channel","openclaw":{"channel":{"id":"matrix","configuredState":{"env":{"anyOf":["MATRIX_HOMESERVER","MATRIX_USER_ID","MATRIX_ACCESS_TOKEN","MATRIX_PASSWORD","MATRIX_DEVICE_ID","MATRIX_DEVICE_NAME","MATRIX_OPS_HOMESERVER","MATRIX_OPS_ACCESS_TOKEN","MATRIX_OPS_DEVICE_ID","MATRIX_OPS_DEVICE_NAME"]}},"approvalFlags":["native"],"label":"Matrix","selectionLabel":"Matrix (plugin)","docsPath":"/channels/matrix","docsLabel":"matrix","blurb":"open protocol; install the plugin to enable.","order":70,"markdownCapable":true,"quickstartAllowFrom":true,"doctorCapabilities":{"dmAllowFromMode":"nestedOnly","groupModel":"sender","groupAllowFromFallbackToAllowFrom":false,"warnOnEmptyGroupSenderAllowlist":true},"setup":{"fields":[{"key":"homeserver","kind":"string","cli":{"flags":"--homeserver <url>","description":"Matrix homeserver URL"}},{"key":"userId","kind":"string","cli":{"flags":"--user-id <id>","description":"Matrix user id"}},{"key":"accessToken","kind":"string","sensitive":true,"cli":{"flags":"--access-token <token>","description":"Matrix access token"}},{"key":"password","kind":"string","sensitive":true,"cli":{"flags":"--password <password>","description":"Matrix password"}},{"key":"deviceName","kind":"string","cli":{"flags":"--device-name <name>","description":"Matrix device name"}},{"key":"avatarUrl","kind":"string","cli":{"flags":"--avatar-url <url>","description":"Matrix avatar URL"}},{"key":"initialSyncLimit","kind":"integer","cli":{"flags":"--initial-sync-limit <n>","description":"Matrix initial sync room limit"}},{"key":"proxy","kind":"string","cli":{"flags":"--proxy <url>","description":"Matrix proxy URL"}},{"key":"dangerouslyAllowPrivateNetwork","kind":"boolean","cli":{"flags":"--dangerously-allow-private-network","description":"Allow private-network Matrix homeservers"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use Matrix environment credentials"}}]},"persistedAuthState":{"specifier":"./auth-presence","exportName":"hasAnyMatrixAuth"}},"install":{"clawhubSpec":"clawhub:@openclaw/matrix","npmSpec":"@openclaw/matrix","defaultChoice":"clawhub","minHostVersion":">=2026.4.10","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/mattermost","version":"2026.8.1","description":"OpenClaw Mattermost channel plugin","source":"official","kind":"channel","openclaw":{"channel":{"id":"mattermost","configuredState":{"env":{"allOf":["MATTERMOST_BOT_TOKEN","MATTERMOST_URL"]}},"label":"Mattermost","selectionLabel":"Mattermost (plugin)","docsPath":"/channels/mattermost","docsLabel":"mattermost","blurb":"self-hosted Slack-style chat; install the plugin to enable.","order":65,"setup":{"fields":[{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <token>","description":"Mattermost bot token"}},{"key":"botToken","kind":"string","sensitive":true,"cli":{"flags":"--bot-token <token>","description":"Mattermost bot token"}},{"key":"httpUrl","kind":"string","cli":{"flags":"--http-url <url>","description":"Mattermost server URL"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use Mattermost environment credentials"},"envVars":["MATTERMOST_BOT_TOKEN","MATTERMOST_URL"]}]}},"install":{"clawhubSpec":"clawhub:@openclaw/mattermost","npmSpec":"@openclaw/mattermost","defaultChoice":"npm","minHostVersion":">=2026.6.9","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/msteams","version":"2026.8.1","description":"OpenClaw Microsoft Teams channel plugin for bot conversations.","source":"official","kind":"channel","openclaw":{"channel":{"id":"msteams","configuredState":{"env":{"anyOf":["MSTEAMS_APP_ID","MSTEAMS_APP_PASSWORD","MSTEAMS_TENANT_ID"]},"specifier":"./configured-state","exportName":"hasConfiguredMSTeamsChannelState"},"label":"Microsoft Teams","selectionLabel":"Microsoft Teams (Teams SDK)","docsPath":"/channels/msteams","docsLabel":"msteams","blurb":"Teams SDK; enterprise support.","aliases":["teams"],"order":60,"doctorCapabilities":{"dmAllowFromMode":"topOnly","groupModel":"hybrid","groupAllowFromFallbackToAllowFrom":true,"warnOnEmptyGroupSenderAllowlist":true},"setup":{"fields":[]}},"install":{"npmSpec":"@openclaw/msteams","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@openclaw/nextcloud-talk","version":"2026.8.1","description":"OpenClaw Nextcloud Talk channel plugin for conversations.","source":"official","kind":"channel","openclaw":{"channel":{"id":"nextcloud-talk","configuredState":{"env":{"anyOf":["NEXTCLOUD_TALK_BOT_SECRET","NEXTCLOUD_TALK_API_PASSWORD"]},"specifier":"./configured-state","exportName":"hasConfiguredNextcloudTalkChannelState"},"label":"Nextcloud Talk","selectionLabel":"Nextcloud Talk (self-hosted)","docsPath":"/channels/nextcloud-talk","docsLabel":"nextcloud-talk","blurb":"Self-hosted chat via Nextcloud Talk webhook bots.","aliases":["nc-talk","nc"],"order":65,"quickstartAllowFrom":true,"setup":{"fields":[{"key":"baseUrl","kind":"string","cli":{"flags":"--base-url <url>","description":"Nextcloud base URL"}},{"key":"url","kind":"string","cli":{"flags":"--url <url>","description":"Legacy Nextcloud base URL alias"}},{"key":"secret","kind":"string","sensitive":true,"cli":{"flags":"--secret <secret>","description":"Nextcloud Talk bot secret"}},{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <secret>","description":"Legacy Nextcloud bot secret alias"}},{"key":"password","kind":"string","sensitive":true,"cli":{"flags":"--password <secret>","description":"Legacy Nextcloud bot secret alias"}},{"key":"secretFile","kind":"string","sensitive":true,"cli":{"flags":"--secret-file <path>","description":"Nextcloud Talk bot secret file"}},{"key":"tokenFile","kind":"string","sensitive":true,"cli":{"flags":"--token-file <path>","description":"Legacy Nextcloud bot secret file alias"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use Nextcloud Talk environment credentials"},"envVars":["NEXTCLOUD_TALK_BOT_SECRET"]}]}},"install":{"npmSpec":"@openclaw/nextcloud-talk","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@openclaw/nostr","version":"2026.8.1","description":"OpenClaw Nostr channel plugin for NIP-04 encrypted direct messages.","source":"official","kind":"channel","openclaw":{"channel":{"id":"nostr","configuredState":{"env":{"anyOf":["NOSTR_PRIVATE_KEY"]}},"label":"Nostr","selectionLabel":"Nostr (NIP-04 DMs)","docsPath":"/channels/nostr","docsLabel":"nostr","blurb":"Decentralized protocol; encrypted DMs via NIP-04.","order":55,"quickstartAllowFrom":true,"setup":{"fields":[{"key":"privateKey","kind":"string","sensitive":true,"cli":{"flags":"--private-key <key>","description":"Nostr private key"}},{"key":"relayUrls","kind":"string","cli":{"flags":"--relay-urls <urls>","description":"Nostr relay URLs"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use NOSTR_PRIVATE_KEY"},"envVars":["NOSTR_PRIVATE_KEY"]}]}},"install":{"npmSpec":"@openclaw/nostr","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@tencent-weixin/openclaw-weixin","description":"OpenClaw Weixin channel plugin by the Tencent Weixin team.","source":"external","kind":"channel","openclaw":{"plugin":{"id":"openclaw-weixin","label":"Weixin"},"channel":{"id":"openclaw-weixin","label":"Weixin","selectionLabel":"Weixin(微信)","detailLabel":"Weixin","docsPath":"/channels/wechat","docsLabel":"weixin","blurb":"Personal WeChat messaging via QR-code login.","aliases":["weixin","wechat","微信"],"order":75},"channelConfigs":{"openclaw-weixin":{"label":"Weixin","description":"Personal WeChat conversation channel.","schema":{"type":"object","additionalProperties":true}}},"install":{"npmSpec":"@tencent-weixin/openclaw-weixin@2.4.6","defaultChoice":"npm","expectedIntegrity":"sha512-qw9k3PLTiMWGNjjsknHgcTManH1w4j+Ji1ArWIaYLKCq3aFRsVwcqnPi127bvOoVMJGW4dbyJ8NECEMgoO+iRw==","minHostVersion":">=2026.5.12"}}},
{"name":"@zalo-platforms/openclaw-zaloclawbot","description":"OpenClaw Zalo ClawBot channel plugin by the Zalo Platforms team.","source":"external","kind":"channel","openclaw":{"plugin":{"id":"openclaw-zaloclawbot","label":"Zalo ClawBot"},"channel":{"id":"openclaw-zaloclawbot","label":"Zalo ClawBot","selectionLabel":"Zalo ClawBot (QR)","detailLabel":"Zalo ClawBot","docsPath":"/channels/zaloclawbot","docsLabel":"zaloclawbot","blurb":"Personal Zalo assistant bot via QR-code login — owner-bound, no setup.","aliases":["zaloclawbot","zalo-clawbot"],"order":82},"channelConfigs":{"openclaw-zaloclawbot":{"label":"Zalo ClawBot","description":"Personal Zalo assistant — QR-onboarded, owner-bound.","schema":{"type":"object","additionalProperties":true}}},"install":{"npmSpec":"@zalo-platforms/openclaw-zaloclawbot@0.1.4","defaultChoice":"npm","expectedIntegrity":"sha512-5IxZriHJYACLLGqkCPPsTP9tas62kXEOFqTFAFMdunAM3SPhIJwVFRp0WvoP/m7L2PX85weD0g8LOtxM93VDYg==","minHostVersion":">=2026.4.10"}}},
{"name":"@tencent-connect/openclaw-qqbot","description":"OpenClaw QQ Bot channel plugin by the Tencent Connect team.","source":"external","kind":"channel","openclaw":{"plugin":{"id":"openclaw-qqbot","label":"QQ Bot"},"contracts":{"tools":["qqbot_platform_api","qqbot_remind"]},"channel":{"id":"qqbot","label":"QQ Bot","selectionLabel":"QQ Bot (Official API)","detailLabel":"QQ Bot","docsPath":"/channels/qqbot","docsLabel":"qqbot","blurb":"connect to QQ via official QQ Bot API with group chat and direct message support.","envVars":["QQBOT_APP_ID","QQBOT_CLIENT_SECRET"],"approvalFlags":["native"],"doctorCapabilities":{"openDmRequiresAllowFromWildcard":false},"systemImage":"bubble.left.and.bubble.right"},"channelSecrets":{"fields":[{"field":"clientSecret","activationField":"appId","activationEnv":"QQBOT_APP_ID"}]},"channelHostConfig":{"docsSource":"official","compatibilityMigration":"qqbot.tencent-2.0-compatibility","schemaAllOf":[{"not":{"required":["defaultAccount"]},"properties":{"allowFrom":{"type":"array","minItems":1,"items":{"allOf":[{"not":{"const":"*"}},{"anyOf":[{"const":"openclaw:approval-disabled"},{"type":"string","pattern":"^[^a-z]*$"}]}]}},"accounts":{"type":"object","not":{"required":["default"]},"additionalProperties":{"type":"object","properties":{"allowFrom":{"type":"array","minItems":1,"items":{"allOf":[{"not":{"const":"*"}},{"anyOf":[{"const":"openclaw:approval-disabled"},{"type":"string","pattern":"^[^a-z]*$"}]}]}}},"required":["allowFrom"]}}},"required":["allowFrom"]}]},"channelConfigs":{"qqbot":{"label":"QQ Bot","description":"QQ Bot API conversation channel.","preferOver":["qqbot"],"schema":{"type":"object","additionalProperties":true,"properties":{"appId":{"type":"string"},"clientSecret":{"type":"string"}}}}},"install":{"npmSpec":"@tencent-connect/openclaw-qqbot@2.0.1","defaultChoice":"npm","expectedIntegrity":"sha512-2010PaCummeQaxerLtaGfQ/5HChiXaW/KpTERid7V/1zyTs46S2ACi0hgZQ1SB7tH0t1InWr8tzVBJV/pLss3Q=="}}},
{"name":"@openclaw/raft","version":"2026.8.1","description":"OpenClaw Raft channel plugin for Raft CLI wake bridges.","source":"official","kind":"channel","openclaw":{"channelConfigs":{"raft":{"label":"Raft","description":"Raft External Agent CLI wake bridge.","schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"profile":{"type":"string","minLength":1},"defaultAccount":{"type":"string"},"accounts":{"type":"object","additionalProperties":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"profile":{"type":"string","minLength":1}}}}}}}},"channel":{"id":"raft","configuredState":{"env":{"anyOf":["RAFT_PROFILE"]}},"label":"Raft","selectionLabel":"Raft (CLI wake bridge)","docsPath":"/channels/raft","docsLabel":"raft","blurb":"Raft CLI wake bridge for human and agent collaboration.","order":72,"setup":{"fields":[{"key":"profile","kind":"string","cli":{"flags":"--profile <profile>","description":"Raft CLI profile"}}]}},"install":{"npmSpec":"@openclaw/raft","defaultChoice":"npm","minHostVersion":">=2026.6.8"}}},
{"name":"@openclaw/signal","version":"2026.8.1","description":"OpenClaw Signal channel plugin","source":"official","kind":"channel","openclaw":{"channel":{"id":"signal","approvalFlags":["native"],"label":"Signal","selectionLabel":"Signal (signal-cli)","detailLabel":"Signal REST","docsPath":"/channels/signal","docsLabel":"signal","blurb":"signal-cli linked device with additional setup for the local REST bridge.","systemImage":"antenna.radiowaves.left.and.right","markdownCapable":true,"setup":{"fields":[{"key":"signalNumber","kind":"string","cli":{"flags":"--signal-number <e164>","description":"Signal account number (E.164)"}},{"key":"signalTransport","kind":"choice","choices":["external-native","container"],"cli":{"flags":"--signal-transport <kind>","description":"Signal HTTP transport (external-native or container)"}},{"key":"cliPath","kind":"string","cli":{"flags":"--cli-path <path>","description":"signal-cli executable path"}},{"key":"httpUrl","kind":"string","cli":{"flags":"--http-url <url>","description":"Signal HTTP service URL"}},{"key":"httpHost","kind":"string","cli":{"flags":"--http-host <host>","description":"Signal HTTP daemon host"}},{"key":"httpPort","kind":"string","cli":{"flags":"--http-port <port>","description":"Signal HTTP daemon port"}}]}},"install":{"clawhubSpec":"clawhub:@openclaw/signal","npmSpec":"@openclaw/signal","defaultChoice":"npm","minHostVersion":">=2026.6.9","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/slack","version":"2026.8.1","description":"OpenClaw Slack channel plugin for channels, DMs, commands, and app events.","source":"official","kind":"channel","openclaw":{"channelConfigs":{"slack":{"label":"Slack","description":"Slack channel, DM, command, and app event integration.","schema":{"type":"object","additionalProperties":true}}},"channel":{"id":"slack","configuredState":{"env":{"anyOf":["SLACK_BOT_TOKEN","SLACK_APP_TOKEN","SLACK_USER_TOKEN"]},"specifier":"./configured-state","exportName":"hasConfiguredSlackChannelState"},"approvalFlags":["native"],"label":"Slack","selectionLabel":"Slack (Socket Mode)","detailLabel":"Slack Bot","docsPath":"/channels/slack","docsLabel":"slack","blurb":"supported (Socket Mode).","systemImage":"number","markdownCapable":true,"doctorCapabilities":{"dmAllowFromMode":"topOnly","groupModel":"route","groupAllowFromFallbackToAllowFrom":false,"warnOnEmptyGroupSenderAllowlist":false},"commands":{"nativeCommandsAutoEnabled":false,"nativeSkillsAutoEnabled":false},"setup":{"fields":[{"key":"botToken","kind":"string","sensitive":true,"cli":{"flags":"--bot-token <token>","description":"Slack bot token"}},{"key":"appToken","kind":"string","sensitive":true,"cli":{"flags":"--app-token <token>","description":"Slack app token"}},{"key":"userToken","kind":"string","sensitive":true,"cli":{"flags":"--user-token <token>","description":"Slack user token"}},{"key":"signingSecret","kind":"string","sensitive":true,"cli":{"flags":"--signing-secret <secret>","description":"Slack signing secret"}},{"key":"identity","kind":"choice","choices":["bot","user"],"cli":{"flags":"--identity <kind>","description":"Slack identity"}},{"key":"mode","kind":"choice","choices":["socket","http"],"cli":{"flags":"--mode <mode>","description":"Slack connection mode"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use Slack environment credentials"},"envVars":["SLACK_BOT_TOKEN"]}]}},"install":{"npmSpec":"@openclaw/slack","defaultChoice":"npm","minHostVersion":">=2026.5.28","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/sms","version":"2026.8.1","description":"OpenClaw SMS/MMS channel plugin for Twilio messages.","source":"official","kind":"channel","openclaw":{"channel":{"id":"sms","configuredState":{"env":{"anyOf":["TWILIO_ACCOUNT_SID","TWILIO_AUTH_TOKEN","TWILIO_PHONE_NUMBER","TWILIO_SMS_FROM","TWILIO_MESSAGING_SERVICE_SID"]},"specifier":"./configured-state","exportName":"hasConfiguredSmsChannelState"},"label":"SMS","selectionLabel":"SMS (Twilio)","detailLabel":"Twilio SMS/MMS","docsPath":"/channels/sms","docsLabel":"sms","blurb":"Twilio-backed SMS/MMS with inbound webhooks and outbound replies.","order":88,"quickstartAllowFrom":true,"setup":{"fields":[{"key":"accountSid","kind":"string","sensitive":true,"cli":{"flags":"--account-sid <sid>","description":"Twilio account SID"}},{"key":"authToken","kind":"string","sensitive":true,"cli":{"flags":"--auth-token <token>","description":"Twilio auth token"}},{"key":"fromNumber","kind":"string","cli":{"flags":"--from-number <e164>","description":"Twilio sender phone number"}},{"key":"messagingServiceSid","kind":"string","cli":{"flags":"--messaging-service-sid <sid>","description":"Twilio Messaging Service SID"}},{"key":"defaultTo","kind":"string","cli":{"flags":"--default-to <e164>","description":"Default SMS recipient"}},{"key":"webhookPath","kind":"string","cli":{"flags":"--webhook-path <path>","description":"SMS webhook path"}},{"key":"publicWebhookUrl","kind":"string","cli":{"flags":"--public-webhook-url <url>","description":"Public SMS webhook URL"}},{"key":"dmPolicy","kind":"choice","choices":["pairing","allowlist","open","disabled"],"cli":{"flags":"--dm-policy <policy>","description":"SMS DM policy"}},{"key":"allowFrom","kind":"string-list","cli":{"flags":"--allow-from <numbers>","description":"Allowed SMS senders"}}]}},"install":{"clawhubSpec":"clawhub:@openclaw/sms","npmSpec":"@openclaw/sms","defaultChoice":"npm","minHostVersion":">=2026.6.9","allowInvalidConfigRecovery":true}}},
{"name":"@openclaw/synology-chat","version":"2026.8.1","description":"Synology Chat channel plugin for OpenClaw channels and direct messages.","source":"official","kind":"channel","openclaw":{"channel":{"id":"synology-chat","configuredState":{"env":{"allOf":["SYNOLOGY_CHAT_TOKEN","SYNOLOGY_CHAT_INCOMING_URL"]}},"label":"Synology Chat","selectionLabel":"Synology Chat (Webhook)","docsPath":"/channels/synology-chat","docsLabel":"synology-chat","blurb":"Connect your Synology NAS Chat to OpenClaw with full agent capabilities.","order":90,"setup":{"fields":[{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <token>","description":"Synology Chat token"}},{"key":"url","kind":"string","sensitive":true,"cli":{"flags":"--url <url>","description":"Synology Chat webhook URL"}},{"key":"webhookUrl","kind":"string","sensitive":true,"cli":{"flags":"--webhook-url <url>","description":"Public HTTPS Synology Chat callback URL used for attachments"}},{"key":"webhookPath","kind":"string","cli":{"flags":"--webhook-path <path>","description":"Synology Chat webhook path"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use Synology Chat environment credentials"},"envVars":["SYNOLOGY_CHAT_TOKEN"]}]}},"install":{"npmSpec":"@openclaw/synology-chat","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@openclaw/tlon","version":"2026.8.1","description":"OpenClaw Tlon/Urbit channel plugin for chat workflows.","source":"official","kind":"channel","openclaw":{"channel":{"id":"tlon","label":"Tlon","selectionLabel":"Tlon (Urbit)","docsPath":"/channels/tlon","docsLabel":"tlon","blurb":"decentralized messaging on Urbit; install the plugin to enable.","order":90,"quickstartAllowFrom":true,"setup":{"fields":[{"key":"ship","kind":"string","cli":{"flags":"--ship <ship>","description":"Tlon ship"}},{"key":"url","kind":"string","cli":{"flags":"--url <url>","description":"Tlon URL"}},{"key":"code","kind":"string","sensitive":true,"cli":{"flags":"--code <code>","description":"Tlon login code"}},{"key":"dangerouslyAllowPrivateNetwork","kind":"boolean","cli":{"flags":"--dangerously-allow-private-network","description":"Allow private-network Tlon URLs"}},{"key":"groupChannels","kind":"string-list","cli":{"flags":"--group-channels <list>","description":"Tlon group channels"}},{"key":"dmAllowlist","kind":"string-list","cli":{"flags":"--dm-allowlist <list>","description":"Tlon DM allowlist"}},{"key":"autoDiscoverChannels","kind":"boolean","cli":{"flags":"--auto-discover-channels","negatedFlags":"--no-auto-discover-channels","description":"Auto-discover Tlon group channels"}},{"key":"ownerShip","kind":"string","cli":{"flags":"--owner-ship <ship>","description":"Tlon owner ship"}}]}},"install":{"npmSpec":"@openclaw/tlon","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@openclaw/twitch","version":"2026.8.1","description":"OpenClaw Twitch channel plugin for chat and moderation workflows.","source":"official","kind":"channel","openclaw":{"channel":{"id":"twitch","configuredState":{"env":{"anyOf":["OPENCLAW_TWITCH_ACCESS_TOKEN"]}},"label":"Twitch","selectionLabel":"Twitch (Chat)","docsPath":"/channels/twitch","blurb":"Twitch chat integration","aliases":["twitch-chat"],"setup":{"fields":[]}},"install":{"npmSpec":"@openclaw/twitch","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@wecom/wecom-openclaw-plugin","description":"OpenClaw WeCom channel plugin by the Tencent WeCom team.","source":"external","kind":"channel","openclaw":{"plugin":{"id":"wecom-openclaw-plugin","label":"WeCom"},"contracts":{"tools":["wecom_mcp"]},"channel":{"id":"wecom","label":"WeCom","selectionLabel":"WeCom(企业微信)","detailLabel":"WeCom","docsPath":"/channels/wecom","docsLabel":"wecom","blurb":"Enterprise messaging and documents, scheduling, task tools.","aliases":["qywx","wework","enterprise-wechat"],"order":45},"channelConfigs":{"wecom":{"label":"WeCom","description":"Enterprise WeChat conversation channel.","schema":{"type":"object","additionalProperties":true}}},"install":{"npmSpec":"@wecom/wecom-openclaw-plugin@2026.7.2","defaultChoice":"npm","expectedIntegrity":"sha512-7kqdBIOF3SgDDoBoFtO6jxnxofbYSgbKdxZDNabD0y0jg2xKcVqlXZOOJ9+XQho/QOtIFrnRH2IRnPukFEYwJg=="}}},
{"name":"@openclaw/whatsapp","version":"2026.8.1","description":"OpenClaw WhatsApp channel plugin for WhatsApp Web chats.","source":"official","kind":"channel","openclaw":{"contracts":{"tools":["whatsapp_call","whatsapp_login"]},"channel":{"id":"whatsapp","approvalFlags":["native"],"label":"WhatsApp","selectionLabel":"WhatsApp (QR link)","detailLabel":"WhatsApp Web","docsPath":"/channels/whatsapp","docsLabel":"whatsapp","blurb":"works with your own number; recommend a separate phone + eSIM.","systemImage":"message","persistedAuthState":{"specifier":"./auth-presence","exportName":"hasAnyWhatsAppAuth"},"setup":{"fields":[{"key":"authDir","kind":"string","cli":{"flags":"--auth-dir <path>","description":"WhatsApp auth directory override"}}]}},"install":{"clawhubSpec":"clawhub:@openclaw/whatsapp","npmSpec":"@openclaw/whatsapp","defaultChoice":"clawhub","minHostVersion":">=2026.4.25"}}},
{"name":"openclaw-plugin-yuanbao","description":"OpenClaw Yuanbao channel plugin by the Tencent Yuanbao team.","source":"external","kind":"channel","openclaw":{"plugin":{"id":"openclaw-plugin-yuanbao","label":"Yuanbao"},"contracts":{"tools":["query_group_info","query_session_members","yuanbao_remind"]},"channel":{"id":"yuanbao","label":"Yuanbao","selectionLabel":"Yuanbao (元宝)","detailLabel":"Yuanbao","docsPath":"/channels/yuanbao","docsLabel":"yuanbao","blurb":"Tencent Yuanbao AI assistant conversation channel.","aliases":["yuanbao","yb","tencent-yuanbao","元宝"],"order":85},"channelConfigs":{"yuanbao":{"label":"Yuanbao","description":"Tencent Yuanbao AI assistant channel.","schema":{"type":"object","additionalProperties":true}}},"install":{"npmSpec":"openclaw-plugin-yuanbao@2.18.2","defaultChoice":"npm","expectedIntegrity":"sha512-cL85zWLePhi/GWRsXL8ogS4tejNuCE/J0V/OYhDFJzElF2TmndVCUAXaJdssgv/ULJ9sBaic88wAzRllIgZIwA=="}}},
{"name":"@openclaw/zalo","version":"2026.8.1","description":"OpenClaw Zalo channel plugin for bot and webhook chats.","source":"official","kind":"channel","openclaw":{"channel":{"id":"zalo","configuredState":{"env":{"anyOf":["ZALO_BOT_TOKEN"]}},"label":"Zalo","selectionLabel":"Zalo (Bot API)","docsPath":"/channels/zalo","docsLabel":"zalo","blurb":"Vietnam-focused messaging platform with Bot API.","aliases":["zl"],"order":80,"quickstartAllowFrom":true,"setup":{"fields":[{"key":"token","kind":"string","sensitive":true,"cli":{"flags":"--token <token>","description":"Zalo bot token"}},{"key":"tokenFile","kind":"string","sensitive":true,"cli":{"flags":"--token-file <path>","description":"Zalo bot token file"}},{"key":"useEnv","kind":"boolean","cli":{"flags":"--use-env","description":"Use ZALO_BOT_TOKEN"},"envVars":["ZALO_BOT_TOKEN"]}]}},"install":{"npmSpec":"@openclaw/zalo","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}},
{"name":"@openclaw/zalouser","version":"2026.8.1","description":"OpenClaw Zalo Personal Account plugin via native zca-js integration.","source":"official","kind":"channel","openclaw":{"contracts":{"tools":["zalouser"]},"channel":{"id":"zalouser","configuredState":{"env":{"anyOf":["ZALOUSER_PROFILE","ZCA_PROFILE"]}},"label":"Zalo Personal","selectionLabel":"Zalo (Personal Account)","docsPath":"/channels/zalouser","docsLabel":"zalouser","blurb":"Zalo personal account via QR code login.","aliases":["zlu"],"order":85,"quickstartAllowFrom":false,"doctorCapabilities":{"dmAllowFromMode":"topOnly","groupModel":"hybrid","groupAllowFromFallbackToAllowFrom":false,"warnOnEmptyGroupSenderAllowlist":false},"setup":{"fields":[]}},"install":{"npmSpec":"@openclaw/zalouser","defaultChoice":"npm","minHostVersion":">=2026.4.10"}}}
]
}