@memtensor/memos-local-openclaw-plugin 0.1.3 → 0.1.5
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/.env.example +13 -5
- package/README.md +283 -91
- package/dist/capture/index.d.ts +5 -7
- package/dist/capture/index.d.ts.map +1 -1
- package/dist/capture/index.js +72 -43
- package/dist/capture/index.js.map +1 -1
- package/dist/ingest/dedup.d.ts +8 -0
- package/dist/ingest/dedup.d.ts.map +1 -1
- package/dist/ingest/dedup.js +21 -0
- package/dist/ingest/dedup.js.map +1 -1
- package/dist/ingest/providers/anthropic.d.ts +16 -0
- package/dist/ingest/providers/anthropic.d.ts.map +1 -1
- package/dist/ingest/providers/anthropic.js +214 -1
- package/dist/ingest/providers/anthropic.js.map +1 -1
- package/dist/ingest/providers/bedrock.d.ts +16 -5
- package/dist/ingest/providers/bedrock.d.ts.map +1 -1
- package/dist/ingest/providers/bedrock.js +210 -6
- package/dist/ingest/providers/bedrock.js.map +1 -1
- package/dist/ingest/providers/gemini.d.ts +16 -0
- package/dist/ingest/providers/gemini.d.ts.map +1 -1
- package/dist/ingest/providers/gemini.js +202 -1
- package/dist/ingest/providers/gemini.js.map +1 -1
- package/dist/ingest/providers/index.d.ts +31 -0
- package/dist/ingest/providers/index.d.ts.map +1 -1
- package/dist/ingest/providers/index.js +134 -4
- package/dist/ingest/providers/index.js.map +1 -1
- package/dist/ingest/providers/openai.d.ts +24 -0
- package/dist/ingest/providers/openai.d.ts.map +1 -1
- package/dist/ingest/providers/openai.js +255 -1
- package/dist/ingest/providers/openai.js.map +1 -1
- package/dist/ingest/task-processor.d.ts +65 -0
- package/dist/ingest/task-processor.d.ts.map +1 -0
- package/dist/ingest/task-processor.js +354 -0
- package/dist/ingest/task-processor.js.map +1 -0
- package/dist/ingest/worker.d.ts +3 -1
- package/dist/ingest/worker.d.ts.map +1 -1
- package/dist/ingest/worker.js +131 -23
- package/dist/ingest/worker.js.map +1 -1
- package/dist/recall/engine.d.ts +1 -0
- package/dist/recall/engine.d.ts.map +1 -1
- package/dist/recall/engine.js +22 -11
- package/dist/recall/engine.js.map +1 -1
- package/dist/recall/mmr.d.ts.map +1 -1
- package/dist/recall/mmr.js +3 -1
- package/dist/recall/mmr.js.map +1 -1
- package/dist/skill/bundled-memory-guide.d.ts +6 -0
- package/dist/skill/bundled-memory-guide.d.ts.map +1 -0
- package/dist/skill/bundled-memory-guide.js +95 -0
- package/dist/skill/bundled-memory-guide.js.map +1 -0
- package/dist/skill/evaluator.d.ts +31 -0
- package/dist/skill/evaluator.d.ts.map +1 -0
- package/dist/skill/evaluator.js +194 -0
- package/dist/skill/evaluator.js.map +1 -0
- package/dist/skill/evolver.d.ts +22 -0
- package/dist/skill/evolver.d.ts.map +1 -0
- package/dist/skill/evolver.js +193 -0
- package/dist/skill/evolver.js.map +1 -0
- package/dist/skill/generator.d.ts +25 -0
- package/dist/skill/generator.d.ts.map +1 -0
- package/dist/skill/generator.js +477 -0
- package/dist/skill/generator.js.map +1 -0
- package/dist/skill/installer.d.ts +16 -0
- package/dist/skill/installer.d.ts.map +1 -0
- package/dist/skill/installer.js +89 -0
- package/dist/skill/installer.js.map +1 -0
- package/dist/skill/upgrader.d.ts +19 -0
- package/dist/skill/upgrader.d.ts.map +1 -0
- package/dist/skill/upgrader.js +263 -0
- package/dist/skill/upgrader.js.map +1 -0
- package/dist/skill/validator.d.ts +29 -0
- package/dist/skill/validator.d.ts.map +1 -0
- package/dist/skill/validator.js +227 -0
- package/dist/skill/validator.js.map +1 -0
- package/dist/storage/sqlite.d.ts +141 -1
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +664 -7
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/types.d.ts +93 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/dist/viewer/html.d.ts +1 -1
- package/dist/viewer/html.d.ts.map +1 -1
- package/dist/viewer/html.js +2391 -159
- package/dist/viewer/html.js.map +1 -1
- package/dist/viewer/server.d.ts +16 -0
- package/dist/viewer/server.d.ts.map +1 -1
- package/dist/viewer/server.js +346 -3
- package/dist/viewer/server.js.map +1 -1
- package/index.ts +572 -89
- package/openclaw.plugin.json +20 -45
- package/package.json +3 -4
- package/skill/memos-memory-guide/SKILL.md +86 -0
- package/src/capture/index.ts +85 -45
- package/src/ingest/dedup.ts +29 -0
- package/src/ingest/providers/anthropic.ts +258 -1
- package/src/ingest/providers/bedrock.ts +256 -6
- package/src/ingest/providers/gemini.ts +252 -1
- package/src/ingest/providers/index.ts +156 -8
- package/src/ingest/providers/openai.ts +304 -1
- package/src/ingest/task-processor.ts +396 -0
- package/src/ingest/worker.ts +145 -34
- package/src/recall/engine.ts +23 -12
- package/src/recall/mmr.ts +3 -1
- package/src/skill/bundled-memory-guide.ts +91 -0
- package/src/skill/evaluator.ts +220 -0
- package/src/skill/evolver.ts +169 -0
- package/src/skill/generator.ts +506 -0
- package/src/skill/installer.ts +59 -0
- package/src/skill/upgrader.ts +257 -0
- package/src/skill/validator.ts +227 -0
- package/src/storage/sqlite.ts +802 -7
- package/src/types.ts +96 -0
- package/src/viewer/html.ts +2391 -159
- package/src/viewer/server.ts +346 -3
- package/SKILL.md +0 -43
- package/www/index.html +0 -632
package/src/types.ts
CHANGED
|
@@ -13,6 +13,8 @@ export interface ConversationMessage {
|
|
|
13
13
|
|
|
14
14
|
// ─── Chunk & Storage ───
|
|
15
15
|
|
|
16
|
+
export type DedupStatus = "active" | "duplicate" | "merged";
|
|
17
|
+
|
|
16
18
|
export interface Chunk {
|
|
17
19
|
id: string;
|
|
18
20
|
sessionKey: string;
|
|
@@ -23,10 +25,33 @@ export interface Chunk {
|
|
|
23
25
|
kind: ChunkKind;
|
|
24
26
|
summary: string;
|
|
25
27
|
embedding: number[] | null;
|
|
28
|
+
taskId: string | null;
|
|
29
|
+
skillId: string | null;
|
|
30
|
+
dedupStatus: DedupStatus;
|
|
31
|
+
dedupTarget: string | null;
|
|
32
|
+
dedupReason: string | null;
|
|
33
|
+
mergeCount: number;
|
|
34
|
+
lastHitAt: number | null;
|
|
35
|
+
mergeHistory: string;
|
|
26
36
|
createdAt: number;
|
|
27
37
|
updatedAt: number;
|
|
28
38
|
}
|
|
29
39
|
|
|
40
|
+
// ─── Task ───
|
|
41
|
+
|
|
42
|
+
export type TaskStatus = "active" | "completed" | "skipped";
|
|
43
|
+
|
|
44
|
+
export interface Task {
|
|
45
|
+
id: string;
|
|
46
|
+
sessionKey: string;
|
|
47
|
+
title: string;
|
|
48
|
+
summary: string;
|
|
49
|
+
status: TaskStatus;
|
|
50
|
+
startedAt: number;
|
|
51
|
+
endedAt: number | null;
|
|
52
|
+
updatedAt: number;
|
|
53
|
+
}
|
|
54
|
+
|
|
30
55
|
export type ChunkKind =
|
|
31
56
|
| "paragraph"
|
|
32
57
|
| "code_block"
|
|
@@ -50,6 +75,8 @@ export interface SearchHit {
|
|
|
50
75
|
original_excerpt: string;
|
|
51
76
|
ref: ChunkRef;
|
|
52
77
|
score: number;
|
|
78
|
+
taskId: string | null;
|
|
79
|
+
skillId: string | null;
|
|
53
80
|
source: {
|
|
54
81
|
ts: number;
|
|
55
82
|
role: Role;
|
|
@@ -143,8 +170,68 @@ export interface EmbeddingConfig extends ProviderConfig {
|
|
|
143
170
|
retry?: number;
|
|
144
171
|
}
|
|
145
172
|
|
|
173
|
+
// ─── Skill ───
|
|
174
|
+
|
|
175
|
+
export type SkillStatus = "active" | "archived" | "draft";
|
|
176
|
+
export type SkillUpgradeType = "create" | "refine" | "extend" | "fix";
|
|
177
|
+
export type TaskSkillRelation = "generated_from" | "evolved_from" | "applied_to";
|
|
178
|
+
|
|
179
|
+
export interface Skill {
|
|
180
|
+
id: string;
|
|
181
|
+
name: string;
|
|
182
|
+
description: string;
|
|
183
|
+
version: number;
|
|
184
|
+
status: SkillStatus;
|
|
185
|
+
tags: string;
|
|
186
|
+
sourceType: "task" | "manual";
|
|
187
|
+
dirPath: string;
|
|
188
|
+
installed: number;
|
|
189
|
+
qualityScore: number | null;
|
|
190
|
+
createdAt: number;
|
|
191
|
+
updatedAt: number;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface SkillVersion {
|
|
195
|
+
id: string;
|
|
196
|
+
skillId: string;
|
|
197
|
+
version: number;
|
|
198
|
+
content: string;
|
|
199
|
+
changelog: string;
|
|
200
|
+
changeSummary: string;
|
|
201
|
+
upgradeType: SkillUpgradeType;
|
|
202
|
+
sourceTaskId: string | null;
|
|
203
|
+
metrics: string;
|
|
204
|
+
qualityScore: number | null;
|
|
205
|
+
createdAt: number;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export interface SkillGenerateOutput {
|
|
209
|
+
skill_md: string;
|
|
210
|
+
scripts: Array<{ filename: string; content: string }>;
|
|
211
|
+
references: Array<{ filename: string; content: string }>;
|
|
212
|
+
evals: Array<{ id: number; prompt: string; expectations: string[] }>;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export interface TaskSkillLink {
|
|
216
|
+
taskId: string;
|
|
217
|
+
skillId: string;
|
|
218
|
+
relation: TaskSkillRelation;
|
|
219
|
+
versionAt: number;
|
|
220
|
+
createdAt: number;
|
|
221
|
+
}
|
|
222
|
+
|
|
146
223
|
// ─── Plugin Config ───
|
|
147
224
|
|
|
225
|
+
export interface SkillEvolutionConfig {
|
|
226
|
+
enabled?: boolean;
|
|
227
|
+
autoEvaluate?: boolean;
|
|
228
|
+
minChunksForEval?: number;
|
|
229
|
+
minConfidence?: number;
|
|
230
|
+
maxSkillLines?: number;
|
|
231
|
+
autoInstall?: boolean;
|
|
232
|
+
summarizer?: SummarizerConfig;
|
|
233
|
+
}
|
|
234
|
+
|
|
148
235
|
export interface MemosLocalConfig {
|
|
149
236
|
summarizer?: SummarizerConfig;
|
|
150
237
|
embedding?: EmbeddingConfig;
|
|
@@ -166,6 +253,7 @@ export interface MemosLocalConfig {
|
|
|
166
253
|
capture?: {
|
|
167
254
|
evidenceWrapperTag?: string;
|
|
168
255
|
};
|
|
256
|
+
skillEvolution?: SkillEvolutionConfig;
|
|
169
257
|
}
|
|
170
258
|
|
|
171
259
|
// ─── Defaults ───
|
|
@@ -188,6 +276,14 @@ export const DEFAULTS = {
|
|
|
188
276
|
localEmbeddingModel: "Xenova/all-MiniLM-L6-v2",
|
|
189
277
|
localEmbeddingDimensions: 384,
|
|
190
278
|
toolResultMaxChars: 2000,
|
|
279
|
+
taskIdleTimeoutMs: 2 * 60 * 60 * 1000, // 2 hour gap → new task
|
|
280
|
+
taskSummaryMaxTokens: 2000,
|
|
281
|
+
skillEvolutionEnabled: true,
|
|
282
|
+
skillAutoEvaluate: true,
|
|
283
|
+
skillMinChunksForEval: 6,
|
|
284
|
+
skillMinConfidence: 0.7,
|
|
285
|
+
skillMaxLines: 400,
|
|
286
|
+
skillAutoInstall: false,
|
|
191
287
|
} as const;
|
|
192
288
|
|
|
193
289
|
// ─── Plugin Hooks (OpenClaw integration) ───
|