@scotthuang/engram 0.3.18 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bm25.js CHANGED
@@ -221,6 +221,7 @@ export class BM25Index {
221
221
  // IDF = log((N - df + 0.5) / (df + 0.5) + 1)
222
222
  this.idf.set(term, Math.log((N - freq + 0.5) / (freq + 0.5) + 1));
223
223
  }
224
+ console.log(`[engram:bm25] buildIDF: ${N} docs, ${df.size} unique terms, avgDl=${this.avgDl.toFixed(1)}`);
224
225
  }
225
226
  /**
226
227
  * BM25 搜索
@@ -231,6 +232,7 @@ export class BM25Index {
231
232
  const queryTokens = tokenize(query);
232
233
  const k1 = 1.5; // 词频饱和参数
233
234
  const b = 0.75; // 文档长度归一化参数
235
+ console.log(`[engram:bm25] search: query="${query.slice(0, 80)}" tokens=[${queryTokens.join(", ")}] topK=${topK} docs=${this.docs.length} avgDl=${this.avgDl.toFixed(1)}`);
234
236
  const scores = [];
235
237
  for (const doc of this.docs) {
236
238
  let score = 0;
@@ -250,17 +252,21 @@ export class BM25Index {
250
252
  }
251
253
  }
252
254
  scores.sort((a, b) => b.score - a.score);
253
- return scores.slice(0, topK);
255
+ const result = scores.slice(0, topK);
256
+ console.log(`[engram:bm25] search: ${scores.length} docs matched, returning top ${result.length}`);
257
+ return result;
254
258
  }
255
259
  /**
256
260
  * 添加单条记录(用于实时写入后的即时索引)
257
261
  */
258
262
  async addEntry(entry) {
259
263
  await initJieba();
264
+ const tokens = tokenize(entry.text);
260
265
  this.docs.push({
261
- tokens: tokenize(entry.text),
266
+ tokens,
262
267
  entry,
263
268
  });
269
+ console.log(`[engram:bm25] addEntry: "${entry.text.slice(0, 60)}" → ${tokens.length} tokens, total docs=${this.docs.length}`);
264
270
  this.buildIDF();
265
271
  }
266
272
  get size() {
package/dist/bm25.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bm25.js","sourceRoot":"","sources":["../src/bm25.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bm25.js","sourceRoot":"","sources":["../src/bm25.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -23,6 +23,15 @@ export type MemorySystemConfig = {
23
23
  baseUrl: string;
24
24
  model: string;
25
25
  };
26
+ /** 查询重写配置 */
27
+ queryRewrite: {
28
+ /** 是否启用查询重写,默认 false */
29
+ enabled: boolean;
30
+ /** 重写脚本路径(shell 脚本,接收用户消息作为参数,输出子查询) */
31
+ scriptPath: string;
32
+ /** 脚本执行超时(毫秒),默认 5000 */
33
+ timeoutMs: number;
34
+ };
26
35
  /** LanceDB 路径 */
27
36
  lancedbDir?: string;
28
37
  /** 是否保存中间文件(staging)供调试,默认 true */
package/dist/config.js CHANGED
@@ -21,10 +21,18 @@ export const DEFAULTS = {
21
21
  baseUrl: "https://ark.cn-beijing.volces.com/api/coding/v3",
22
22
  model: "doubao-seed-2.0-code",
23
23
  },
24
+ queryRewrite: {
25
+ enabled: false,
26
+ scriptPath: "",
27
+ timeoutMs: 5000,
28
+ },
24
29
  };
