export function hasExplicitPluginConfig(plugins?: OpenClawConfig["plugins"]): boolean { if (!plugins) { returnfalse;
} if (typeof plugins.enabled === "boolean") { returntrue;
} if (Array.isArray(plugins.allow) && plugins.allow.length > 0) { returntrue;
} if (Array.isArray(plugins.deny) && plugins.deny.length > 0) { returntrue;
} if (plugins.load?.paths && Array.isArray(plugins.load.paths) && plugins.load.paths.length > 0) { returntrue;
} if (plugins.slots && Object.keys(plugins.slots).length > 0) { returntrue;
} if (plugins.entries && Object.keys(plugins.entries).length > 0) { returntrue;
} returnfalse;
}
export function isBundledChannelEnabledByChannelConfig(
cfg: OpenClawConfig | undefined,
pluginId: string,
): boolean { if (!cfg) { returnfalse;
} const channelId = normalizeChatChannelId(pluginId); if (!channelId) { returnfalse;
} const channels = cfg.channels as Record<string, unknown> | undefined; const entry = channels?.[channelId]; if (!entry || typeof entry !== "object" || Array.isArray(entry)) { returnfalse;
} return (entry as Record<string, unknown>).enabled === true;
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.