mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-20 14:44:59 +00:00
Config/MemorySearch: add post-compaction force reindex toggle
(cherry picked from commit be698b8bca)
This commit is contained in:
committed by
Josh Lehman
parent
fd568c4f74
commit
5760f60a1c
@@ -284,6 +284,7 @@ describe("memory search config", () => {
|
||||
expect(resolved?.sync.sessions).toEqual({
|
||||
deltaBytes: 100000,
|
||||
deltaMessages: 50,
|
||||
postCompactionForce: true,
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ export type ResolvedMemorySearchConfig = {
|
||||
sessions: {
|
||||
deltaBytes: number;
|
||||
deltaMessages: number;
|
||||
postCompactionForce: boolean;
|
||||
};
|
||||
};
|
||||
query: {
|
||||
@@ -248,6 +249,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 = {
|
||||
@@ -315,6 +320,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,
|
||||
@@ -336,6 +342,7 @@ function mergeConfig(
|
||||
sessions: {
|
||||
deltaBytes,
|
||||
deltaMessages,
|
||||
postCompactionForce,
|
||||
},
|
||||
},
|
||||
query: {
|
||||
|
||||
@@ -930,6 +930,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.",
|
||||
ui: "UI presentation settings for accenting and assistant identity shown in control surfaces. Use this for branding and readability customization without changing runtime behavior.",
|
||||
"ui.seamColor":
|
||||
"Primary accent/seam color used by UI surfaces for emphasis, badges, and visual identity cues. Use high-contrast values that remain readable across light/dark themes.",
|
||||
|
||||
@@ -354,6 +354,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.memorySearch.query.maxResults": "Memory Search Max Results",
|
||||
"agents.defaults.memorySearch.query.minScore": "Memory Search Min Score",
|
||||
"agents.defaults.memorySearch.query.hybrid.enabled": "Memory Search Hybrid",
|
||||
|
||||
@@ -402,6 +402,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. */
|
||||
|
||||
@@ -649,6 +649,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