memorylake-openclaw 0.0.15-beta.2 → 1.0.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.
- package/docs/openclaw.mdx +3 -3
- package/index.ts +7 -6
- package/package.json +1 -1
package/docs/openclaw.mdx
CHANGED
|
@@ -54,7 +54,7 @@ The agent gets eight tools it can call during conversations:
|
|
|
54
54
|
| `memory_forget` | Delete a memory by ID |
|
|
55
55
|
| `document_search` | Search project documents for relevant paragraphs, tables, and figures |
|
|
56
56
|
| `advanced_web_search` | Optional web search tool backed by the unified search API with plugin-level domain and locale constraints |
|
|
57
|
-
| `open_data_search` |
|
|
57
|
+
| `open_data_search` | Search across open datasets — academic, clinical, drug, financial, economic, and more — routed to the appropriate proprietary data source based on the `dataset` field |
|
|
58
58
|
|
|
59
59
|
<Note>`open_data_search` requires the project to have at least one open data industry configured in MemoryLake. The `dataset` parameter is required and validated against the project's subscribed datasets at call time. The agent is automatically informed of available datasets via context injection at the start of each session. Supported datasets: `research/academic`, `clinical/trials`, `drug/database`, `financial/markets`, `company/fundamentals`, `economic/data`, `patents/ip`.</Note>
|
|
60
60
|
|
|
@@ -86,7 +86,7 @@ openclaw memorylake stats
|
|
|
86
86
|
| `webSearchCountry` | `string` | — | Optional ISO country code for localizing `advanced_web_search` |
|
|
87
87
|
| `webSearchTimezone` | `string` | — | Optional IANA timezone for localizing `advanced_web_search` |
|
|
88
88
|
|
|
89
|
-
<Note>`advanced_web_search`
|
|
89
|
+
<Note>`advanced_web_search` is registered as an optional OpenClaw tool, so it must be explicitly allowed before an agent can call it.</Note>
|
|
90
90
|
|
|
91
91
|
## Key Features
|
|
92
92
|
|
|
@@ -98,7 +98,7 @@ openclaw memorylake stats
|
|
|
98
98
|
|
|
99
99
|
## Conclusion
|
|
100
100
|
|
|
101
|
-
The `memorylake-openclaw` plugin gives OpenClaw agents persistent memory with minimal setup. Your agents can remember user preferences, facts, and context across sessions automatically — and
|
|
101
|
+
The `memorylake-openclaw` plugin gives OpenClaw agents persistent memory with minimal setup. Your agents can remember user preferences, facts, and context across sessions automatically — and search across a wide range of open datasets when deeper external knowledge is needed.
|
|
102
102
|
|
|
103
103
|
{/*<CardGroup cols={2}>
|
|
104
104
|
<Card title="MemoryLake" icon="brain" href="https://app.memorylake.ai">
|
package/index.ts
CHANGED
|
@@ -366,10 +366,12 @@ class PlatformProvider implements MemoryLakeProvider {
|
|
|
366
366
|
if (options.threshold != null) body.threshold = options.threshold;
|
|
367
367
|
if (options.rerank != null) body.rerank = options.rerank;
|
|
368
368
|
|
|
369
|
+
|
|
369
370
|
const resp = await this.http
|
|
370
371
|
.post(`${this.basePath}/search`, { json: body })
|
|
371
372
|
.json<ApiResponse>();
|
|
372
373
|
if (!resp.success) throw new Error(resp.message ?? "search failed");
|
|
374
|
+
|
|
373
375
|
return normalizeSearchResults(resp.data);
|
|
374
376
|
}
|
|
375
377
|
|
|
@@ -481,8 +483,7 @@ class PlatformProvider implements MemoryLakeProvider {
|
|
|
481
483
|
};
|
|
482
484
|
const resp = await this.http
|
|
483
485
|
.get(this.conflictsPath, {
|
|
484
|
-
searchParams
|
|
485
|
-
headers: { "X-User-ID": userId },
|
|
486
|
+
searchParams
|
|
486
487
|
})
|
|
487
488
|
.json<ApiResponse<ConflictListResponse>>();
|
|
488
489
|
if (!resp.success) throw new Error(resp.message ?? "list conflicts failed");
|
|
@@ -568,11 +569,12 @@ function buildDocumentContext(
|
|
|
568
569
|
|
|
569
570
|
for (const result of results) {
|
|
570
571
|
const source = result.document_name ?? result.source_document?.file_name ?? "unknown";
|
|
572
|
+
const docId = result.document_id ?? "unknown";
|
|
571
573
|
const highlight = result.highlight;
|
|
572
574
|
|
|
573
575
|
if (result.type === "table") {
|
|
574
576
|
const title = result.title || "Untitled Table";
|
|
575
|
-
parts.push(`### Table: ${title} (from ${source})`);
|
|
577
|
+
parts.push(`### Table: ${title} (from ${source}, doc_id: ${docId})`);
|
|
576
578
|
if (result.footnote) parts.push(`Note: ${result.footnote}`);
|
|
577
579
|
|
|
578
580
|
for (const innerTable of highlight?.inner_tables ?? []) {
|
|
@@ -586,14 +588,14 @@ function buildDocumentContext(
|
|
|
586
588
|
if (chunk.text) parts.push(chunk.text.slice(0, maxChunkLength));
|
|
587
589
|
}
|
|
588
590
|
} else if (result.type === "paragraph") {
|
|
589
|
-
parts.push(`### Paragraph (from ${source}):`);
|
|
591
|
+
parts.push(`### Paragraph (from ${source}, doc_id: ${docId}):`);
|
|
590
592
|
for (const chunk of highlight?.chunks ?? []) {
|
|
591
593
|
if (chunk.text) parts.push(chunk.text.slice(0, maxChunkLength));
|
|
592
594
|
}
|
|
593
595
|
} else if (result.type === "figure") {
|
|
594
596
|
const figure = highlight?.figure;
|
|
595
597
|
if (figure) {
|
|
596
|
-
parts.push(`### Figure (from ${source}):`);
|
|
598
|
+
parts.push(`### Figure (from ${source}, doc_id: ${docId}):`);
|
|
597
599
|
if (figure.caption) parts.push(`Caption: ${figure.caption}`);
|
|
598
600
|
const text = figure.text || figure.summary_text || "";
|
|
599
601
|
if (text) parts.push(text);
|
|
@@ -1505,7 +1507,6 @@ const memoryPlugin = {
|
|
|
1505
1507
|
}
|
|
1506
1508
|
},
|
|
1507
1509
|
}),
|
|
1508
|
-
{ optional: true },
|
|
1509
1510
|
);
|
|
1510
1511
|
|
|
1511
1512
|
// ========================================================================
|