@morningljn/mnemo 0.1.4 → 0.2.1

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.
Files changed (50) hide show
  1. package/dist/dream.d.ts +2 -0
  2. package/dist/dream.js +20 -0
  3. package/dist/dream.js.map +1 -0
  4. package/dist/init.js +4 -24
  5. package/dist/init.js.map +1 -1
  6. package/dist/resources.d.ts +22 -8
  7. package/dist/resources.js +66 -20
  8. package/dist/resources.js.map +1 -1
  9. package/dist/retriever.js +42 -47
  10. package/dist/retriever.js.map +1 -1
  11. package/dist/schema.d.ts +1 -1
  12. package/dist/schema.js +21 -10
  13. package/dist/schema.js.map +1 -1
  14. package/dist/server.js +73 -6
  15. package/dist/server.js.map +1 -1
  16. package/dist/store.d.ts +59 -1
  17. package/dist/store.js +308 -10
  18. package/dist/store.js.map +1 -1
  19. package/dist/types.d.ts +30 -1
  20. package/docs/superpowers/plans/2026-05-16-memory-dreaming.md +626 -0
  21. package/docs/superpowers/plans/2026-05-16-memory-self-learning.md +932 -0
  22. package/openspec/changes/archive/2026-05-16-memory-dreaming/.openspec.yaml +2 -0
  23. package/openspec/changes/archive/2026-05-16-memory-dreaming/design.md +71 -0
  24. package/openspec/changes/archive/2026-05-16-memory-dreaming/proposal.md +32 -0
  25. package/openspec/changes/archive/2026-05-16-memory-dreaming/specs/compact-search/spec.md +16 -0
  26. package/openspec/changes/archive/2026-05-16-memory-dreaming/specs/dream-cycle/spec.md +38 -0
  27. package/openspec/changes/archive/2026-05-16-memory-dreaming/tasks.md +27 -0
  28. package/openspec/changes/memory-self-learning/.openspec.yaml +2 -0
  29. package/openspec/changes/memory-self-learning/design.md +174 -0
  30. package/openspec/changes/memory-self-learning/proposal.md +35 -0
  31. package/openspec/changes/memory-self-learning/specs/fact-retrieval/spec.md +35 -0
  32. package/openspec/changes/memory-self-learning/specs/fact-summary/spec.md +45 -0
  33. package/openspec/changes/memory-self-learning/specs/length-penalty/spec.md +27 -0
  34. package/openspec/changes/memory-self-learning/specs/retrieval-log/spec.md +41 -0
  35. package/openspec/changes/memory-self-learning/specs/self-learning/spec.md +68 -0
  36. package/openspec/changes/memory-self-learning/tasks.md +56 -0
  37. package/openspec/specs/compact-search/spec.md +16 -0
  38. package/openspec/specs/dream-cycle/spec.md +38 -0
  39. package/package.json +3 -2
  40. package/src/dream.ts +20 -0
  41. package/src/init.ts +4 -24
  42. package/src/resources.ts +77 -21
  43. package/src/retriever.ts +41 -49
  44. package/src/schema.ts +21 -10
  45. package/src/server.ts +81 -7
  46. package/src/store.ts +378 -11
  47. package/src/types.ts +28 -1
  48. package/tests/resource.test.ts +25 -23
  49. package/tests/retriever.test.ts +53 -0
  50. package/tests/store.test.ts +239 -0
package/dist/store.js CHANGED
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import Database from 'better-sqlite3';
12
12
  import { mkdirSync } from 'node:fs';
13
- import { dirname } from 'node:path';
13
+ import { dirname, join } from 'node:path';
14
14
  import { SCHEMA } from './schema.js';
15
15
  // 信任评分常量
16
16
  const HELPFUL_DELTA = 0.05;
@@ -77,11 +77,57 @@ export class MemoryStore {
77
77
  }
78
78
  /** 增量迁移:添加新列(已存在则跳过) */
