openclaw-plugin-memory-engine 4.0.0 → 4.1.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 CHANGED
@@ -1,48 +1,42 @@
1
- # Memory Engine TS — OpenClaw Plugin
1
+ # Memory Engine — OpenClaw Plugin
2
2
 
3
- Native memory engine for OpenClaw: 19 agent tools, event-driven session ingest,
4
- and a conservative night curator — all in one plugin, no external MCP server.
3
+ Native memory engine for OpenClaw: **45 agent tools**, event-driven session ingest,
4
+ semantic search, backup/import/export, learning, a conservative curator, and a
5
+ native Control UI page — all in one plugin, no external MCP server.
6
+
7
+ Successor of the Python `memory-engine` MCP server (same versioning lineage).
5
8
 
6
9
  ## Features
7
10
 
8
- - **17 memory tools**: recall (FTS + ranking), working_set (token-budgeted context pack),
9
- remember, get_atom, list_atoms, link/search_graph (knowledge graph), contradict,
10
- impact, preference_search, error_check/error_log (error memory), stats,
11
- session_summary/generate_session_digest
12
- - **Curator (v3.1)**: `memory_curator_run` — conservative maintenance pass
13
- (extractive body_compact, auto-bonds by domain/keyword/pattern, isolated atom
14
- classification, promotion and merge candidates). Dry-run by default.
15
- - **Cognitive status**: `memory_cognitive_status` — graph health metrics + recommendations
16
- - **Event hooks**: buffers chat messages and periodically (60s, only when changed)
17
- ingests `session_msg` atoms and generates/refreshes `session_digest` atoms (7-day TTL)
11
+ **45 memory tools:**
12
+ - **Core**: recall (FTS + ranking, optional semantic merge), working_set (token-budgeted context pack), remember, get_atom, list_atoms, stats, memory_summary
13
+ - **Knowledge graph**: link, search_graph, contradict, impact, suggest_bonds(+all), find_similar
14
+ - **Curator**: memory_curator_run — conservative maintenance (extractive body_compact, auto-bonds by domain/keyword/pattern, isolated atom classification, promotion and merge candidates). Dry-run by default. memory_cognitive_status for graph health metrics
15
+ - **Semantic** (Ollama): semantic_search with FTS fallback, reindex_embeddings, optional `semantic:true` on recall
16
+ - **Maintenance**: decay_run, cleanup_sessions, cleanup_duplicates, merge_atoms, delete_atom (soft by default), unlink, update_domain, classify_memory_tier
17
+ - **Backup**: backup_database, restore_database (confirm required), list_backups, export_all, export_atom, import_data, import_markdown
18
+ - **Learning**: learning_run, ask_pending, answer_human (human_questions flow)
19
+ - **Errors**: error_check, error_log, error_list, list_contradictions, preference_search
18
20
 
19
- ## Install
21
+ **Native Control UI page** (5 tabs): live cognitive stats, FTS atom search with type/domain filters, atom detail with bonds, curator dry-run/apply, backup management, pending human questions with inline answers.
20
22
 
21
- ```bash
22
- openclaw plugins install memory-engine-ts
23
- ```
23
+ **Event hooks**: buffers chat messages and periodically (60s, only when changed) ingests `session_msg` atoms and refreshes `session_digest` atoms (7-day TTL).
24
24
 
25
- Or from a local package:
25
+ ## Install
26
26
 
27
27
  ```bash
28
- openclaw plugins install ./openclaw-plugin-memory-engine-ts-3.1.0.tgz
28
+ openclaw plugins install clawhub:openclaw-plugin-memory-engine
29
+ # or from npm
30
+ openclaw plugins install npm:openclaw-plugin-memory-engine
29
31
  ```
30
32
 
31
33
  ## Configuration
32
34
 
33
- The database path is read from the `MEMORY_DB_PATH` environment variable
34
- (default `/data/memory.db`). The SQLite database is created with the expected
35
- schema on first use.
36
-
37
- Curator tuning (optional) via plugin config `curator`: max_atoms_per_run,
38
- compact_min_body_chars, bond_limit_per_atom, stale_after_days and more —
39
- sensible defaults apply.
40
-
41
- ## Session hooks
35
+ - `MEMORY_DB_PATH` — SQLite database path (default `/data/memory.db`, schema created on first use)
36
+ - `OLLAMA_HOST` — Ollama base URL for embeddings (default `http://ollama:11434`)
37
+ - `ME_EMBED_MODEL` — embedding model (default `nomic-embed-text`)
42
38
 
43
- - `message_received` / `agent_end`: buffer chat content per session
44
- - every 60s: ingest new messages as episodic `session_msg` atoms (7-day TTL)
45
- and refresh the session digest atom
39
+ Enable the plugin UI page once via **Control UI → Settings → Labs → Custom plugin UI**.
46
40
 
47
41
  ## License
48
42
 
package/dist/tools.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Python server and are exposed as explicit pointers.
5
5
  */
6
6
  import { DatabaseSync } from "node:sqlite";
7
- export declare const VERSION = "4.0.0";
7
+ export declare const VERSION = "4.1.0";
8
8
  export declare function createTools(dbPath: string): {
9
9
  __db: DatabaseSync;
10
10
  version: () => {
package/dist/tools.js CHANGED
@@ -6,7 +6,7 @@
6
6
  import { DatabaseSync } from "node:sqlite";
7
7
  import { Engine } from "./engine.js";
8
8
  import { buildSessionDigest } from "./digest.js";
9
- export const VERSION = "4.0.0";
9
+ export const VERSION = "4.1.0";
10
10
  export function createTools(dbPath) {
11
11
  const db = new DatabaseSync(dbPath);
12
12
  const engine = new Engine(db, {});
@@ -2,7 +2,7 @@
2
2
  "id": "memory-engine",
3
3
  "name": "Memory Engine",
4
4
  "description": "Native Memory Engine: 45 memory tools, session ingest/digest, curator and Control UI.",
5
- "version": "4.0.0",
5
+ "version": "4.1.0",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-plugin-memory-engine",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "tsc -p tsconfig.json && openclaw plugins build",
@@ -9,10 +9,13 @@
9
9
  "test": "vitest run --config ./vitest.config.ts"
10
10
  },
11
11
  "files": [
12
- "README.md",
13
- "assets",
14
12
  "dist",
15
- "openclaw.plugin.json"
13
+ "!dist/index.test.js",
14
+ "!dist/index.test.d.ts",
15
+ "openclaw.plugin.json",
16
+ "README.md",
17
+ "LICENSE",
18
+ "assets"
16
19
  ],
17
20
  "peerDependencies": {
18
21
  "openclaw": ">=2026.5.17"
@@ -37,7 +40,7 @@
37
40
  },
38
41
  "controlUi": "./src/control-ui.ts"
39
42
  },
40
- "description": "Native Memory Engine for OpenClaw: 19 memory tools + session ingest/digest + curator",
43
+ "description": "Native Memory Engine for OpenClaw: 45 memory tools (recall, working set, curator, semantic, backup, learning) + session ingest/digest + Control UI",
41
44
  "license": "MIT",
42
45
  "keywords": [
43
46
  "openclaw",
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import entry from "./index.js";
3
- import { getToolPluginMetadata } from "openclaw/plugin-sdk/tool-plugin";
4
- describe("memory-engine-ts", () => {
5
- it("declares tool metadata", () => {
6
- expect(getToolPluginMetadata(entry)?.tools.map((tool) => tool.name)).toEqual(["echo"]);
7
- });
8
- });