Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { listAgentIds } from "../agents/agent-scope.js";
import { resolveMemorySearchConfig } from "../agents/memory-search.js";
import type { OpenClawConfig } from "../config/types.openclaw.js";
import {
getActiveMemorySearchManager,
resolveActiveMemoryBackendConfig,
} from "../plugins/memory-runtime.js";
export async function startGatewayMemoryBackend(params: {
cfg: OpenClawConfig;
log: { info?: (msg: string) => void; warn: (msg: string) => void };
}): Promise<void> {
const agentIds = listAgentIds(params.cfg);
const armedAgentIds: string[] = [];
for (const agentId of agentIds) {
if (!resolveMemorySearchConfig(params.cfg, agentId)) {
continue;
}
const resolved = resolveActiveMemoryBackendConfig({ cfg: params.cfg, agentId });
if (!resolved) {
continue;
}
if (resolved.backend !== "qmd" || !resolved.qmd) {
continue;
}
const { manager, error } = await getActiveMemorySearchManager({ cfg: params.cfg, agentId });
if (!manager) {
params.log.warn(
`qmd memory startup initialization failed for agent "${agentId}": ${error ?? "unknown error"}`,
);
continue;
}
armedAgentIds.push(agentId);
}
if (armedAgentIds.length > 0) {
params.log.info?.(
`qmd memory startup initialization armed for ${formatAgentCount(armedAgentIds.length)}: ${armedAgentIds
.map((agentId) => `"${agentId}"`)
.join(", ")}`,
);
}
}
function formatAgentCount(count: number): string {
return count === 1 ? "1 agent" : `${count} agents`;
}
¤ Dauer der Verarbeitung: 0.22 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland