@tpsdev-ai/openclaw-flair 0.5.6 → 0.6.0
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/README.md +13 -2
- package/index.ts +7 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Uses Flair's native Harper vector embeddings — no OpenAI API key required.
|
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
- **Semantic search** via `
|
|
9
|
+
- **Semantic search** via `memory_search` → Flair's HNSW vector index
|
|
10
10
|
- **Persistent storage** via `memory_store` → Ed25519-authenticated writes
|
|
11
11
|
- **Memory retrieval** via `memory_get` → fetch by ID
|
|
12
12
|
- **Auto-bootstrap** — injects relevant memories into context at session start
|
|
@@ -69,7 +69,18 @@ In your OpenClaw config (`openclaw.json`):
|
|
|
69
69
|
| `keyPath` | string | auto-resolved | Path to Ed25519 private key |
|
|
70
70
|
| `autoCapture` | boolean | `true` | Auto-capture important info from conversations |
|
|
71
71
|
| `autoRecall` | boolean | `true` | Inject relevant memories at session start |
|
|
72
|
-
| `maxRecallResults` | number | `5` | Max results for `
|
|
72
|
+
| `maxRecallResults` | number | `5` | Max results for `memory_search` |
|
|
73
|
+
|
|
74
|
+
## Tool naming
|
|
75
|
+
|
|
76
|
+
OpenClaw's `coding` profile allows `memory_search` and `memory_get` by canonical name. `memory_store` is not a core tool name, so it's filtered out by the default profile. To surface it to the LLM, add it to your openclaw.json:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
"tools": {
|
|
80
|
+
"profile": "coding",
|
|
81
|
+
"alsoAllow": ["memory_store"]
|
|
82
|
+
}
|
|
83
|
+
```
|
|
73
84
|
| `maxBootstrapTokens` | number | `4000` | Max tokens for bootstrap context injection |
|
|
74
85
|
|
|
75
86
|
## Auth
|
package/index.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* embeddings — no OpenAI API key required.
|
|
7
7
|
*
|
|
8
8
|
* Implements the OpenClaw "memory" plugin slot:
|
|
9
|
-
* -
|
|
9
|
+
* - memory_search → POST /SemanticSearch (semantic search)
|
|
10
10
|
* - memory_store → PUT /Memory/<id> (write + embed)
|
|
11
11
|
* - memory_get → GET /Memory/<id> (fetch by id)
|
|
12
12
|
* - before_agent_start hook → inject recent/relevant memories
|
|
@@ -314,12 +314,12 @@ export default {
|
|
|
314
314
|
const displayAgent = isAutoMode ? "auto (per-session)" : cfg.agentId;
|
|
315
315
|
api.logger.info(`openclaw-flair: registered (agent=${displayAgent}, url=${cfg.url ?? DEFAULT_URL})`);
|
|
316
316
|
|
|
317
|
-
// ──
|
|
317
|
+
// ── memory_search ──────────────────────────────────────────────────────
|
|
318
318
|
|
|
319
319
|
api.registerTool(
|
|
320
320
|
{
|
|
321
|
-
name: "
|
|
322
|
-
label: "Memory
|
|
321
|
+
name: "memory_search",
|
|
322
|
+
label: "Memory Search",
|
|
323
323
|
description:
|
|
324
324
|
"Search long-term memory via Flair semantic search. Use when you need context about user preferences, past decisions, or previously discussed topics.",
|
|
325
325
|
parameters: Type.Object({
|
|
@@ -342,12 +342,12 @@ export default {
|
|
|
342
342
|
details: { count: results.length, memories: results },
|
|
343
343
|
};
|
|
344
344
|
} catch (err: any) {
|
|
345
|
-
api.logger.warn(`openclaw-flair:
|
|
346
|
-
return { content: [{ type: "text", text: `Memory
|
|
345
|
+
api.logger.warn(`openclaw-flair: search failed: ${err.message}`);
|
|
346
|
+
return { content: [{ type: "text", text: `Memory search unavailable: ${err.message}` }], details: { count: 0 } };
|
|
347
347
|
}
|
|
348
348
|
},
|
|
349
349
|
},
|
|
350
|
-
{ name: "
|
|
350
|
+
{ name: "memory_search" },
|
|
351
351
|
);
|
|
352
352
|
|
|
353
353
|
// ── memory_store ───────────────────────────────────────────────────────
|