79
79
  migrateSchema() {
80
+ const addColumn = (table, column, def) => {
81
+ try {
82
+ this.db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${def}`);
83
+ }
84
+ catch { /* 列已存在 */ }
85
+ };
80
86
  // keywords 列(v2)
81
- try {
82
- this.db.exec('ALTER TABLE facts ADD COLUMN keywords TEXT DEFAULT \'[]\'');
87
+ addColumn('facts', 'keywords', "TEXT DEFAULT '[]'");
88
+ // summary
89
+ addColumn('facts', 'summary', 'TEXT DEFAULT NULL');
90
+ // last_retrieved_at 列
91
+ addColumn('facts', 'last_retrieved_at', 'TEXT DEFAULT NULL');
92
+ // FTS5 重建:检查 facts_fts 是否包含 summary 列
93
+ const ftsCols = this.db.pragma('table_info(facts_fts)');
94
+ const hasSummary = ftsCols.some(c => c.name === 'summary');
95
+ if (!hasSummary) {
96
+ // DROP 旧 FTS5 表和触发器,重建含 summary 的新版本
97
+ this.db.exec(`
98
+ DROP TABLE IF EXISTS facts_fts;
99
+ DROP TRIGGER IF EXISTS facts_ai;
100
+ DROP TRIGGER IF EXISTS facts_ad;
101
+ DROP TRIGGER IF EXISTS facts_au;
102
+ `);
103
+ // 重建 FTS5 虚拟表(含 summary,使用 trigram tokenizer 支持中文子串)
104
+ this.db.exec(`
105
+ CREATE VIRTUAL TABLE facts_fts
106
+ USING fts5(content, tags, summary, content=facts, content_rowid=fact_id, tokenize='trigram');
107
+ `);
108
+ // 重填充
109
+ this.db.exec(`
110
+ INSERT INTO facts_fts(rowid, content, tags, summary)
111
+ SELECT fact_id, content, tags, COALESCE(summary, '') FROM facts;
112
+ `);
113
+ // 重建触发器
114
+ this.db.exec(`
115
+ CREATE TRIGGER facts_ai AFTER INSERT ON facts BEGIN
116
+ INSERT INTO facts_fts(rowid, content, tags, summary)
117
+ VALUES (new.fact_id, new.content, new.tags, COALESCE(new.summary, ''));
118
+ END;
119
+ CREATE TRIGGER facts_ad AFTER DELETE ON facts BEGIN
120
+ INSERT INTO facts_fts(facts_fts, rowid, content, tags, summary)
121
+ VALUES ('delete', old.fact_id, old.content, old.tags, COALESCE(old.summary, ''));
122
+ END;
123
+ CREATE TRIGGER facts_au AFTER UPDATE ON facts BEGIN
124
+ INSERT INTO facts_fts(facts_fts, rowid, content, tags, summary)
125
+ VALUES ('delete', old.fact_id, old.content, old.tags, COALESCE(old.summary, ''));
126
+ INSERT INTO facts_fts(rowid, content, tags, summary)
127
+ VALUES (new.fact_id, new.content, new.tags, COALESCE(new.summary, ''));
128
+ END;
129
+ `);
83
130
  }
84
- catch { /* 列已存在 */ }
85
131
  }
86
132
  prepareStatements() {
87
133
  this.stmtInsertFact = this.db.prepare('INSERT INTO facts (content, category, tags, keywords, trust_score) VALUES (?, ?, ?, ?, ?)');
@@ -289,8 +335,8 @@ export class MemoryStore {
289
335
  }
290
336
  params.push(limit);
291
337
  const sql = `
292
- SELECT fact_id, content, category, tags, keywords, trust_score,
293
- retrieval_count, helpful_count, created_at, updated_at
338
+ SELECT fact_id, content, category, tags, keywords, summary, trust_score,
339
+ retrieval_count, helpful_count, last_retrieved_at, created_at, updated_at
294
340
  FROM facts
295
341
  WHERE trust_score >= ?
296
342
  ${categoryClause}
@@ -330,8 +376,8 @@ export class MemoryStore {
330
376
  }
331
377
  params.push(limit);
332
378
  const sql = `
333
- SELECT f.fact_id, f.content, f.category, f.tags, f.keywords, f.trust_score,
334
- f.retrieval_count, f.helpful_count, f.created_at, f.updated_at
379
+ SELECT f.fact_id, f.content, f.category, f.tags, f.keywords, f.summary, f.trust_score,
380
+ f.retrieval_count, f.helpful_count, f.last_retrieved_at, f.created_at, f.updated_at
335
381
  FROM facts f
336
382
  JOIN fact_entities fe ON f.fact_id = fe.fact_id
337
383
  JOIN entities e ON fe.entity_id = e.entity_id
@@ -359,8 +405,8 @@ export class MemoryStore {
359
405
  }
360
406
  params.push(limit);
361
407
  const sql = `
362
- SELECT f.fact_id, f.content, f.category, f.tags, f.keywords, f.trust_score,
363
- f.retrieval_count, f.helpful_count, f.created_at, f.updated_at
408
+ SELECT f.fact_id, f.content, f.category, f.tags, f.keywords, f.summary, f.trust_score,
409
+ f.retrieval_count, f.helpful_count, f.last_retrieved_at, f.created_at, f.updated_at
364
410
  FROM facts f
365
411
  WHERE f.fact_id IN (${intersects})
366
412
  ${categoryClause}
@@ -522,6 +568,256 @@ export class MemoryStore {
522
568
  const row = this.db.prepare('SELECT COUNT(*) as count FROM facts').get();
523
569
  return row.count;
524
570
  }
571
+ /** 记录检索日志并更新 last_retrieved_at */
572
+ logRetrieval(query, results) {
573
+ const resultsJson = JSON.stringify(results);
574
+ this.db.prepare("INSERT INTO retrieval_log (query, results) VALUES (?, ?)").run(query, resultsJson);
575
+ // 更新返回 fact 的 last_retrieved_at
576
+ if (results.length > 0) {
577
+ const ids = results.map(r => r.id);
578
+ const placeholders = ids.map(() => '?').join(',');
579
+ this.db.prepare(`UPDATE facts SET last_retrieved_at = datetime('now', 'localtime') WHERE fact_id IN (${placeholders})`).run(...ids);
580
+ }
581
+ // 自动清理日志
582
+ this.pruneRetrievalLog(5000);
583
+ }
584
+ /** 清理检索日志,保留最近 maxEntries 条 */
585
+ pruneRetrievalLog(maxEntries = 5000) {
586
+ this.db.prepare(`DELETE FROM retrieval_log WHERE id NOT IN (
587
+ SELECT id FROM retrieval_log ORDER BY id DESC LIMIT ?
588
+ )`).run(maxEntries);
589
+ }
590
+ /** 自学习:基于检索统计自动调整 trust_score */
591
+ runLearning() {
592
+ const rows = this.db.prepare('SELECT fact_id, content, summary, retrieval_count, helpful_count, trust_score, last_retrieved_at FROM facts').all();
593
+ let promoted = 0;
594
+ let demoted = 0;
595
+ let aged = 0;
596
+ let unchanged = 0;
597
+ const longFacts = [];
598
+ const now = Date.now();
599
+ for (const row of rows) {
600
+ let changed = false;
601
+ const rate = row.retrieval_count > 0 ? row.helpful_count / row.retrieval_count : 0;
602
+ // Rate-based adjustment (需要 30+ 次检索)
603
+ if (row.retrieval_count > 30) {
604
+ // 高频检索保护:检索 >100 次说明被持续需要,feedback 少不代表无用
605
+ const highFrequencyProtected = row.retrieval_count > 100;
606
+ if (rate < 0.05 && !highFrequencyProtected) {
607
+ const newTrust = clampTrust(row.trust_score * 0.9);
608
+ this.db.prepare('UPDATE facts SET trust_score = ? WHERE fact_id = ?').run(newTrust, row.fact_id);
609
+ demoted++;
610
+ changed = true;
611
+ }
612
+ else if (rate > 0.3) {
613
+ const newTrust = clampTrust(row.trust_score + 0.05);
614
+ this.db.prepare('UPDATE facts SET trust_score = ? WHERE fact_id = ?').run(newTrust, row.fact_id);
615
+ promoted++;
616
+ changed = true;
617
+ }
618
+ }
619
+ // Aging (60 天未检索)
620
+ if (row.last_retrieved_at) {
621
+ const lastRetrieved = new Date(row.last_retrieved_at + 'Z').getTime();
622
+ const daysSinceRetrieval = (now - lastRetrieved) / 86_400_000;
623
+ if (daysSinceRetrieval > 60) {
624
+ const currentTrust = this.db.prepare('SELECT trust_score FROM facts WHERE fact_id = ?').get(row.fact_id);
625
+ const newTrust = clampTrust(currentTrust.trust_score * 0.95);
626
+ this.db.prepare('UPDATE facts SET trust_score = ? WHERE fact_id = ?').run(newTrust, row.fact_id);
627
+ aged++;
628
+ changed = true;
629
+ }
630
+ }
631
+ // last_retrieved_at 为 NULL = 新 fact,不老化
632
+ if (!changed)
633
+ unchanged++;
634
+ // Long facts report (content > 300 字无 summary)
635
+ const matchLength = row.summary ? row.summary.length : row.content.length;
636
+ if (matchLength > 300) {
637
+ longFacts.push({
638
+ id: row.fact_id,
639
+ content_length: row.content.length,
640
+ penalty: Math.min(1.0, 300 / matchLength),
641
+ has_summary: !!row.summary,
642
+ });
643
+ }
644
+ }
645
+ return { promoted, demoted, aged, unchanged, long_facts: longFacts };
646
+ }
647
+ /** 数据质量审计(只读,不修改数据) */
648
+ runAudit() {
649
+ const rows = this.db.prepare('SELECT fact_id, content, summary, retrieval_count, helpful_count, last_retrieved_at FROM facts').all();
650
+ const longWithoutSummary = [];
651
+ const lowHelpfulRate = [];
652
+ const agingCandidates = [];
653
+ const now = Date.now();
654
+ for (const row of rows) {
655
+ // 超 500 字无 summary
656
+ if (row.content.length > 500 && !row.summary) {
657
+ longWithoutSummary.push({ id: row.fact_id, content_length: row.content.length });
658
+ }
659
+ // 低 helpful 率(>30 次检索,rate < 5%)
660
+ if (row.retrieval_count > 30) {
661
+ const rate = row.helpful_count / row.retrieval_count;
662
+ if (rate < 0.05) {
663
+ lowHelpfulRate.push({ id: row.fact_id, rate: Math.round(rate * 1000) / 1000, retrieval_count: row.retrieval_count });
664
+ }
665
+ }
666
+ // 老化候选(>60 天未检索)
667
+ if (row.last_retrieved_at) {
668
+ const lastRetrieved = new Date(row.last_retrieved_at + 'Z').getTime();
669
+ const daysSince = (now - lastRetrieved) / 86_400_000;
670
+ if (daysSince > 60) {
671
+ agingCandidates.push({ id: row.fact_id, last_retrieved_at: row.last_retrieved_at });
672
+ }
673
+ }
674
+ }
675
+ return {
676
+ total_facts: rows.length,
677
+ long_without_summary: longWithoutSummary,
678
+ low_helpful_rate: lowHelpfulRate,
679
+ aging_candidates: agingCandidates,
680
+ };
681
+ }
682
+ /** Dream 前备份数据库(使用 better-sqlite3 内置备份,安全处理 WAL 模式) */
683
+ async backupDatabase() {
684
+ const dbDir = dirname(this.db.name);
685
+ const backupDir = join(dbDir, 'backup');
686
+ mkdirSync(backupDir, { recursive: true });
687
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
688
+ const backupPath = join(backupDir, `dream-${timestamp}.db`);
689
+ await this.db.backup(backupPath);
690
+ return backupPath;
691
+ }
692
+ /** 合并同 category 内 Jaccard > 0.6 的重叠 fact */
693
+ mergeOverlappingFacts() {
694
+ return this.db.transaction(() => {
695
+ const categories = ['identity', 'coding_style', 'tool_pref', 'workflow', 'general'];
696
+ let merged = 0;
697
+ const details = [];
698
+ for (const cat of categories) {
699
+ const rows = this.db.prepare('SELECT fact_id, content, retrieval_count FROM facts WHERE category = ? ORDER BY trust_score DESC').all(cat);
700
+ const removed = new Set();
701
+ for (let i = 0; i < rows.length; i++) {
702
+ if (removed.has(rows[i].fact_id))
703
+ continue;
704
+ const tokensA = this.tokenizeForDedup(rows[i].content);
705
+ for (let j = i + 1; j < rows.length; j++) {
706
+ if (removed.has(rows[j].fact_id))
707
+ continue;
708
+ const tokensB = this.tokenizeForDedup(rows[j].content);
709
+ const sim = this.jaccardSimilarity(tokensA, tokensB);
710
+ if (sim > 0.6) {
711
+ const aHighFreq = rows[i].retrieval_count > 100;
712
+ const bHighFreq = rows[j].retrieval_count > 100;
713
+ if (aHighFreq && bHighFreq)
714
+ continue;
715
+ let keptId, removedId;
716
+ if (bHighFreq) {
717
+ keptId = rows[j].fact_id;
718
+ removedId = rows[i].fact_id;
719
+ }
720
+ else {
721
+ keptId = rows[i].fact_id;
722
+ removedId = rows[j].fact_id;
723
+ }
724
+ this.removeFact(removedId);
725
+ removed.add(removedId);
726
+ details.push({ kept: keptId, removed: removedId, similarity: Math.round(sim * 100) / 100 });
727
+ merged++;
728
+ // 外层 fact 被删除时停止内层循环,避免幽灵操作
729
+ if (removedId === rows[i].fact_id)
730
+ break;
731
+ }
732
+ }
733
+ }
734
+ }
735
+ return { merged, details };
736
+ })();
737
+ }
738
+ /** 分类修正:按关键词规则表将误分类的 fact 挪到正确 category */
739
+ reclassifyFacts() {
740
+ return this.db.transaction(() => {
741
+ const rules = [
742
+ { keywords: ['角色设定', '暖暖', '身份', '编程女朋友', '暖宝宝'], target: 'identity' },
743
+ { keywords: ['编码规范', '代码风格', 'pytest', '文件不超过', '方法不超过'], target: 'coding_style' },
744
+ { keywords: ['工作流', 'OpenSpec', 'writing-plans', 'subagent'], target: 'workflow' },
745
+ { keywords: ['偏好', 'VS Code', '编辑器', 'IDE', '快捷键'], target: 'tool_pref' },
746
+ ];
747
+ const rows = this.db.prepare('SELECT fact_id, content, category FROM facts').all();
748
+ let reclassified = 0;
749
+ for (const row of rows) {
750
+ for (const rule of rules) {
751
+ if (rule.target === row.category)
752
+ continue;
753
+ if (rule.keywords.some(kw => row.content.includes(kw))) {
754
+ this.db.prepare("UPDATE facts SET category = ?, updated_at = datetime('now', 'localtime') WHERE fact_id = ?").run(rule.target, row.fact_id);
755
+ reclassified++;
756
+ break;
757
+ }
758
+ }
759
+ }
760
+ return reclassified;
761
+ })();
762
+ }
763
+ /** 执行完整 dream cycle:备份 → 压缩 → 合并 → 重分类 → 报告 */
764
+ async runDream(options) {
765
+ if (!options?.skipBackup) {
766
+ await this.backupDatabase();
767
+ }
768
+ const compressed = this.compressLongFacts();
769
+ const mergeResult = this.mergeOverlappingFacts();
770
+ const reclassified = this.reclassifyFacts();
771
+ const stats = this.db.prepare(`
772
+ SELECT COUNT(*) as total,
773
+ AVG(trust_score) as avg_trust,
774
+ AVG(length(content)) as avg_length
775
+ FROM facts
776
+ `).get();
777
+ const categories = ['identity', 'coding_style', 'tool_pref', 'workflow', 'general'];
778
+ const coverage = {};
779
+ for (const cat of categories) {
780
+ const row = this.db.prepare('SELECT COUNT(*) as c FROM facts WHERE category = ?').get(cat);
781
+ coverage[cat] = row.c;
782
+ }
783
+ return {
784
+ merged: mergeResult.merged,
785
+ compressed,
786
+ reclassified,
787
+ deleted: mergeResult.merged,
788
+ mergeDetails: mergeResult.details,
789
+ health: {
790
+ total: stats.total,
791
+ avg_trust: Math.round((stats.avg_trust ?? 0) * 100) / 100,
792
+ avg_length: Math.round(stats.avg_length ?? 0),
793
+ coverage: coverage,
794
+ },
795
+ };
796
+ }
797
+ /** 压缩长 fact:content > 200 字且无 summary 的,自动提取前 2 句作为 summary */
798
+ compressLongFacts() {
799
+ const rows = this.db.prepare("SELECT fact_id, content FROM facts WHERE length(content) > 200 AND (summary IS NULL OR summary = '')").all();
800
+ let compressed = 0;
801
+ for (const row of rows) {
802
+ const summary = this.extractSummary(row.content);
803
+ if (summary) {
804
+ this.db.prepare('UPDATE facts SET summary = ? WHERE fact_id = ?').run(summary, row.fact_id);
805
+ compressed++;
806
+ }
807
+ }
808
+ return compressed;
809
+ }
810
+ /** 从 content 提取前 2 个完整句子(总长 ≤ 150 字) */
811
+ extractSummary(content) {
812
+ const sentences = content.split(/[。\n.]/).map(s => s.trim()).filter(s => s.length > 0);
813
+ if (sentences.length === 0)
814
+ return null;
815
+ let summary = sentences[0];
816
+ if (sentences.length > 1 && summary.length + sentences[1].length <= 148) {
817
+ summary += '。' + sentences[1];
818
+ }
819
+ return summary.length <= 150 ? summary : summary.slice(0, 147) + '...';
820
+ }
525
821
  /** 获取数据库连接(供 FactRetriever 直接使用) */
526
822
  get connection() {
527
823
  return this.db;
@@ -685,9 +981,11 @@ export class MemoryStore {
685
981
  category: row.category,
686
982
  tags: row.tags,
687
983
  keywords: row.keywords,
984
+ summary: row.summary ?? null,
688
985
  trustScore: row.trust_score,
689
986
  retrievalCount: row.retrieval_count,
690
987
  helpfulCount: row.helpful_count,
988
+ lastRetrievedAt: row.last_retrieved_at ?? null,
691
989
  createdAt: row.created_at,
692
990
  updatedAt: row.updated_at,
693
991
  };
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,9 +7,11 @@ export interface Fact {
7
7
  category: FactCategory;
8
8
  tags: string;
9
9
  keywords: string;
10
+ summary: string | null;
10
11
  trustScore: number;
11
12
  retrievalCount: number;
12
13
  helpfulCount: number;
14
+ lastRetrievedAt: string | null;
13
15
  createdAt: string;
14
16
  updatedAt: string;
15
17
  }
@@ -46,7 +48,7 @@ export interface RetrieverOptions {
46
48
  }
47
49
  /** fact_store 工具调用参数 */
48
50
  export interface FactStoreArgs {
49
- action: 'add' | 'search' | 'probe' | 'related' | 'reason' | 'contradict' | 'update' | 'remove' | 'list';
51
+ action: 'add' | 'search' | 'probe' | 'related' | 'reason' | 'contradict' | 'update' | 'remove' | 'list' | 'learn' | 'audit' | 'dream';
50
52
  content?: string | string[];
51
53
  query?: string;
52
54
  entity?: string;
@@ -54,6 +56,7 @@ export interface FactStoreArgs {
54
56
  fact_id?: number | number[];
55
57
  category?: string;
56
58
  tags?: string;
59
+ summary?: string;
57
60
  trust_delta?: number;
58
61
  min_trust?: number;
59
62
  limit?: number;
@@ -70,3 +73,29 @@ export interface SecurityScanResult {
70
73
  hasPii: boolean;
71
74
  injectionAttempts: string[];
72
75
  }
76
+ /** Dream 整理报告 */
77
+ export interface DreamReport {
78
+ merged: number;
79
+ compressed: number;
80
+ reclassified: number;
81
+ deleted: number;
82
+ mergeDetails: Array<{
83
+ kept: number;
84
+ removed: number;
85
+ similarity: number;
86
+ }>;
87
+ health: {
88
+ total: number;
89
+ avg_trust: number;
90
+ avg_length: number;
91
+ coverage: Record<FactCategory, number>;
92
+ };
93
+ }
94
+ /** 精简搜索结果 */
95
+ export interface CompactFactResult {
96
+ factId: number;
97
+ display: string;
98
+ category: FactCategory;
99
+ trustScore: number;
100
+ score: number;
101
+ }