mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-20 23:14:59 +00:00
Config/MemorySearch: add post-compaction force reindex toggle
This commit is contained in:
@@ -170,6 +170,7 @@ describe("memory search config", () => {
|
||||
expect(resolved?.sync.sessions).toEqual({
|
||||
deltaBytes: 100000,
|
||||
deltaMessages: 50,
|
||||
postCompactionForce: true,
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ export type ResolvedMemorySearchConfig = {
|
||||
sessions: {
|
||||
deltaBytes: number;
|
||||
deltaMessages: number;
|
||||
postCompactionForce: boolean;
|
||||
};
|
||||
};
|
||||
query: {
|
||||
@@ -229,6 +230,10 @@ function mergeConfig(
|
||||
overrides?.sync?.sessions?.deltaMessages ??
|
||||
defaults?.sync?.sessions?.deltaMessages ??
|
||||
DEFAULT_SESSION_DELTA_MESSAGES,
|
||||
postCompactionForce:
|
||||
overrides?.sync?.sessions?.postCompactionForce ??
|
||||
defaults?.sync?.sessions?.postCompactionForce ??
|
||||
true,
|
||||
},
|
||||
};
|
||||
const query = {
|
||||
@@ -296,6 +301,7 @@ function mergeConfig(
|
||||
);
|
||||
const deltaBytes = clampInt(sync.sessions.deltaBytes, 0, Number.MAX_SAFE_INTEGER);
|
||||
const deltaMessages = clampInt(sync.sessions.deltaMessages, 0, Number.MAX_SAFE_INTEGER);
|
||||
const postCompactionForce = sync.sessions.postCompactionForce ?? true;
|
||||
return {
|
||||
enabled,
|
||||
sources,
|
||||
@@ -315,6 +321,7 @@ function mergeConfig(
|
||||
sessions: {
|
||||
deltaBytes,
|
||||
deltaMessages,
|
||||
postCompactionForce,
|
||||
},
|
||||
},
|
||||
query: {
|
||||
|
||||
@@ -842,6 +842,8 @@ export const FIELD_HELP: Record<string, string> = {
|
||||
"Requires at least this many newly appended bytes before session transcript changes trigger reindex (default: 100000). Increase to reduce frequent small reindexes, or lower for faster transcript freshness.",
|
||||
"agents.defaults.memorySearch.sync.sessions.deltaMessages":
|
||||
"Requires at least this many appended transcript messages before reindex is triggered (default: 50). Lower this for near-real-time transcript recall, or raise it to reduce indexing churn.",
|
||||
"agents.defaults.memorySearch.sync.sessions.postCompactionForce":
|
||||
"Forces a session memory-search reindex after compaction-triggered transcript updates (default: true). Keep enabled when compacted summaries must be immediately searchable, or disable to reduce write-time indexing pressure.",
|
||||
"agents.defaults.compaction.recentTurnsPreserve":
|
||||
"Number of most recent user/assistant turns kept verbatim outside safeguard summarization (default: 3). Raise this to preserve exact recent dialogue context, or lower it to maximize compaction savings.",
|
||||
"agents.defaults.compaction.postIndexSync":
|
||||
|
||||
@@ -311,6 +311,8 @@ export const FIELD_LABELS: Record<string, string> = {
|
||||
"agents.defaults.memorySearch.sync.watchDebounceMs": "Memory Watch Debounce (ms)",
|
||||
"agents.defaults.memorySearch.sync.sessions.deltaBytes": "Session Delta Bytes",
|
||||
"agents.defaults.memorySearch.sync.sessions.deltaMessages": "Session Delta Messages",
|
||||
"agents.defaults.memorySearch.sync.sessions.postCompactionForce":
|
||||
"Force Reindex After Compaction",
|
||||
"agents.defaults.compaction.recentTurnsPreserve": "Compaction Preserve Recent Turns",
|
||||
"agents.defaults.compaction.postIndexSync": "Compaction Post-Index Sync",
|
||||
"agents.defaults.compaction.qualityGuard.enabled": "Compaction Quality Guard",
|
||||
|
||||
@@ -377,6 +377,8 @@ export type MemorySearchConfig = {
|
||||
deltaBytes?: number;
|
||||
/** Minimum appended JSONL lines before session transcripts are reindexed. */
|
||||
deltaMessages?: number;
|
||||
/** Force session reindex after compaction-triggered transcript updates (default: true). */
|
||||
postCompactionForce?: boolean;
|
||||
};
|
||||
};
|
||||
/** Query behavior. */
|
||||
|
||||
@@ -623,6 +623,7 @@ export const MemorySearchSchema = z
|
||||
.object({
|
||||
deltaBytes: z.number().int().nonnegative().optional(),
|
||||
deltaMessages: z.number().int().nonnegative().optional(),
|
||||
postCompactionForce: z.boolean().optional(),
|
||||
})
|
||||
.strict()
|
||||
.optional(),
|
||||
|
||||
Reference in New Issue
Block a user