25
30
  export function parseConfig(raw) {
26
- if (!raw)
31
+ if (!raw) {
32
+ console.log(`[engram:config] No raw config provided, using defaults`);
27
33
  return { ...DEFAULTS };
34
+ }
35
+ console.log(`[engram:config] Parsing config, keys=[${Object.keys(raw).join(", ")}]`);
28
36
  const embedding = typeof raw.embedding === "object" && raw.embedding !== null
29
37
  ? {
30
38
  model: typeof raw.embedding.model === "string" ? raw.embedding.model : DEFAULTS.embedding.model,
@@ -40,7 +48,14 @@ export function parseConfig(raw) {
40
48
  model: typeof raw.condense.model === "string" ? raw.condense.model : DEFAULTS.condense.model,
41
49
  }
42
50
  : DEFAULTS.condense;
43
- return {
51
+ const queryRewrite = typeof raw.queryRewrite === "object" && raw.queryRewrite !== null
52
+ ? {
53
+ enabled: typeof raw.queryRewrite.enabled === "boolean" ? raw.queryRewrite.enabled : DEFAULTS.queryRewrite.enabled,
54
+ scriptPath: typeof raw.queryRewrite.scriptPath === "string" ? raw.queryRewrite.scriptPath : DEFAULTS.queryRewrite.scriptPath,
55
+ timeoutMs: typeof raw.queryRewrite.timeoutMs === "number" ? raw.queryRewrite.timeoutMs : DEFAULTS.queryRewrite.timeoutMs,
56
+ }
57
+ : DEFAULTS.queryRewrite;
58
+ const config = {
44
59
  shortTermDays: typeof raw.shortTermDays === "number" ? raw.shortTermDays : DEFAULTS.shortTermDays,
45
60
  halfLifeDays: typeof raw.halfLifeDays === "number" ? raw.halfLifeDays : DEFAULTS.halfLifeDays,
46
61
  recallTopK: typeof raw.recallTopK === "number" ? raw.recallTopK : DEFAULTS.recallTopK,
@@ -51,8 +66,14 @@ export function parseConfig(raw) {
51
66
  embeddingModel: typeof raw.embeddingModel === "string" ? raw.embeddingModel : DEFAULTS.embeddingModel,
52
67
  embedding,
53
68
  condense,
69
+ queryRewrite,
54
70
  lancedbDir: typeof raw.lancedbDir === "string" ? raw.lancedbDir : undefined,
55
71
  saveStagingFile: typeof raw.saveStagingFile === "boolean" ? raw.saveStagingFile : true,
56
72
  };
73
+ console.log(`[engram:config] Parsed: shortTermDays=${config.shortTermDays} halfLifeDays=${config.halfLifeDays} recallTopK=${config.recallTopK} minScore=${config.minScore} vectorWeight=${config.vectorWeight} textWeight=${config.textWeight}`);
74
+ console.log(`[engram:config] Embedding: model=${config.embedding.model} dims=${config.embedding.dimensions} hasApiKey=${!!config.embedding.apiKey} baseUrl=${config.embedding.baseUrl.slice(0, 40)}`);
75
+ console.log(`[engram:config] Condense: model=${config.condense.model} hasApiKey=${!!config.condense.apiKey}`);
76
+ console.log(`[engram:config] QueryRewrite: enabled=${config.queryRewrite.enabled} scriptPath="${config.queryRewrite.scriptPath}" timeoutMs=${config.queryRewrite.timeoutMs}`);
77
+ return config;
57
78
  }
58
79
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -50,8 +50,9 @@ const CONDENSE_SYSTEM_PROMPT = `你是一个对话记忆整理助手。请将原
50
50
  1. **每个事件单独一行**:不同话题必须分开,只有完全相同主题的连续对话才能合并
51
51
  2. **保留所有关键词**:股票代码、文件名、数字、路径、分支名、PR号等必须保留
52
52
  3. **保留时段标签**:每条记录必须带上 [MM-DD 时段] 前缀
53
- 4. **过滤纯噪音**:只删除"好的"、"谢谢"、"早上好"这类纯寒暄,有实质信息的都要保留
53
+ 4. **过滤纯噪音**:只删除"好的"、"谢谢"这类纯确认词,有实质信息的都要保留
54
54
  5. **技术操作必须保留**:git操作、文件修改、代码审核、PR、安装软件等都是重要事件
55
+ 6. **行为/状态变化必须保留**:用户的行动(去睡觉、出门、到家、吃饭)、状态变化(累了、生病、开心)、意图声明(准备做XX、打算XX)、问候(早上好、晚安)不是噪音,必须作为独立行输出,主题词使用"作息"/"状态"/"出行"等分类
55
56
 
56
57
  ## 示例
57
58
  输入:
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/profile.js CHANGED
@@ -26,8 +26,11 @@ export class ProfileManager {
26
26
  try {
27
27
  const raw = await fs.readFile(this.profilePath, "utf-8");
28
28
  this.profile = JSON.parse(raw);
29
+ const tagCount = Object.values(this.profile.tags).reduce((sum, tags) => sum + tags.length, 0);
30
+ console.log(`[engram:profile] Loaded profile: ${tagCount} tags, ${Object.keys(this.profile.tags).length} dimensions, coreTags=[${this.profile.coreTags.join(", ")}]`);
29
31
  }
30
32
  catch {
33
+ console.log(`[engram:profile] Profile not found at ${this.profilePath}, using empty profile`);
31
34
  this.profile = { ...EMPTY_PROFILE };
32
35
  }
33
36
  return this.profile;
@@ -37,6 +40,8 @@ export class ProfileManager {
37
40
  profile.updatedAt = new Date().toISOString();
38
41
  await this.ensureDir();
39
42
  await fs.writeFile(this.profilePath, JSON.stringify(profile, null, 2), "utf-8");
43
+ const tagCount = Object.values(profile.tags).reduce((sum, tags) => sum + tags.length, 0);
44
+ console.log(`[engram:profile] Saved profile: ${tagCount} tags, summary="${(profile.summary || "").slice(0, 50)}"`);
40
45
  }
41
46
  /**
42
47
  * 获取召回用的摘要信息(控制 token 消耗)
@@ -80,15 +85,21 @@ export class ProfileManager {
80
85
  * 降低标签置信度(遗忘)
81
86
  */
82
87
  decayTags(profile, factor = 0.95) {
88
+ let decayed = 0;
89
+ let pruned = 0;
83
90
  for (const dimension of Object.keys(profile.tags)) {
91
+ const before = profile.tags[dimension].length;
84
92
  profile.tags[dimension] = profile.tags[dimension]
85
93
  .map(t => ({ ...t, confidence: t.confidence * factor }))
86
94
  .filter(t => t.confidence > 0.2); // 淘汰低置信度标签
95
+ decayed += profile.tags[dimension].length;
96
+ pruned += before - profile.tags[dimension].length;
87
97
  // 清理空维度
88
98
  if (profile.tags[dimension].length === 0) {
89
99
  delete profile.tags[dimension];
90
100
  }
91
101
  }
102
+ console.log(`[engram:profile] decayTags: factor=${factor}, decayed=${decayed} tags, pruned=${pruned} low-confidence tags`);
92
103
  return profile;
93
104
  }
94
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
package/dist/recall.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Memory System Plugin - Recall (自动召回)
3
3
  *
4
4
  * 双路召回:BM25(短期记忆) + Vector(长期记忆)
5
- * 分数融合 → 排重 → 时间衰减 → MMR 去重 → 画像注入
5
+ * 查询重写 → 多子查询召回 → 分数融合 → 排重 → 时间衰减 → MMR 去重 → 画像注入
6
6
  */
7
7
  import { type MemorySystemConfig } from "./config.js";
8
8
  export type RecallResult = {
@@ -36,7 +36,17 @@ export declare class RecallEngine {
36
36
  */
37
37
  rebuildBM25(): Promise<void>;
38
38
  /**
39
- * 核心:双路召回
39
+ * 查询重写:调用外部脚本将混合意图拆分为多个聚焦子查询
40
+ * 返回 { queries: 子查询数组, primary: 主查询索引 }
41
+ */
42
+ private rewriteQuery;
43
+ /**
44
+ * 单子查询召回(内部方法)
45
+ * 对一个子查询执行 BM25 + Vector 双路召回,返回带分数的候选列表
46
+ */
47
+ private recallSingle;
48
+ /**
49
+ * 核心:双路召回(支持查询重写)
40
50
  */
41
51
  recall(query: string): Promise<{
42
52
  results: string;
package/dist/recall.js CHANGED
@@ -2,11 +2,12 @@
2
2
  * Memory System Plugin - Recall (自动召回)
3
3
  *
4
4
  * 双路召回:BM25(短期记忆) + Vector(长期记忆)
5
- * 分数融合 → 排重 → 时间衰减 → MMR 去重 → 画像注入
5
+ * 查询重写 → 多子查询召回 → 分数融合 → 排重 → 时间衰减 → MMR 去重 → 画像注入
6
6
  */
7
7
  import { BM25Index } from "./bm25.js";
8
8
  import { ProfileManager } from "./profile.js";
9
9
  import { join } from "node:path";
10
+ import { execFile } from "node:child_process";
10
11
  /**
11
12
  * 时间衰减:指数衰减
12
13
  */
@@ -155,12 +156,15 @@ export class RecallEngine {
155
156
  * 启动时初始化:加载画像 + 构建 BM25 索引
156
157
  */
157
158
  async startup() {
159
+ console.log(`[engram:recall] startup: workspaceDir=${this.workspaceDir}, shortTermDays=${this.config.shortTermDays}`);
158
160
  // 加载画像
159
161
  await this.profileManager.load();
160
162
  const profile = await this.profileManager.load();
161
163
  // 构建 BM25 索引
162
164
  const shortTermDir = join(this.workspaceDir, "memory-engram");
165
+ console.log(`[engram:recall] startup: building BM25 index from ${shortTermDir}`);
163
166
  await this.bm25.buildFromDirectory(shortTermDir, this.config.shortTermDays);
167
+ console.log(`[engram:recall] startup: BM25 index ready, ${this.bm25.size} entries`);
164
168
  }
165
169
  /**
166
170
  * 增量重建 BM25 索引(在新增文件后调用)
@@ -172,36 +176,101 @@ export class RecallEngine {
172
176
  console.log(`[engram] Rebuilt BM25 index: ${this.bm25.size} entries total`);
173
177
  }
174
178
  /**
175
- * 核心:双路召回
179
+ * 查询重写:调用外部脚本将混合意图拆分为多个聚焦子查询
180
+ * 返回 { queries: 子查询数组, primary: 主查询索引 }
176
181
  */
177
- async recall(query) {
178
- const now = new Date();
179
- const candidateMultiplier = 4;
180
- const candidateLimit = this.config.recallTopK * candidateMultiplier;
181
- const allResults = [];
182
- const weights = normalizeWeights(this.config.vectorWeight, this.config.textWeight);
183
- console.log(`[engram] Hybrid weights: vector=${weights.vector.toFixed(3)}, bm25=${weights.text.toFixed(3)}`);
184
- console.log(`\n[engram] ====== 召回开始 ======`);
185
- console.log(`[engram] Query: "${query}"`);
186
- // Log jieba分词结果(仅用于调试,展示原始分词)
182
+ async rewriteQuery(query) {
183
+ const { enabled, scriptPath, timeoutMs } = this.config.queryRewrite;
184
+ if (!enabled || !scriptPath) {
185
+ console.log(`[engram] Query rewrite disabled (enabled=${enabled}, scriptPath="${scriptPath}")`);
186
+ return { queries: [query], primary: 0 };
187
+ }
188
+ console.log(`[engram] Query rewrite: calling script="${scriptPath}" with query="${query.slice(0, 80)}" (timeout=${timeoutMs}ms)`);
189
+ const rewriteStart = Date.now();
190
+ try {
191
+ const output = await new Promise((resolve, reject) => {
192
+ execFile(scriptPath, [query], { timeout: timeoutMs, encoding: "utf-8" }, (error, stdout, stderr) => {
193
+ if (stderr) {
194
+ console.log(`[engram] Query rewrite script stderr: ${stderr.trim()}`);
195
+ }
196
+ if (error) {
197
+ reject(new Error(`Script error: ${error.message}${stderr ? ` (stderr: ${stderr})` : ""}`));
198
+ return;
199
+ }
200
+ resolve(stdout.trim());
201
+ });
202
+ });
203
+ console.log(`[engram] Query rewrite script took ${Date.now() - rewriteStart}ms, raw output: "${output}"`);
204
+ if (!output) {
205
+ console.log(`[engram] Query rewrite returned empty, using original query`);
206
+ return { queries: [query], primary: 0 };
207
+ }
208
+ // 解析输出:每行一个子查询,[主] 标记的是主查询
209
+ // 兼容 LLM 可能用 " / " 或 "," 分隔在单行的情况
210
+ let rawLines = output.split("\n").map(l => l.trim()).filter(l => l.length > 0);
211
+ // 如果只有一行且包含 " / " 分隔符,拆开
212
+ if (rawLines.length === 1 && rawLines[0].includes(" / ")) {
213
+ console.log(`[engram] Query rewrite: detected "/" separator in single line, splitting`);
214
+ rawLines = rawLines[0].split(" / ").map(s => s.trim()).filter(s => s.length > 0);
215
+ }
216
+ const queries = [];
217
+ let primary = -1;
218
+ for (const line of rawLines) {
219
+ // 支持 [主] 在行首:[主] xxx
220
+ if (line.startsWith("[主]") || line.startsWith("[主] ")) {
221
+ primary = queries.length;
222
+ queries.push(line.replace(/^\[主\]\s*/, ""));
223
+ // 支持 [主] 在行尾:xxx [主]
224
+ }
225
+ else if (line.endsWith("[主]") || line.endsWith(" [主]")) {
226
+ primary = queries.length;
227
+ queries.push(line.replace(/\s*\[主\]$/, ""));
228
+ }
229
+ else {
230
+ queries.push(line);
231
+ }
232
+ }
233
+ // 如果没找到 [主] 标记,默认最后一个为主查询
234
+ if (primary < 0) {
235
+ primary = queries.length - 1;
236
+ }
237
+ // 安全检查:空结果或解析异常时 fallback
238
+ if (queries.length === 0) {
239
+ return { queries: [query], primary: 0 };
240
+ }
241
+ console.log(`[engram] Query rewrite: "${query}" → [${queries.map((q, i) => i === primary ? `*${q}*` : q).join(", ")}]`);
242
+ return { queries, primary };
243
+ }
244
+ catch (err) {
245
+ console.error(`[engram] Query rewrite failed after ${Date.now() - rewriteStart}ms, using original: ${err}`);
246
+ return { queries: [query], primary: 0 };
247
+ }
248
+ }
249
+ /**
250
+ * 单子查询召回(内部方法)
251
+ * 对一个子查询执行 BM25 + Vector 双路召回,返回带分数的候选列表
252
+ */
253
+ async recallSingle(query, candidateLimit, weights, now, isPrimary) {
254
+ const results = [];
255
+ // 主查询权重 1.0,辅助查询权重 0.6(避免背景信息的结果淹没意图)
256
+ const queryBoost = isPrimary ? 1.0 : 0.6;
257
+ // Log jieba分词结果(仅用于调试)
187
258
  const mod = await import("jieba-wasm");
188
259
  const jiebaInstance = await mod.default;
189
260
  // @ts-ignore - jieba-wasm types are incomplete
190
261
  const rawTokens = jiebaInstance.cut(query);
191
- console.log(`[engram] Jieba 原始分词: [${rawTokens.join(", ")}]`);
192
- // 实际 BM25 使用的是过滤后的 token(bm25.ts 里的 tokenize 函数会做停用词过滤)
262
+ console.log(`[engram] Jieba 分词: [${rawTokens.join(", ")}]`);
193
263
  // ---- 路径 1: BM25 搜短期记忆 ----
194
264
  const bm25Results = await this.bm25.search(query, candidateLimit);
195
- console.log(`[engram] BM25 召回 ${bm25Results.length} 个候选:`);
265
+ console.log(`[engram] BM25 召回 ${bm25Results.length} 个候选:`);
196
266
  for (const [idx, r] of bm25Results.entries()) {
197
267
  const ageDays = Math.max(0, (now.getTime() - new Date(r.entry.date).getTime()) / (1000 * 60 * 60 * 24));
198
268
  const bm25ByScore = normalizeBm25Score(r.score);
199
269
  const bm25ByRank = 1 / (1 + idx);
200
- // 结合“分数映射 + 排名映射”,兼顾可解释性与稳定性
201
270
  const normalized = Math.max(bm25ByScore, bm25ByRank);
202
- const weighted = normalized * weights.text;
271
+ const weighted = normalized * weights.text * queryBoost;
203
272
  const decayed = temporalDecay(weighted, ageDays, this.config.halfLifeDays);
204
- allResults.push({
273
+ results.push({
205
274
  text: r.entry.text,
206
275
  source: "short-term",
207
276
  score: r.score,
@@ -211,33 +280,66 @@ export class RecallEngine {
211
280
  weightedScore: weighted,
212
281
  finalScore: decayed,
213
282
  });
214
- console.log(`[engram] [BM25] raw=${r.score.toFixed(4)} norm=${normalized.toFixed(4)} weighted=${weighted.toFixed(4)} decayed=${decayed.toFixed(4)} → [${r.entry.category}] ${r.entry.text.slice(0, 60)}${r.entry.text.length > 60 ? "..." : ""}`);
283
+ console.log(`[engram] [BM25] raw=${r.score.toFixed(4)} norm=${normalized.toFixed(4)} weighted=${weighted.toFixed(4)} decayed=${decayed.toFixed(4)} boost=${queryBoost} → [${r.entry.category}] ${r.entry.text.slice(0, 60)}${r.entry.text.length > 60 ? "..." : ""}`);
215
284
  }
216
285
  // ---- 路径 2: Vector 搜长期记忆 ----
217
286
  if (this.vectorSearch) {
218
287
  try {
219
288
  const vectorResults = await this.vectorSearch(query, candidateLimit);
220
- console.log(`[engram] Vector 召回 ${vectorResults.length} 个候选:`);
289
+ console.log(`[engram] Vector 召回 ${vectorResults.length} 个候选:`);
221
290
  for (const r of vectorResults) {
222
291
  const ageDays = r.date
223
292
  ? Math.max(0, (now.getTime() - new Date(r.date).getTime()) / (1000 * 60 * 60 * 24))
224
293
  : 0;
225
294
  const normalized = normalizeVectorScore(r.score);
226
- const weighted = normalized * weights.vector;
295
+ const weighted = normalized * weights.vector * queryBoost;
227
296
  const decayed = temporalDecay(weighted, ageDays, this.config.halfLifeDays);
228
- allResults.push({
297
+ results.push({
229
298
  ...r,
230
299
  normalizedScore: normalized,
231
300
  weightedScore: weighted,
232
301
  finalScore: decayed,
233
302
  });
234
- console.log(`[engram] [Vector] raw=${r.score.toFixed(4)} norm=${normalized.toFixed(4)} weighted=${weighted.toFixed(4)} decayed=${decayed.toFixed(4)} → ${r.text.slice(0, 60)}${r.text.length > 60 ? "..." : ""}`);
303
+ console.log(`[engram] [Vector] raw=${r.score.toFixed(4)} norm=${normalized.toFixed(4)} weighted=${weighted.toFixed(4)} decayed=${decayed.toFixed(4)} boost=${queryBoost} → ${r.text.slice(0, 60)}${r.text.length > 60 ? "..." : ""}`);
235
304
  }
236
305
  }
237
306
  catch (err) {
238
- console.error(`[engram] Vector search failed: ${err}`);
307
+ console.error(`[engram] Vector search failed: ${err}`);
239
308
  }
240
309
  }
310
+ return results;
311
+ }
312
+ /**
313
+ * 核心:双路召回(支持查询重写)
314
+ */
315
+ async recall(query) {
316
+ const now = new Date();
317
+ const recallStart = Date.now();
318
+ const candidateMultiplier = 4;
319
+ const weights = normalizeWeights(this.config.vectorWeight, this.config.textWeight);
320
+ console.log(`[engram] Hybrid weights: vector=${weights.vector.toFixed(3)}, bm25=${weights.text.toFixed(3)}`);
321
+ console.log(`\n[engram] ====== 召回开始 ======`);
322
+ console.log(`[engram] Original query: "${query}"`);
323
+ // ---- 查询重写 ----
324
+ const { queries, primary } = await this.rewriteQuery(query);
325
+ const isRewritten = queries.length > 1 || queries[0] !== query;
326
+ if (isRewritten) {
327
+ console.log(`[engram] Query rewritten into ${queries.length} sub-queries (primary=#${primary}):`);
328
+ queries.forEach((q, i) => console.log(`[engram] ${i === primary ? "★" : " "} [${i}] "${q}"`));
329
+ }
330
+ // ---- 多子查询召回 ----
331
+ const allResults = [];
332
+ // 每个子查询分配的候选数:重写时每个子查询少取一些,总量保持一致
333
+ const perQueryLimit = isRewritten
334
+ ? Math.max(4, Math.ceil(this.config.recallTopK * candidateMultiplier / queries.length))
335
+ : this.config.recallTopK * candidateMultiplier;
336
+ for (let i = 0; i < queries.length; i++) {
337
+ const subQuery = queries[i];
338
+ const isPrimary = i === primary;
339
+ console.log(`[engram] --- Sub-query #${i} ${isPrimary ? "(PRIMARY)" : "(secondary)"}: "${subQuery}" ---`);
340
+ const subResults = await this.recallSingle(subQuery, perQueryLimit, weights, now, isPrimary);
341
+ allResults.push(...subResults);
342
+ }
241
343
  if (allResults.length === 0) {
242
344
  console.log(`[engram] 无召回结果`);
243
345
  console.log(`[engram] ====== 召回结束 ======\n`);
@@ -274,7 +376,7 @@ export class RecallEngine {
274
376
  topK.forEach((r, i) => {
275
377
  console.log(`[engram] ${i + 1}. [${r.source}] score=${r.finalScore.toFixed(4)} → ${r.text}`);
276
378
  });
277
- console.log(`[engram] ====== 召回结束 ======\n`);
379
+ console.log(`[engram] ====== 召回结束 (total ${Date.now() - recallStart}ms) ======\n`);
278
380
  // ---- 格式化输出 ----
279
381
  const memoryLines = topK.map((r, i) => {
280
382
  const source = r.source === "short-term" ? "短期" : "长期";
@@ -1 +1 @@
1
- {"version":3,"file":"recall.js","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"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"}
package/dist/settle.js CHANGED
@@ -34,11 +34,17 @@ export async function structurizeShortTerm(opts, date = getLocalDateString()) {
34
34
  const filePath = join(shortTermDir, `${date}.md`);
35
35
  try {
36
36
  const raw = await fs.readFile(filePath, "utf-8");
37
- if (!raw.trim())
37
+ console.log(`[engram:settle] Step1 structurize: reading ${filePath} (${raw.length} chars)`);
38
+ if (!raw.trim()) {
39
+ console.log(`[engram:settle] Step1 structurize: file empty, skipping`);
38
40
  return "No content to structurize.";
41
+ }
39
42
  // 按 ### 拆分段落
40
43
  const sections = raw.split(/(?=^### )/m);
44
+ console.log(`[engram:settle] Step1 structurize: ${sections.length} sections found`);
41
45
  let processedCount = 0;
46
+ let skippedStructured = 0;
47
+ let skippedSystem = 0;
42
48
  const outputSections = [];
43
49
  for (const section of sections) {
44
50
  if (!section.trim())
@@ -46,15 +52,18 @@ export async function structurizeShortTerm(opts, date = getLocalDateString()) {
46
52
  // 已标记结构化的直接保留
47
53
  if (section.includes(STRUCTURED_MARKER)) {
48
54
  outputSections.push(section);
55
+ skippedStructured++;
49
56
  continue;
50
57
  }
51
58
  // 纯系统/compact 记录,标记为已处理
52
59
  if (section.includes("[系统]") && section.includes("Compaction triggered")) {
53
60
  outputSections.push(section.trimEnd() + "\n" + STRUCTURED_MARKER + "\n");
61
+ skippedSystem++;
54
62
  continue;
55
63
  }
56
64
  // 未结构化 → LLM 整理
57
65
  if (!opts.llmCall) {
66
+ console.log(`[engram:settle] Step1 structurize: no llmCall, keeping raw section`);
58
67
  outputSections.push(section);
59
68
  continue;
60
69
  }
@@ -91,45 +100,71 @@ export async function structurizeShortTerm(opts, date = getLocalDateString()) {
91
100
  */
92
101
  export async function extractAndVectorize(opts, date = new Date().toISOString().split("T")[0]) {
93
102
  const filePath = join(opts.workspaceDir, "memory-engram", "short-term", `${date}.md`);
103
+ console.log(`[engram:settle] Step2 extractAndVectorize: date=${date}, file=${filePath}`);
94
104
  try {
95
105
  const content = await fs.readFile(filePath, "utf-8");
96
- if (!content.trim())
106
+ if (!content.trim()) {
107
+ console.log(`[engram:settle] Step2: file empty`);
97
108
  return "No content.";
98
- if (!opts.llmCall || !opts.vectorStore)
109
+ }
110
+ if (!opts.llmCall || !opts.vectorStore) {
111
+ console.log(`[engram:settle] Step2: missing llmCall=${!!opts.llmCall} vectorStore=${!!opts.vectorStore}`);
99
112
  return "No LLM/vector configured.";
113
+ }
100
114
  // 只取已结构化的段落
101
- const structuredContent = content
102
- .split(/(?=^### )/m)
103
- .filter(s => s.includes(STRUCTURED_MARKER))
104
- .join("\n");
105
- if (!structuredContent.trim())
115
+ const allSections = content.split(/(?=^### )/m);
116
+ const structuredSections = allSections.filter(s => s.includes(STRUCTURED_MARKER));
117
+ const structuredContent = structuredSections.join("\n");
118
+ console.log(`[engram:settle] Step2: ${allSections.length} total sections, ${structuredSections.length} structured, ${structuredContent.length} chars`);
119
+ if (!structuredContent.trim()) {
120
+ console.log(`[engram:settle] Step2: no structured content to extract`);
106
121
  return "No structured content to extract.";
122
+ }
107
123
  const systemPrompt = `你是一个信息筛选助手。从以下结构化记忆中筛选出值得长期保留的条目。
108
124
 
109
125
  保留标准:
110
126
  - 包含用户偏好、决策、重要事件、具体信息(地点、金额、人名)
111
- - 去掉纯闲聊、日常寒暄、临时信息
127
+ - 包含用户行为模式和生活习惯(作息时间、运动习惯、饮食规律等)
128
+ - 去掉纯闲聊、临时信息
112
129
 
113
130
  对每条保留的条目,输出 JSON 数组:
114
131
  [{"text": "条目摘要", "category": "分类"}]
115
132
 
116
133
  只输出 JSON,不要其他内容。`;
134
+ console.log(`[engram:settle] Step2: calling LLM for extraction (${structuredContent.length} chars)`);
117
135
  const result = await opts.llmCall(structuredContent, systemPrompt);
118
- const items = JSON.parse(result);
136
+ console.log(`[engram:settle] Step2: LLM returned ${result.length} chars`);
137
+ let items;
138
+ try {
139
+ items = JSON.parse(result);
140
+ console.log(`[engram:settle] Step2: parsed ${items.length} candidate items`);
141
+ }
142
+ catch (parseErr) {
143
+ console.error(`[engram:settle] Step2: JSON parse failed: ${parseErr}, raw="${result.slice(0, 200)}"`);
144
+ return `Skipped: JSON parse failed`;
145
+ }
119
146
  let stored = 0;
120
147
  let duplicates = 0;
148
+ let skippedInvalid = 0;
121
149
  for (const item of items) {
122
150
  if (item.text && item.category) {
151
+ console.log(`[engram:settle] Step2: vectorizing [${item.category}] "${item.text.slice(0, 60)}"`);
123
152
  const result = await opts.vectorStore(item.text, item.category);
124
153
  if (result === "created")
125
154
  stored++;
126
155
  else
127
156
  duplicates++;
128
157
  }
158
+ else {
159
+ skippedInvalid++;
160
+ console.log(`[engram:settle] Step2: skipping invalid item: ${JSON.stringify(item).slice(0, 100)}`);
161
+ }
129
162
  }
163
+ console.log(`[engram:settle] Step2: done. stored=${stored} duplicates=${duplicates} invalid=${skippedInvalid}`);
130
164
  return `Extracted ${stored} items for vectorization (${duplicates} duplicates skipped).`;
131
165
  }
132
166
  catch (err) {
167
+ console.error(`[engram:settle] Step2 extractAndVectorize failed: ${err}`);
133
168
  return `Skipped: ${err}`;
134
169
  }
135
170
  }
@@ -138,21 +173,30 @@ export async function extractAndVectorize(opts, date = new Date().toISOString().
138
173
  */
139
174
  export async function updateProfile(opts, date = new Date().toISOString().split("T")[0]) {
140
175
  const filePath = join(opts.workspaceDir, "memory-engram", "short-term", `${date}.md`);
176
+ console.log(`[engram:settle] Step3 updateProfile: date=${date}`);
141
177
  try {
142
178
  const content = await fs.readFile(filePath, "utf-8");
143
- if (!content.trim())
179
+ if (!content.trim()) {
180
+ console.log(`[engram:settle] Step3: file empty`);
144
181
  return "No content.";
145
- if (!opts.llmCall)
182
+ }
183
+ if (!opts.llmCall) {
184
+ console.log(`[engram:settle] Step3: no llmCall`);
146
185
  return "No LLM configured.";
186
+ }
147
187
  // 只取已结构化的段落
148
188
  const structuredContent = content
149
189
  .split(/(?=^### )/m)
150
190
  .filter(s => s.includes(STRUCTURED_MARKER))
151
191
  .join("\n");
152
- if (!structuredContent.trim())
192
+ if (!structuredContent.trim()) {
193
+ console.log(`[engram:settle] Step3: no structured content`);
153
194
  return "No structured content.";
195
+ }
154
196
  const profileManager = new ProfileManager(opts.workspaceDir);
155
197
  const profile = await profileManager.load();
198
+ const existingTagCount = Object.values(profile.tags).reduce((sum, tags) => sum + tags.length, 0);
199
+ console.log(`[engram:settle] Step3: loaded profile with ${existingTagCount} existing tags across ${Object.keys(profile.tags).length} dimensions`);
156
200
  const systemPrompt = `你是一个用户画像分析助手。从以下记忆中抽取用户标签,更新画像。
157
201
 
158
202
  当前画像:
@@ -171,12 +215,22 @@ ${JSON.stringify(profile.tags, null, 2)}
171
215
  - 不要重复添加已有标签
172
216
 
173
217
  只输出 JSON。`;
218
+ console.log(`[engram:settle] Step3: calling LLM for profile update (${structuredContent.length} chars)`);
174
219
  const result = await opts.llmCall(structuredContent, systemPrompt);
175
- const changes = JSON.parse(result);
220
+ console.log(`[engram:settle] Step3: LLM returned ${result.length} chars`);
221
+ let changes;
222
+ try {
223
+ changes = JSON.parse(result);
224
+ }
225
+ catch (parseErr) {
226
+ console.error(`[engram:settle] Step3: JSON parse failed: ${parseErr}, raw="${result.slice(0, 200)}"`);
227
+ return `Skipped: JSON parse failed`;
228
+ }
176
229
  let added = 0;
177
230
  let removed = 0;
178
231
  if (changes.added) {
179
232
  for (const tag of changes.added) {
233
+ console.log(`[engram:settle] Step3: adding tag [${tag.dimension}] "${tag.value}"`);
180
234
  profileManager.addTag(profile, tag.dimension, tag.value);
181
235
  added++;
182
236
  }
@@ -184,17 +238,23 @@ ${JSON.stringify(profile.tags, null, 2)}
184
238
  if (changes.removed) {
185
239
  for (const tag of changes.removed) {
186
240
  if (profile.tags[tag.dimension]) {
241
+ console.log(`[engram:settle] Step3: removing tag [${tag.dimension}] "${tag.value}"`);
187
242
  profile.tags[tag.dimension] = profile.tags[tag.dimension].filter(t => t.value !== tag.value);
188
243
  removed++;
189
244
  }
190
245
  }
191
246
  }
247
+ if (changes.reason) {
248
+ console.log(`[engram:settle] Step3: reason="${changes.reason}"`);
249
+ }
192
250
  // 衰减未更新的标签
193
251
  profileManager.decayTags(profile, 0.98);
194
252
  await profileManager.save(profile);
253
+ console.log(`[engram:settle] Step3: done. added=${added} removed=${removed}`);
195
254
  return `Profile updated: +${added} -${removed}`;
196
255
  }
197
256
  catch (err) {
257
+ console.error(`[engram:settle] Step3 updateProfile failed: ${err}`);
198
258
  return `Skipped: ${err}`;
199
259
  }
200
260
  }
@@ -275,13 +335,26 @@ export async function archiveShortTerm(opts) {
275
335
  export async function runSettlement(opts) {
276
336
  const date = getLocalDateString();
277
337
  const results = [];
278
- console.log(`[engram] Starting settlement for ${date}...`);
338
+ const startTime = Date.now();
339
+ console.log(`[engram:settle] ====== Settlement START for ${date} ======`);
340
+ console.log(`[engram:settle] Config: shortTermDays=${opts.config.shortTermDays}, halfLifeDays=${opts.config.halfLifeDays}`);
341
+ console.log(`[engram:settle] Has llmCall=${!!opts.llmCall}, has vectorStore=${!!opts.vectorStore}`);
342
+ const stepStart1 = Date.now();
279
343
  results.push(await structurizeShortTerm(opts, date));
344
+ console.log(`[engram:settle] Step1 took ${Date.now() - stepStart1}ms: ${results[results.length - 1]}`);
345
+ const stepStart2 = Date.now();
280
346
  results.push(await extractAndVectorize(opts, date));
347
+ console.log(`[engram:settle] Step2 took ${Date.now() - stepStart2}ms: ${results[results.length - 1]}`);
348
+ const stepStart3 = Date.now();
281
349
  results.push(await updateProfile(opts, date));
350
+ console.log(`[engram:settle] Step3 took ${Date.now() - stepStart3}ms: ${results[results.length - 1]}`);
351
+ const stepStart4 = Date.now();
282
352
  results.push(await generateProfileSummary(opts));
353
+ console.log(`[engram:settle] Step4 took ${Date.now() - stepStart4}ms: ${results[results.length - 1]}`);
354
+ const stepStart5 = Date.now();
283
355
  results.push(await archiveShortTerm(opts));
284
- console.log(`[engram] Settlement complete: ${results.join("; ")}`);
356
+ console.log(`[engram:settle] Step5 took ${Date.now() - stepStart5}ms: ${results[results.length - 1]}`);
357
+ console.log(`[engram:settle] ====== Settlement DONE (total ${Date.now() - startTime}ms) ======`);
285
358
  return results;
286
359
  }
287
360
  //# sourceMappingURL=settle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settle.js","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settle.js","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,27 @@
96
96
  "lancedbDir": {
97
97
  "type": "string",
98
98
  "description": "LanceDB 数据库目录(默认 workspace/memory-engram/lancedb)"
99
+ },
100
+ "queryRewrite": {
101
+ "type": "object",
102
+ "description": "查询重写配置(通过外部脚本对召回查询进行改写/分解)",
103
+ "properties": {
104
+ "enabled": {
105
+ "type": "boolean",
106
+ "description": "是否启用查询重写",
107
+ "default": false
108
+ },
109
+ "scriptPath": {
110
+ "type": "string",
111
+ "description": "重写脚本的绝对路径(需要有执行权限)"
112
+ },
113
+ "timeoutMs": {
114
+ "type": "number",
115
+ "description": "脚本执行超时时间(毫秒)",
116
+ "default": 5000
117
+ }
118
+ },
119
+ "required": ["enabled", "scriptPath"]
99
120
  }
100
121
  }
101
122
  },
@@ -106,6 +127,9 @@
106
127
  "minScore": { "label": "最低分数", "placeholder": "0.4" },
107
128
  "vectorWeight": { "label": "向量权重", "placeholder": "0.7" },
108
129
  "textWeight": { "label": "BM25权重", "placeholder": "0.3" },
109
- "saveStagingFile": { "label": "保存调试文件", "placeholder": "true" }
130
+ "saveStagingFile": { "label": "保存调试文件", "placeholder": "true" },
131
+ "queryRewrite.enabled": { "label": "启用查询重写", "placeholder": "false" },
132
+ "queryRewrite.scriptPath": { "label": "重写脚本路径", "placeholder": "/path/to/query_rewrite.py" },
133
+ "queryRewrite.timeoutMs": { "label": "脚本超时(ms)", "placeholder": "5000" }
110
134
  }
111
135
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scotthuang/engram",
3
- "version": "0.3.18",
3
+ "version": "0.3.20",
4
4
  "description": "分层语义记忆系统 - OpenClaw Plugin",
5
5
  "type": "module",
6
6
  "openclaw": {