






















@@ -12,6 +12,7 @@ import {
1212resolveMemoryRemDreamingConfig,
1313} from "../../memory-host-sdk/dreaming.js";
1414import { getActiveMemorySearchManager } from "../../plugins/memory-runtime.js";
15+import { normalizeAgentId } from "../../routing/session-key.js";
1516import { formatError } from "../server-utils.js";
1617import {
1718dedupeDreamDiaryEntries,
@@ -893,7 +894,9 @@ const SKIPPED_MEMORY_EMBEDDING_PROBE = {
893894export const doctorHandlers: GatewayRequestHandlers = {
894895"doctor.memory.status": async ({ respond, context, params }) => {
895896const cfg = context.getRuntimeConfig();
896-const agentId = resolveDefaultAgentId(cfg);
897+const requestedAgentId =
898+typeof params?.agentId === "string" ? normalizeAgentId(params.agentId) : null;
899+const agentId = requestedAgentId || resolveDefaultAgentId(cfg);
897900const { manager, error } = await getActiveMemorySearchManager({
898901 cfg,
899902 agentId,
@@ -923,10 +926,14 @@ export const doctorHandlers: GatewayRequestHandlers = {
923926const nowMs = Date.now();
924927const dreamingConfig = resolveDreamingConfig(cfg);
925928const workspaceDir = normalizeTrimmedString((status as Record<string, unknown>).workspaceDir);
926-const configuredWorkspaces = resolveMemoryDreamingWorkspaces(cfg, {
927-primaryWorkspaceDir: workspaceDir,
928-primaryAgentId: resolveDefaultAgentId(cfg),
929-}).map((entry) => entry.workspaceDir);
929+const configuredWorkspaces = requestedAgentId
930+ ? workspaceDir
931+ ? [workspaceDir]
932+ : []
933+ : resolveMemoryDreamingWorkspaces(cfg, {
934+primaryWorkspaceDir: workspaceDir,
935+primaryAgentId: agentId,
936+}).map((entry) => entry.workspaceDir);
930937const allWorkspaces =
931938configuredWorkspaces.length > 0 ? configuredWorkspaces : workspaceDir ? [workspaceDir] : [];
932939const storeStats =
@@ -988,9 +995,11 @@ export const doctorHandlers: GatewayRequestHandlers = {
988995await manager.close?.().catch(() => {});
989996}
990997},
991-"doctor.memory.dreamDiary": async ({ respond, context }) => {
998+"doctor.memory.dreamDiary": async ({ respond, context, params }) => {
992999const cfg = context.getRuntimeConfig();
993-const agentId = resolveDefaultAgentId(cfg);
1000+const requestedAgentId =
1001+typeof params?.agentId === "string" ? normalizeAgentId(params.agentId) : null;
1002+const agentId = requestedAgentId || resolveDefaultAgentId(cfg);
9941003const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
9951004const dreamDiary = await readDreamDiary(workspaceDir);
9961005const payload: DoctorMemoryDreamDiaryPayload = {
@@ -999,9 +1008,11 @@ export const doctorHandlers: GatewayRequestHandlers = {
9991008};
10001009respond(true, payload, undefined);
10011010},
1002-"doctor.memory.backfillDreamDiary": async ({ respond, context }) => {
1011+"doctor.memory.backfillDreamDiary": async ({ respond, context, params }) => {
10031012const cfg = context.getRuntimeConfig();
1004-const agentId = resolveDefaultAgentId(cfg);
1013+const requestedAgentId =
1014+typeof params?.agentId === "string" ? normalizeAgentId(params.agentId) : null;
1015+const agentId = requestedAgentId || resolveDefaultAgentId(cfg);
10051016const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
10061017const memoryDir = path.join(workspaceDir, "memory");
10071018const sourceFiles = await listWorkspaceDailyFiles(memoryDir);
@@ -1057,9 +1068,11 @@ export const doctorHandlers: GatewayRequestHandlers = {
10571068};
10581069respond(true, payload, undefined);
10591070},
1060-"doctor.memory.resetDreamDiary": async ({ respond, context }) => {
1071+"doctor.memory.resetDreamDiary": async ({ respond, context, params }) => {
10611072const cfg = context.getRuntimeConfig();
1062-const agentId = resolveDefaultAgentId(cfg);
1073+const requestedAgentId =
1074+typeof params?.agentId === "string" ? normalizeAgentId(params.agentId) : null;
1075+const agentId = requestedAgentId || resolveDefaultAgentId(cfg);
10631076const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
10641077const removed = await removeBackfillDiaryEntries({ workspaceDir });
10651078const dreamDiary = await readDreamDiary(workspaceDir);
@@ -1072,9 +1085,11 @@ export const doctorHandlers: GatewayRequestHandlers = {
10721085};
10731086respond(true, payload, undefined);
10741087},
1075-"doctor.memory.resetGroundedShortTerm": async ({ respond, context }) => {
1088+"doctor.memory.resetGroundedShortTerm": async ({ respond, context, params }) => {
10761089const cfg = context.getRuntimeConfig();
1077-const agentId = resolveDefaultAgentId(cfg);
1090+const requestedAgentId =
1091+typeof params?.agentId === "string" ? normalizeAgentId(params.agentId) : null;
1092+const agentId = requestedAgentId || resolveDefaultAgentId(cfg);
10781093const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
10791094const removed = await removeGroundedShortTermCandidates({ workspaceDir });
10801095const payload: DoctorMemoryDreamActionPayload = {
@@ -1084,9 +1099,11 @@ export const doctorHandlers: GatewayRequestHandlers = {
10841099};
10851100respond(true, payload, undefined);
10861101},
1087-"doctor.memory.repairDreamingArtifacts": async ({ respond, context }) => {
1102+"doctor.memory.repairDreamingArtifacts": async ({ respond, context, params }) => {
10881103const cfg = context.getRuntimeConfig();
1089-const agentId = resolveDefaultAgentId(cfg);
1104+const requestedAgentId =
1105+typeof params?.agentId === "string" ? normalizeAgentId(params.agentId) : null;
1106+const agentId = requestedAgentId || resolveDefaultAgentId(cfg);
10901107const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
10911108const repair = await repairDreamingArtifacts({ workspaceDir });
10921109const payload: DoctorMemoryDreamActionPayload = {
@@ -1101,9 +1118,11 @@ export const doctorHandlers: GatewayRequestHandlers = {
11011118};
11021119respond(true, payload, undefined);
11031120},
1104-"doctor.memory.dedupeDreamDiary": async ({ respond, context }) => {
1121+"doctor.memory.dedupeDreamDiary": async ({ respond, context, params }) => {
11051122const cfg = context.getRuntimeConfig();
1106-const agentId = resolveDefaultAgentId(cfg);
1123+const requestedAgentId =
1124+typeof params?.agentId === "string" ? normalizeAgentId(params.agentId) : null;
1125+const agentId = requestedAgentId || resolveDefaultAgentId(cfg);
11071126const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
11081127const dedupe = await dedupeDreamDiaryEntries({ workspaceDir });
11091128const dreamDiary = await readDreamDiary(workspaceDir);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。