dsh-mem0-memory 0.1.1 → 0.1.2

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/CHANGELOG.md CHANGED
@@ -5,6 +5,11 @@
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ### 0.1.2(2026-08-22)
9
+
10
+ - **降级可见性**:embedding API 故障触发关键词降级时,召回注入块现在会带警告行「⚠️ 注意:embedding 服务超时/故障,以下为降级关键词搜索结果(语义通道暂不可用),召回覆盖度可能下降。」——插件此前丢弃了 server 响应的 `degraded/mode` 标记,降级期间会话对结果质量下降毫不知情;已透传并对齐 OpenClaw 侧 mem0-memory 的 recall.js 实现。
11
+ - 行为:`formatBlock(items, degraded)` 新增降级分支;`recallMemories` 返回透传 `degraded`/`mode`。
12
+
8
13
  ### 0.1.0(发布候选,待外部审查后发布)
9
14
 
10
15
  - **2026-08-20 定名**:包名由 dsh-mem0-bridge 更名为 **dsh-mem0-memory**(发布前改名,无外部影响;插件 id mem0-memory,与 OpenClaw 侧插件命名一脉相承)。
package/lib/index.js CHANGED
@@ -120,13 +120,19 @@ function pickMemories(items, query, limit, scoreThreshold) {
120
120
  .slice(0, limit);
121
121
  }
122
122
 
123
- function formatBlock(items) {
123
+ function formatBlock(items, degraded = false) {
124
124
  if (items.length === 0) return "";
125
125
  const lines = [
126
126
  "[MEM0-RECALL]",
127
127
  "<relevant-memories>",
128
128
  "以下是从 Mem0 长期记忆中召回的相关记忆,优先参考这些内容回答用户问题。",
129
129
  ];
130
+ // 降级可见性(2026-08-22,与 OpenClaw 侧 recall.js 对齐):
131
+ // embedding API 故障时 server 降级为关键词检索,结果覆盖度可能下降——
132
+ // 必须让接收方知道当前是降级模式,避免把降级结果当完整结果用。
133
+ if (degraded) {
134
+ lines.push("⚠️ 注意:embedding 服务超时/故障,以下为降级关键词搜索结果(语义通道暂不可用),召回覆盖度可能下降。");
135
+ }
130
136
  let used = 0;
131
137
  for (const item of items) {
132
138
  const content = String(item.memory ?? "").trim();
@@ -158,8 +164,11 @@ async function recallMemories(config, query) {
158
164
  const data = await resp.json();
159
165
  if (!data.ok) return { ok: false, error: data.error || "search failed" };
160
166
  const picked = pickMemories(data.results ?? [], query, config.limit ?? 5, config.scoreThreshold ?? 0.15);
161
- const block = formatBlock(picked);
162
- return { ok: true, block, count: picked.length, results: picked };
167
+ // 降级透传:server 响应带 degraded/mode(embedding 故障 → 关键词降级),
168
+ // 注入块加警告行(2026-08-22,与 OpenClaw 侧对齐)
169
+ const degraded = data.degraded === true;
170
+ const block = formatBlock(picked, degraded);
171
+ return { ok: true, block, count: picked.length, results: picked, degraded, mode: data.mode ?? "hybrid" };
163
172
  } catch (e) {
164
173
  return { ok: false, error: e.name === "AbortError" ? "timeout" : e.message };
165
174
  } finally {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-mem0-memory",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Thin bridge: recall Mem0 memories into DSH agent context via agent/pre-step injection.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",