crabpot/crabpot.config.json
2026-05-05 15:44:56 -07:00

1319 lines
44 KiB
JSON

{
"$schema": "./crabpot.schema.json",
"version": 1,
"submoduleRoot": "plugins",
"openclaw": {
"minimumNode": "22",
"defaultCheckoutPath": "../openclaw"
},
"fixtures": [
{
"id": "agentchat",
"name": "AgentChat OpenClaw Channel",
"repo": "https://github.com/agentchatme/agentchat.git",
"path": "plugins/agentchat",
"subdir": "integrations/openclaw-channel",
"priority": "high",
"seams": ["channel", "prompt-mutation", "config-schema", "websocket", "backpressure"],
"expect": {
"registrations": ["defineChannelPluginEntry"]
},
"why": "Production-shaped channel plugin with WebSocket auth, reconnect, prompt hints, and typed runtime contracts."
},
{
"id": "wecom",
"name": "WeCom Enhanced Channel",
"repo": "https://github.com/sunnoy/openclaw-plugin-wecom.git",
"path": "plugins/wecom",
"priority": "high",
"seams": ["channel", "streaming", "dynamic-agent-routing", "message-policy", "media"],
"expect": {
"hooks": [
"before_prompt_build",
"subagent_delivery_target",
"subagent_spawned",
"subagent_ended",
"before_tool_call"
],
"registrations": ["registerChannel", "registerTool", "registerHttpRoute"]
},
"why": "Large community channel fixture covering WS streaming, group/DM policy, command allowlists, media, and dynamic agents."
},
{
"id": "qqbot",
"name": "QQbot",
"repo": "https://github.com/tencent-connect/openclaw-qqbot.git",
"path": "plugins/qqbot",
"priority": "high",
"seams": ["channel", "media", "proactive-messaging", "cron", "sdk-preload"],
"expect": {
"registrations": ["registerChannel", "registerTool"]
},
"why": "QQ Bot channel fixture covering rich media, proactive messaging, cron/reminder tools, and preload-based SDK/runtime compatibility."
},
{
"id": "a2a-gateway",
"name": "A2A Gateway",
"repo": "https://github.com/win4r/openclaw-a2a-gateway.git",
"path": "plugins/a2a-gateway",
"priority": "high",
"seams": ["gateway-service", "http-routes", "agent-routing", "async-job", "auth"],
"expect": {
"registrations": ["registerService", "registerTool"]
},
"why": "Agent-to-agent server fixture with agent-card discovery, JSON-RPC/REST/gRPC transports, metrics, peer auth, and async task modes."
},
{
"id": "hasdata",
"name": "HasData",
"repo": "https://github.com/HasData/hasdata-openclaw-plugin.git",
"path": "plugins/hasdata",
"priority": "high",
"seams": ["tool", "tool-schema", "external-api", "cli", "config-schema"],
"expect": {
"manifestContracts": ["tools"],
"registrations": ["registerTool"]
},
"why": "Single native tool backed by a large OpenAPI-derived action catalog and strict per-action schemas."
},
{
"id": "mcp-adapter",
"name": "MCP Adapter",
"repo": "https://github.com/androidStern-personal/openclaw-mcp-adapter.git",
"path": "plugins/mcp-adapter",
"priority": "high",
"seams": ["dynamic-tool", "json-schema", "stdio", "http", "reconnect"],
"expect": {
"registrations": ["registerService", "registerTool"]
},
"why": "Dynamic tool discovery from MCP servers with stdio/http transports and schema passthrough."
},
{
"id": "llm-trace-phoenix",
"name": "Phoenix LLM Trace",
"repo": "https://github.com/pingshian0131/openclaw-plugin-llm-trace-phoenix.git",
"path": "plugins/llm-trace-phoenix",
"priority": "high",
"seams": ["llm-observer", "conversation-access", "telemetry", "external-api"],
"expect": {
"hooks": ["llm_input", "llm_output"]
},
"why": "Small sharp fixture for llm_input/llm_output access and raw prompt/output privacy boundaries."
},
{
"id": "opik-openclaw",
"name": "Opik OpenClaw",
"repo": "https://github.com/comet-ml/opik-openclaw.git",
"path": "plugins/opik-openclaw",
"priority": "high",
"seams": ["llm-observer", "tool-runtime", "subagent-routing", "diagnostics", "cli"],
"expect": {
"hooks": [
"llm_input",
"llm_output",
"before_tool_call",
"after_tool_call",
"subagent_spawning",
"subagent_delivery_target",
"subagent_spawned",
"subagent_ended",
"tool_result_persist",
"agent_end"
],
"registrations": ["registerService", "registerCli"]
},
"why": "Opik trace exporter covering LLM spans, tool spans, subagent spans, stale trace cleanup, CLI setup, and persisted tool-result sanitization."
},
{
"id": "openclaw-telemetry",
"name": "OpenClaw Telemetry",
"repo": "https://github.com/knostic/openclaw-telemetry.git",
"path": "plugins/openclaw-telemetry",
"priority": "high",
"seams": ["diagnostics", "llm-observer", "tool-runtime", "message-lifecycle", "gateway-service"],
"expect": {
"hooks": [
"before_tool_call",
"after_tool_call",
"message_received",
"message_sent",
"before_agent_start",
"agent_end"
],
"registrations": ["registerService"]
},
"why": "Telemetry fixture covering high-volume lifecycle hooks, tool-call capture, message events, JSONL/syslog sinks, redaction, rate limiting, and integrity hash chains."
},
{
"id": "lossless-claw",
"name": "Lossless Claw (LCM)",
"repo": "https://github.com/Martian-Engineering/lossless-claw.git",
"path": "plugins/lossless-claw",
"priority": "high",
"seams": ["context-engine", "prompt-mutation", "session-lifecycle", "gateway-lifecycle", "dynamic-tool"],
"expect": {
"hooks": ["before_reset", "before_prompt_build", "session_end", "gateway_start", "gateway_stop"],
"registrations": ["registerContextEngine", "registerTool", "registerCommand"]
},
"why": "Lossless context-management fixture covering context engine registration, DAG compaction tools, prompt assembly hooks, session cleanup, and gateway maintenance lifecycle."
},
{
"id": "connectclaw",
"name": "ConnectClaw",
"repo": "https://github.com/osipov-anton/connectclaw.git",
"path": "plugins/connectclaw",
"subdir": "packages/plugin",
"priority": "high",
"seams": ["dynamic-tool", "external-api", "gateway-service", "process-spawn", "hono-relay"],
"expect": {
"hooks": ["before_agent_start"],
"registrations": ["registerTool", "registerCommand", "registerService"]
},
"why": "Contacts/messaging plugin with dynamic tool factories, command handlers, a polling service that wakes agents via the OpenClaw CLI, and a Hono relay package in the same repo."
},
{
"id": "hyperspell",
"name": "Hyperspell OpenClaw",
"repo": "https://github.com/hyperspell/hyperspell-openclaw.git",
"path": "plugins/hyperspell",
"priority": "high",
"seams": ["dynamic-tool", "external-memory", "cli"],
"expect": {
"registrations": ["registerCli", "registerCommand", "registerTool"]
},
"why": "Memory and context fixture covering CLI setup, command handlers, and tool-backed external memory search/write."
},
{
"id": "honcho",
"name": "Honcho OpenClaw",
"repo": "https://github.com/plastic-labs/openclaw-honcho.git",
"path": "plugins/honcho",
"priority": "high",
"seams": ["memory-runtime", "prompt-mutation", "gateway-lifecycle", "subagent-routing", "sdk-compat"],
"expect": {
"hooks": [
"before_agent_start",
"before_prompt_build",
"before_compaction",
"before_reset",
"gateway_start",
"subagent_spawned",
"agent_end"
],
"registrations": [
"definePluginEntry",
"registerCli",
"registerMemoryPromptSection",
"registerMemoryRuntime",
"registerTool"
]
},
"why": "Memory-runtime fixture covering plugin-entry aliases, memory runtime/prompt-section registration, gateway lifecycle, subagent capture, and managed external memory tools."
},
{
"id": "composio",
"name": "Composio OpenClaw",
"repo": "https://github.com/ComposioHQ/openclaw-composio-plugin.git",
"path": "plugins/composio",
"priority": "high",
"seams": ["dynamic-tool", "mcp", "external-api", "prompt-mutation", "cli"],
"expect": {
"hooks": ["before_prompt_build"],
"registrations": ["registerCli", "registerTool"]
},
"why": "NPM-installed dynamic tool fixture for Composio/MCP integration, prompt context injection, CLI setup, external API auth, and large remote tool catalogs."
},
{
"id": "kitchen-sink",
"name": "OpenClaw Kitchen Sink",
"repo": "https://github.com/openclaw/kitchen-sink.git",
"path": "plugins/kitchen-sink",
"priority": "high",
"seams": [
"plugin-api-surface",
"hook",
"registration-surface",
"manifest-contracts",
"provider-capability",
"credential-free"
],
"expect": {
"hooks": [
"after_compaction",
"after_tool_call",
"agent_end",
"before_agent_finalize",
"before_agent_reply",
"before_agent_start",
"before_compaction",
"before_dispatch",
"before_install",
"before_message_write",
"before_model_resolve",
"before_prompt_build",
"before_reset",
"before_tool_call",
"gateway_start",
"gateway_stop",
"inbound_claim",
"llm_input",
"llm_output",
"message_received",
"message_sending",
"message_sent",
"model_call_ended",
"model_call_started",
"reply_dispatch",
"session_end",
"session_start",
"subagent_delivery_target",
"subagent_ended",
"subagent_spawned",
"subagent_spawning",
"tool_result_persist"
],
"registrations": [
"registerAgentHarness",
"registerAgentToolResultMiddleware",
"registerAutoEnableProbe",
"registerChannel",
"registerCli",
"registerCliBackend",
"registerCodexAppServerExtensionFactory",
"registerCommand",
"registerCompactionProvider",
"registerConfigMigration",
"registerContextEngine",
"registerDetachedTaskRuntime",
"registerGatewayDiscoveryService",
"registerGatewayMethod",
"registerHook",
"registerHttpRoute",
"registerImageGenerationProvider",
"registerInteractiveHandler",
"registerMediaUnderstandingProvider",
"registerMemoryCapability",
"registerMemoryCorpusSupplement",
"registerMemoryEmbeddingProvider",
"registerMemoryFlushPlan",
"registerMemoryPromptSection",
"registerMemoryPromptSupplement",
"registerMemoryRuntime",
"registerMigrationProvider",
"registerMusicGenerationProvider",
"registerNodeHostCommand",
"registerProvider",
"registerRealtimeTranscriptionProvider",
"registerRealtimeVoiceProvider",
"registerReload",
"registerSecurityAuditCollector",
"registerService",
"registerSpeechProvider",
"registerTextTransforms",
"registerTool",
"registerVideoGenerationProvider",
"registerWebFetchProvider",
"registerWebSearchProvider"
],
"manifestContracts": [
"agentToolResultMiddleware",
"documentExtractors",
"embeddedExtensionFactories",
"externalAuthProviders",
"imageGenerationProviders",
"mediaUnderstandingProviders",
"memoryEmbeddingProviders",
"migrationProviders",
"musicGenerationProviders",
"realtimeTranscriptionProviders",
"realtimeVoiceProviders",
"speechProviders",
"tools",
"videoGenerationProviders",
"webContentExtractors",
"webFetchProviders",
"webSearchProviders"
]
},
"why": "Credential-free generated fixture covering the public OpenClaw plugin API surface across hooks, registrars, provider capabilities, setup metadata, manifest contracts, and SDK import compatibility."
},
{
"id": "bluebubbles",
"name": "OpenClaw BlueBubbles channel plugin",
"package": {
"name": "@openclaw/bluebubbles",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/bluebubbles",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/bluebubbles",
"priority": "medium",
"seams": [
"channel",
"account-auth",
"media",
"macos-bridge",
"npm-artifact"
],
"why": "Official OpenClaw BlueBubbles channel package covering macOS/iMessage bridge assumptions, account auth, media-capable channel metadata, and npm artifact packaging from the monorepo.",
"expect": {
"registrations": [
"registerChannel"
]
}
},
{
"id": "diagnostics-otel",
"name": "OpenClaw diagnostics OpenTelemetry exporter",
"package": {
"name": "@openclaw/diagnostics-otel",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/diagnostics-otel",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/diagnostics-otel",
"priority": "medium",
"seams": [
"diagnostics",
"telemetry",
"otel-export",
"service",
"npm-artifact"
],
"expect": {
"registrations": [
"registerService"
]
},
"why": "Official OpenClaw OpenTelemetry diagnostics package covering service registration, telemetry exporter setup, and npm package metadata mapped back to the monorepo source."
},
{
"id": "discord",
"name": "OpenClaw Discord channel plugin",
"package": {
"name": "@openclaw/discord",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/discord",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/discord",
"priority": "medium",
"seams": [
"channel",
"subagent-routing",
"message-policy",
"account-auth",
"npm-artifact"
],
"expect": {
"hooks": [
"subagent_delivery_target",
"subagent_ended",
"subagent_spawning"
],
"registrations": [
"registerChannel"
]
},
"why": "Official OpenClaw Discord channel package covering subagent routing hooks, message policy, account auth, and npm artifact packaging from the monorepo."
},
{
"id": "lobster",
"name": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
"package": {
"name": "@openclaw/lobster",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/lobster",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/lobster",
"priority": "medium",
"seams": [
"tool",
"workflow",
"approval",
"async-job",
"npm-artifact"
],
"expect": {
"registrations": [
"registerTool"
]
},
"why": "Official Lobster workflow package covering typed pipeline tools, resumable approval semantics, manifest tool contracts, and npm artifact packaging."
},
{
"id": "matrix",
"name": "OpenClaw Matrix channel plugin",
"package": {
"name": "@openclaw/matrix",
"tag": "latest",
"artifactSource": "source-pack"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/matrix",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/matrix",
"priority": "medium",
"seams": [
"channel",
"gateway-method",
"subagent-routing",
"cli"
],
"expect": {
"registrations": [
"registerChannel"
]
},
"why": "Official bundled OpenClaw Matrix channel package covering CLI setup, gateway methods, and subagent routing hooks; Crabpot source-packs it from the OpenClaw monorepo instead of requiring a separate npm dist-tag."
},
{
"id": "msteams",
"name": "OpenClaw Microsoft Teams channel plugin",
"package": {
"name": "@openclaw/msteams",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/msteams",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/msteams",
"priority": "medium",
"seams": [
"channel",
"account-auth",
"enterprise-chat",
"message-policy",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel"
]
},
"why": "Official Microsoft Teams channel package covering enterprise chat auth, channel factory metadata, message policy, and npm artifact packaging."
},
{
"id": "nextcloud-talk",
"name": "OpenClaw Nextcloud Talk channel plugin",
"package": {
"name": "@openclaw/nextcloud-talk",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/nextcloud-talk",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/nextcloud-talk",
"priority": "medium",
"seams": [
"channel",
"account-auth",
"self-hosted-chat",
"message-policy",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel"
]
},
"why": "Official Nextcloud Talk channel package covering self-hosted chat setup, account auth, channel factory metadata, and npm artifact packaging."
},
{
"id": "nostr",
"name": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
"package": {
"name": "@openclaw/nostr",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/nostr",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/nostr",
"priority": "medium",
"seams": [
"channel",
"encrypted-dm",
"http-routes",
"account-auth",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel",
"registerHttpRoute"
]
},
"why": "Official Nostr channel package covering encrypted DM channel behavior, HTTP route registration, account auth, and npm artifact packaging."
},
{
"id": "voice-call",
"name": "OpenClaw voice-call plugin",
"package": {
"name": "@openclaw/voice-call",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/voice-call",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/voice-call",
"priority": "medium",
"seams": [
"tool",
"gateway-method",
"service",
"config-migration",
"cli"
],
"expect": {
"registrations": [
"registerCli",
"registerGatewayMethod",
"registerService",
"registerTool"
]
},
"why": "Official voice-call package covering gateway methods, service lifecycle, tool registration, config migration, CLI setup, and npm artifact packaging."
},
{
"id": "zalo",
"name": "OpenClaw Zalo channel plugin",
"package": {
"name": "@openclaw/zalo",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/zalo",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/zalo",
"priority": "medium",
"seams": [
"channel",
"account-auth",
"media",
"message-policy",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel"
]
},
"why": "Official Zalo channel package covering account auth, media-capable channel metadata, channel factory registration, and npm artifact packaging."
},
{
"id": "zalouser",
"name": "OpenClaw Zalo Personal Account plugin via native zca-js integration",
"package": {
"name": "@openclaw/zalouser",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/zalouser",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/zalouser",
"priority": "medium",
"seams": [
"channel",
"native-integration",
"account-auth",
"tool",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel",
"registerTool"
]
},
"why": "Official Zalo personal account package covering native zca-js integration, channel factory registration, tool contracts, and npm artifact packaging."
},
{
"id": "feishu",
"name": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
"package": {
"name": "@openclaw/feishu",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/feishu",
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
},
"path": "plugins/feishu",
"priority": "medium",
"seams": [
"channel",
"subagent-routing",
"tool",
"account-auth",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel",
"registerTool"
]
},
"why": "Official Feishu/Lark channel package covering subagent routing hooks, account auth, tool contracts, and npm artifact packaging."
},
{
"id": "tlon",
"name": "OpenClaw Tlon/Urbit channel plugin",
"package": {
"name": "@openclaw/tlon",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/tlon",
"ref": "35a57bc940833a6c1f594b2308e349e5ee0148db"
},
"path": "plugins/tlon",
"priority": "medium",
"seams": [
"channel",
"federated-network",
"account-auth",
"tool",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel"
]
},
"why": "Official Tlon/Urbit channel package covering federated-network account setup, channel factory registration, tool contracts, and npm artifact packaging."
},
{
"id": "twitch",
"name": "OpenClaw Twitch channel plugin",
"package": {
"name": "@openclaw/twitch",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/twitch",
"ref": "35a57bc940833a6c1f594b2308e349e5ee0148db"
},
"path": "plugins/twitch",
"priority": "medium",
"seams": [
"channel",
"streaming-chat",
"account-auth",
"message-policy",
"npm-artifact"
],
"why": "Official Twitch channel package covering streaming-chat channel metadata, account auth, message policy, and npm artifact packaging.",
"expect": {
"registrations": [
"registerChannel"
]
}
},
{
"id": "mattermost",
"name": "OpenClaw Mattermost channel plugin",
"package": {
"name": "@openclaw/mattermost",
"tag": "latest",
"artifactSource": "source-pack"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/mattermost",
"ref": "35a57bc940833a6c1f594b2308e349e5ee0148db"
},
"path": "plugins/mattermost",
"priority": "medium",
"seams": [
"channel",
"http-routes",
"self-hosted-chat",
"account-auth"
],
"expect": {
"registrations": [
"registerChannel"
]
},
"why": "Official bundled Mattermost channel package covering self-hosted chat auth, HTTP route registration, and channel factory metadata; Crabpot source-packs it from the OpenClaw monorepo instead of requiring a separate npm dist-tag."
},
{
"id": "synology-chat",
"name": "Synology Chat channel plugin for OpenClaw",
"package": {
"name": "@openclaw/synology-chat",
"tag": "latest"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/synology-chat",
"ref": "b19a6ee62db342d400a233903adcaf17f67246c5"
},
"path": "plugins/synology-chat",
"priority": "medium",
"seams": [
"channel",
"self-hosted-chat",
"account-auth",
"message-policy",
"npm-artifact"
],
"expect": {
"registrations": [
"registerChannel"
]
},
"why": "Official Synology Chat channel package covering self-hosted chat setup, channel factory registration, account auth, and npm artifact packaging."
},
{
"id": "brave-plugin",
"name": "OpenClaw Brave plugin",
"package": {
"name": "@openclaw/brave-plugin",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/brave",
"ref": "a22f06504376e7203a2bec8fde094b7cdcb06c02"
},
"path": "plugins/brave-plugin",
"priority": "medium",
"seams": [
"provider-capability",
"web-search-provider",
"external-api",
"env-auth",
"npm-artifact"
],
"expect": {
"registrations": [
"definePluginEntry",
"registerWebSearchProvider"
],
"manifestContracts": [
"webSearchProviders"
]
},
"why": "Official Brave search package covering web search provider registration, external API/env auth metadata, manifest provider contracts, and npm artifact packaging."
},
{
"id": "codex",
"name": "OpenClaw Codex harness and model provider plugin",
"package": {
"name": "@openclaw/codex",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/codex",
"ref": "a22f06504376e7203a2bec8fde094b7cdcb06c02"
},
"path": "plugins/codex",
"priority": "medium",
"seams": [
"agent-harness",
"provider-capability",
"media-understanding",
"migration-provider",
"channel-bridge"
],
"expect": {
"hooks": [
"inbound_claim"
],
"registrations": [
"definePluginEntry",
"registerAgentHarness",
"registerCommand",
"registerMediaUnderstandingProvider",
"registerMigrationProvider",
"registerProvider"
],
"manifestContracts": [
"mediaUnderstandingProviders",
"migrationProviders"
]
},
"why": "Official Codex package covering agent harness registration, model provider wiring, media understanding, migrations, inbound claims, and npm artifact packaging."
},
{
"id": "diagnostics-prometheus",
"name": "OpenClaw diagnostics Prometheus exporter",
"package": {
"name": "@openclaw/diagnostics-prometheus",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/diagnostics-prometheus",
"ref": "f4ef1bf04e9637958418428db0ff9e75e6698159"
},
"path": "plugins/diagnostics-prometheus",
"priority": "medium",
"seams": [
"diagnostics",
"telemetry",
"prometheus-export",
"http-routes",
"service"
],
"expect": {
"registrations": [
"definePluginEntry",
"registerHttpRoute",
"registerService"
]
},
"why": "Official Prometheus diagnostics package covering service lifecycle, metrics HTTP routes, telemetry export, and monorepo-backed npm packaging."
},
{
"id": "google-meet",
"name": "OpenClaw Google Meet participant plugin",
"package": {
"name": "@openclaw/google-meet",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/google-meet",
"ref": "f4ef1bf04e9637958418428db0ff9e75e6698159"
},
"path": "plugins/google-meet",
"priority": "medium",
"seams": [
"tool",
"gateway-method",
"node-host-command",
"meeting",
"cli"
],
"expect": {
"registrations": [
"definePluginEntry",
"registerCli",
"registerGatewayMethod",
"registerNodeHostCommand",
"registerTool"
]
},
"why": "Official Google Meet package covering meeting tools, gateway methods, node host commands, CLI setup, and npm artifact packaging."
},
{
"id": "diffs",
"name": "OpenClaw diff viewer plugin",
"package": {
"name": "@openclaw/diffs",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/diffs",
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
},
"path": "plugins/diffs",
"priority": "medium",
"seams": [
"tool",
"http-routes",
"prompt-mutation",
"diff-viewer",
"npm-artifact"
],
"expect": {
"hooks": [
"before_prompt_build"
],
"registrations": [
"definePluginEntry",
"registerHttpRoute",
"registerTool"
]
},
"why": "Official diff viewer package covering prompt mutation, HTTP route UI surface, tool registration, manifest tool contracts, and npm artifact packaging."
},
{
"id": "memory-lancedb",
"name": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
"package": {
"name": "@openclaw/memory-lancedb",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/memory-lancedb",
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
},
"path": "plugins/memory-lancedb",
"priority": "medium",
"seams": [
"memory-runtime",
"prompt-mutation",
"session-lifecycle",
"vector-store",
"cli"
],
"expect": {
"hooks": [
"agent_end",
"before_prompt_build",
"session_end"
],
"registrations": [
"definePluginEntry",
"registerCli",
"registerService",
"registerTool"
]
},
"why": "Official LanceDB memory package covering automatic recall/capture hooks, vector-store lifecycle, service/CLI setup, tool contracts, and npm artifact packaging."
},
{
"id": "openclaw-qqbot",
"name": "OpenClaw QQ Bot channel plugin",
"package": {
"name": "@openclaw/qqbot",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/qqbot",
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
},
"path": "plugins/openclaw-qqbot",
"priority": "medium",
"seams": [
"channel",
"command",
"tool",
"media",
"npm-artifact"
],
"expect": {
"registrations": [
"registerCommand",
"registerTool"
]
},
"why": "Official OpenClaw QQ Bot npm package covering command/tool registration, channel manifest metadata, media-capable messaging, and monorepo source mapping without replacing the external QQBot fixture."
},
{
"id": "whatsapp",
"name": "OpenClaw WhatsApp channel plugin",
"package": {
"name": "@openclaw/whatsapp",
"tag": "beta"
},
"source": {
"repo": "https://github.com/openclaw/openclaw.git",
"path": "extensions/whatsapp",
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
},
"path": "plugins/whatsapp",
"priority": "medium",
"seams": [
"channel",
"account-auth",
"media",
"message-policy",
"npm-artifact"
],
"why": "Official WhatsApp channel package covering account auth, media-capable channel metadata, message policy, and npm artifact packaging from the monorepo."
},
{
"id": "nemoclaw",
"name": "NemoClaw",
"repo": "https://github.com/NVIDIA/NemoClaw.git",
"path": "plugins/nemoclaw",
"subdir": "nemoclaw",
"priority": "high",
"seams": [
"provider-capability",
"prompt-mutation",
"security-audit",
"process-spawn",
"command",
"config-schema"
],
"expect": {
"hooks": ["before_agent_start", "before_tool_call"],
"registrations": ["registerCommand", "registerProvider"]
},
"why": "NVIDIA OpenShell fixture covering sandbox-aware runtime context injection, managed inference provider registration, slash-command migration/status flows, OpenShell CLI probing, and secret-blocking tool-call policy."
},
{
"id": "memory-tencentdb",
"name": "TencentDB Agent Memory",
"package": {
"name": "@tencentdb-agent-memory/memory-tencentdb",
"tag": "latest"
},
"path": "plugins/memory-tencentdb",
"priority": "high",
"seams": ["memory-runtime", "prompt-mutation", "session-lifecycle", "vector-store", "cli"],
"expect": {
"hooks": ["before_prompt_build", "gateway_stop", "agent_end"],
"registrations": ["registerTool", "registerCli"]
},
"why": "NPM-pinned memory fixture covering automatic recall/capture hooks, TencentDB vector storage, SQLite fallback, cleanup lifecycle, and seed/export CLI commands."
},
{
"id": "ddingtalk",
"name": "DingTalk Channel",
"repo": "https://github.com/largezhou/openclaw-dingtalk.git",
"path": "plugins/ddingtalk",
"priority": "high",
"seams": ["channel", "media", "account-auth", "webhook", "config-schema"],
"expect": {
"registrations": ["defineChannelPluginEntry"]
},
"why": "DingTalk channel fixture from the latest npm-backed repo, covering enterprise IM auth, channel setup, media handling, and webhook-style message ingress."
},
{
"id": "dingtalk-connector",
"name": "DingTalk Connector",
"repo": "https://github.com/DingTalk-Real-AI/dingtalk-openclaw-connector.git",
"path": "plugins/dingtalk-connector",
"priority": "high",
"seams": ["channel", "streaming", "account-auth", "interactive-card", "gateway-method"],
"expect": {
"registrations": ["registerChannel", "registerGatewayMethod"]
},
"why": "Official DingTalk connector fixture covering Stream-mode channel ingress, AI Card replies, multi-account access policy, gateway RPC methods, and packaged channel skills."
},
{
"id": "mocrane-wecom",
"name": "Mocrane WeCom",
"repo": "https://github.com/TencentCloud-Lighthouse/openclaw-wecom.git",
"path": "plugins/mocrane-wecom",
"priority": "high",
"seams": ["channel", "dynamic-agent-routing", "mcp", "skills", "sdk-compat"],
"expect": {
"hooks": ["before_prompt_build"],
"registrations": ["registerChannel", "registerTool", "registerHttpRoute"]
},
"why": "Latest @mocrane/wecom-backed fixture covering WeCom channel routing, MCP proxy tooling, skill bundles, HTTP routes, and broad SDK compatibility shims."
},
{
"id": "yuanbao",
"name": "Tencent Yuanbao Bot",
"package": {
"name": "openclaw-plugin-yuanbao",
"tag": "latest"
},
"path": "plugins/yuanbao",
"priority": "high",
"seams": ["channel", "media", "command", "account-auth", "sdk-compat"],
"expect": {
"registrations": ["createChatChannelPlugin", "registerTool", "registerCommand"]
},
"why": "NPM-pinned Yuanbao channel fixture covering bot auth, media messaging, built-in commands, command queue state compatibility, and root SDK imports."
},
{
"id": "openclaw-weixin",
"name": "OpenClaw Weixin",
"package": {
"name": "@tencent-weixin/openclaw-weixin",
"tag": "latest"
},
"path": "plugins/openclaw-weixin",
"priority": "high",
"seams": ["channel", "media", "account-auth", "pairing", "sdk-subpaths", "catalog-discovery"],
"expect": {
"registrations": ["registerChannel"]
},
"why": "NPM-pinned Weixin channel fixture covering scan-login pairing, account isolation, media upload/download, narrow SDK subpath usage, and npm-installed channel catalog discovery."
},
{
"id": "lightclawbot",
"name": "LightClawBot",
"package": {
"name": "lightclawbot",
"tag": "latest"
},
"path": "plugins/lightclawbot",
"priority": "medium",
"seams": ["channel", "cron", "proactive-messaging", "media", "bundled-deps"],
"expect": {
"registrations": ["registerChannel", "registerTool"]
},
"why": "NPM-pinned channel fixture covering cron/proactive messaging metadata, file upload tooling, bundled Socket.IO dependencies, and built JavaScript-only plugin packages."
},
{
"id": "telnyx-sms",
"name": "Telnyx SMS",
"repo": "https://github.com/team-telnyx/telnyx-openclaw-sms-channel.git",
"path": "plugins/telnyx-sms",
"priority": "medium",
"seams": ["channel", "media", "account-auth", "http-routes", "cli"],
"expect": {
"registrations": ["defineChannelPluginEntry", "registerCli", "registerHttpRoute"]
},
"why": "Telnyx-owned SMS/MMS channel fixture covering channel setup entries, multi-account phone-number auth, inbound webhook verification, HTTP route registration, MMS handling, and auto-exposure flows."
},
{
"id": "clawrouter",
"name": "ClawRouter",
"repo": "https://github.com/BlockRunAI/ClawRouter.git",
"path": "plugins/clawrouter",
"priority": "medium",
"seams": ["provider-capability", "gateway-service", "process-spawn", "command", "dynamic-tool"],
"expect": {
"registrations": [
"registerProvider",
"registerImageGenerationProvider",
"registerMusicGenerationProvider",
"registerVideoGenerationProvider",
"registerWebSearchProvider",
"registerTool",
"registerCommand",
"registerService"
]
},
"execution": {
"blockedFailures": [
{
"id": "clawrouter-live-network-tools",
"seam": "registerTool",
"errorIncludes": "fetch failed",
"reason": "captured tool requires live network access"
}
]
},
"why": "Model-router fixture covering provider registration, generation/search provider capabilities, proxy sidecar lifecycle, x402 wallet/auth setup, command registration, partner tool surfacing, and config mutation edge cases."
},
{
"id": "memu-engine",
"name": "MemU Engine",
"repo": "https://github.com/duxiaoxiong/memu-engine-for-OpenClaw.git",
"path": "plugins/memu-engine",
"priority": "medium",
"seams": ["memory-runtime", "tool", "python-sidecar", "storage-migration", "session-ingest"],
"expect": {
"registrations": ["registerTool"]
},
"why": "Memory tool fixture with a Python sidecar, OpenClaw session ingestion, filesystem storage migration, and long-running local memory data layout assumptions."
},
{
"id": "secureclaw",
"name": "SecureClaw",
"repo": "https://github.com/adversa-ai/secureclaw.git",
"path": "plugins/secureclaw",
"subdir": "secureclaw",
"priority": "medium",
"seams": ["security-audit", "config-hardening", "gateway-lifecycle", "filesystem-scan", "cli"],
"expect": {
"hooks": ["gateway_start"],
"registrations": ["registerCli", "registerService"]
},
"why": "Security fixture covering gateway-start scanning, config and credential hardening, filesystem watch/audit behavior, and CLI-driven remediation/report generation."
},
{
"id": "memos-cloud",
"name": "MemOS Cloud OpenClaw Plugin",
"repo": "https://github.com/MemTensor/MemOS-Cloud-OpenClaw-Plugin.git",
"path": "plugins/memos-cloud",
"priority": "medium",
"seams": ["memory-runtime", "session-lifecycle", "config-ui", "legacy-hook-api", "external-api"],
"expect": {
"hooks": ["before_agent_start", "agent_end"],
"registrations": ["registerHook"]
},
"why": "Cloud memory fixture covering legacy registerHook compatibility, startup/session-end hooks, config UI service code, env/config precedence, and external MemOS API calls."
},
{
"id": "clawmetry",
"name": "ClawMetry",
"repo": "https://github.com/vivekchand/clawmetry.git",
"path": "plugins/clawmetry",
"priority": "medium",
"seams": ["diagnostics", "log-transport", "gateway-service", "sidecar", "telemetry"],
"expect": {
"registrations": ["registerService"]
},
"why": "Observability fixture for diagnostic events, log transport, telemetry buffering, and plugin-owned dashboard lifecycle."
},
{
"id": "codex-app-server",
"name": "Codex App Server Bridge",
"repo": "https://github.com/pwrdrvr/openclaw-codex-app-server.git",
"path": "plugins/codex-app-server",
"priority": "medium",
"seams": ["process-spawn", "unsafe-install", "channel-bridge", "interactive-ui", "sdk-compat"],
"expect": {
"hooks": ["inbound_claim"],
"registrations": ["registerService"]
},
"why": "Bridge fixture for process launch policy, install safety gates, and channel-specific SDK compatibility."
},
{
"id": "web-search-plus",
"name": "Web Search Plus",
"repo": "https://github.com/robbyczgw-cla/web-search-plus-plugin.git",
"path": "plugins/web-search-plus",
"priority": "medium",
"seams": ["tool", "provider-routing", "external-api", "env-auth", "extraction"],
"expect": {
"registrations": ["registerTool"]
},
"why": "Multi-provider search/extract tool fixture with several auth/config permutations."
},
{
"id": "apify",
"name": "Apify",
"repo": "https://github.com/apify/apify-openclaw-plugin.git",
"path": "plugins/apify",
"priority": "medium",
"seams": ["tool", "async-job", "polling", "external-api", "catalog-discovery"],
"expect": {
"registrations": ["registerTool"]
},
"why": "Async start/collect workflow fixture for remote jobs and huge third-party catalog discovery."
},
{
"id": "inworld-tts",
"name": "Inworld TTS",
"repo": "https://github.com/livingghost/openclaw-inworld-tts.git",
"path": "plugins/inworld-tts",
"priority": "medium",
"seams": ["provider-capability", "speech", "tts", "env-auth", "runtime-overrides"],
"expect": {
"manifestContracts": ["speechProviders"],
"registrations": ["registerSpeechProvider"]
},
"why": "Provider capability fixture for speech registration, config/env auth, and talk.speak request overrides."
}
]
}