openclaw-amem 1.2.2 → 1.4.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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "id": "openclaw-amem",
3
- "name": "Memory (A-MEM v2)",
4
- "description": "OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.",
5
- "version": "1.2.2",
3
+ "name": "amem",
4
+ "description": "Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词,提示词有中文版。",
5
+ "version": "1.4.0",
6
6
  "kind": "memory",
7
7
  "openclaw": {
8
8
  "compat": {
@@ -31,6 +31,14 @@
31
31
  "OPENAI_API_KEY",
32
32
  "AMEM_LLM_BASE_URL",
33
33
  "AMEM_LLM_MODEL",
34
+ "AMEM_LLM_STRONG_PROVIDER",
35
+ "AMEM_LLM_STRONG_MODEL",
36
+ "AMEM_LLM_STRONG_BASE_URL",
37
+ "AMEM_LLM_CRUD_ROLE",
38
+ "AMEM_CONFLICT_MODE",
39
+ "AMEM_LLM_TIMEOUT",
40
+ "AMEM_CRUD_UPDATE_MIN_SIM",
41
+ "AMEM_EMBED_MODEL",
34
42
  "AMEM_COLLECTION",
35
43
  "AMEM_DATA_DIR",
36
44
  "AMEM_EVO_COUNTER_PATH",
@@ -90,6 +98,58 @@
90
98
  "type": "string",
91
99
  "description": "Qdrant collection name (mode A shared default)."
92
100
  },
101
+ "llmProvider": {
102
+ "type": "string",
103
+ "enum": [
104
+ "anthropic",
105
+ "openai"
106
+ ],
107
+ "default": "anthropic",
108
+ "description": "LLM API dialect for the engine's own calls. Overridden by AMEM_LLM_PROVIDER."
109
+ },
110
+ "llmModel": {
111
+ "type": "string",
112
+ "description": "Model the engine uses for note construction, linking and evolution. Overridden by AMEM_LLM_MODEL. Defaults to claude-sonnet-4-6 (anthropic) or gpt-4o-mini (openai)."
113
+ },
114
+ "llmBaseURL": {
115
+ "type": "string",
116
+ "description": "Base URL for the LLM endpoint, e.g. an OpenAI-compatible gateway. Overridden by AMEM_LLM_BASE_URL. API keys are read from the environment only and cannot be set here."
117
+ },
118
+ "llmStrongProvider": {
119
+ "type": "string",
120
+ "enum": [
121
+ "anthropic",
122
+ "openai"
123
+ ],
124
+ "description": "Optional stronger tier: request format. Falls back to llmProvider. Overridden by AMEM_LLM_STRONG_PROVIDER."
125
+ },
126
+ "llmStrongModel": {
127
+ "type": "string",
128
+ "description": "Optional stronger tier: model for the few genuinely hard judgements (merge adjudication, contradiction classification). Falls back to llmModel, so leaving it unset keeps single-model behaviour. Overridden by AMEM_LLM_STRONG_MODEL."
129
+ },
130
+ "llmStrongBaseURL": {
131
+ "type": "string",
132
+ "description": "Optional stronger tier: endpoint. Falls back to llmBaseURL. Set all three strong fields to run the tiers on entirely different backends, e.g. a local Ollama for fast and a hosted API for strong. Overridden by AMEM_LLM_STRONG_BASE_URL."
133
+ },
134
+ "llmCrudRole": {
135
+ "type": "string",
136
+ "enum": [
137
+ "fast",
138
+ "strong"
139
+ ],
140
+ "default": "fast",
141
+ "description": "Which tier the agent_end CRUD decision runs on. Defaults to fast: it runs every turn, and its destructive failure mode is handled by the update guard rather than by model tier. Overridden by AMEM_LLM_CRUD_ROLE."
142
+ },
143
+ "conflictSweep": {
144
+ "type": "boolean",
145
+ "default": true,
146
+ "description": "Run the nightly contradiction sweep after daily consolidation. Only batches that gained a memory are re-read, so a typical night costs one or two LLM calls. Set false to disable."
147
+ },
148
+ "crudUpdateMinSim": {
149
+ "type": "number",
150
+ "default": 0.35,
151
+ "description": "Similarity floor (0-1) for accepting an LLM-chosen CRUD UPDATE target. Below it the fact is stored as a new memory instead of overwriting, so a mis-picked memory is never destroyed. Raise it for cheaper/weaker models. Overridden by AMEM_CRUD_UPDATE_MIN_SIM."
152
+ },
93
153
  "agents": {
94
154
  "type": "object",
95
155
  "description": "Per-agent overrides keyed by agentId.",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openclaw-amem",
3
- "version": "1.2.2",
4
- "description": "OpenClaw memory plugin implementing A-MEM — memories evolve, not just accumulate. Graph linking, hybrid retrieval, LLM-driven evolution. No Python.",
3
+ "version": "1.4.0",
4
+ "description": "Catches memories that contradict each other. Notes rewrite themselves as new ones arrive, link into a graph, and stay separated per agent and per person. Runs on a small model. Requires a local Qdrant. 中文走 jieba 分词,提示词有中文版。",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "openclaw": {
@@ -16,7 +16,7 @@
16
16
  }
17
17
  },
18
18
  "dependencies": {
19
- "@anthropic-ai/sdk": "^0.110.0",
19
+ "@anthropic-ai/sdk": "^0.112.1",
20
20
  "@huggingface/transformers": "^4.2.0",
21
21
  "@node-rs/jieba": "^2.0.1",
22
22
  "@qdrant/js-client-rest": "^1.18.0",
@@ -32,7 +32,7 @@
32
32
  "tsup": "^8.4.0",
33
33
  "tsx": "^4.23.1",
34
34
  "typescript": "^6.0.3",
35
- "typescript-eslint": "^8.60.1",
35
+ "typescript-eslint": "^8.64.0",
36
36
  "vitest": "^4.1.10"
37
37
  },
38
38
  "optionalDependencies": {
@@ -51,6 +51,7 @@
51
51
  "keywords": [
52
52
  "openclaw",
53
53
  "openclaw-plugin",
54
+ "amem",
54
55
  "a-mem",
55
56
  "agent-memory",
56
57
  "agentic-memory",