diff --git a/MEMORY.md b/MEMORY.md index 568867a..7eb6dd4 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -297,6 +297,42 @@ export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus" - Proper log commands for both service types --- +## Collection 名称统一为 mem0_v4_shared (2026-02-27) + +### 背景 +之前配置中存在 Collection 名称不一致问题: +- 代码实际使用:`mem0_global_v4` +- 用户指定/文档记录:`mem0_v4_shared`(陈医生和张大师共用) + +### 修改决策 +王院长明确指示:所有 Collection 统一使用 `mem0_v4_shared`,不得随意修改关键配置。 + +### 修改文件列表 +1. `skills/mem0-integration/mem0_client.py` +2. `skills/mem0-integration/config.yaml` +3. `skills/mem0-integration/skill.json` +4. `skills/mem0-integration/config-life.yaml` +5. `agents/life-agent.json` +6. `agents/life-workspace/skills/mem0-integration/config.yaml` +7. `docs/SYSTEM_ARCHITECTURE.md` + +### 验证结果 +- ✅ Gateway 重启成功 (systemd 服务正常) +- ✅ Qdrant Collection `mem0_v4_shared` 已创建 +- ✅ 向量维度:1024 (text-embedding-v4) +- ✅ 距离度量:Cosine +- ✅ 元数据索引:user_id, agent_id, actor_id, run_id +- ✅ Embedding 计费通道:Bailian 标准计费 + +### 操作日志 +`/root/.openclaw/workspace/logs/operations/2026-02-27-08-55-00-unify-collection-name.log` + +### 重要原则 +- 关键配置(Collection 名称、Embedding 模型、计费通道)修改必须经过用户确认 +- 所有 Agent 共享同一 Collection,通过 `metadata.agent_id` 实现逻辑隔离 + +--- + ## 安全审计误报分析 (2026-02-26) ### 背景 diff --git a/agents/life-agent.json b/agents/life-agent.json index bbfc180..f869424 100644 --- a/agents/life-agent.json +++ b/agents/life-agent.json @@ -24,7 +24,7 @@ "dashscope_api_key": "${DASHSCOPE_API_KEY}", "qdrant_host": "localhost", "qdrant_port": 6333, - "collection_name": "mem0_global_v4" + "collection_name": "mem0_v4_shared" } }, { diff --git a/agents/life-workspace/skills/mem0-integration/config.yaml b/agents/life-workspace/skills/mem0-integration/config.yaml index 3bb66ab..0da21fd 100644 --- a/agents/life-workspace/skills/mem0-integration/config.yaml +++ b/agents/life-workspace/skills/mem0-integration/config.yaml @@ -31,7 +31,7 @@ master: config: host: 100.115.94.1 port: 6333 - collection_name: mem0_v4_shared + collection_name: mem0_v4_shared # ✅ 统一共享 Collection(陈医生/张大师共用) # 同步配置 sync: diff --git a/docs/SYSTEM_ARCHITECTURE.md b/docs/SYSTEM_ARCHITECTURE.md index a30b56c..e8b87d2 100644 --- a/docs/SYSTEM_ARCHITECTURE.md +++ b/docs/SYSTEM_ARCHITECTURE.md @@ -148,8 +148,8 @@ │ │ │ ┌─────────────┐ ┌─────────────────────────┐ │ │ │ Mem0 Core │────▶│ Qdrant │ │ -│ │ (Python) │ │ mem0_global_v4 │ │ -│ └──────┬──────┘ │ (唯一全局 Collection) │ │ +│ │ (Python) │ │ mem0_v4_shared │ │ +│ └──────┬──────┘ │ (统一共享 Collection) │ │ │ │ │ │ │ │ │ Embedding │ ┌──────────────────┐ │ │ │ │ v4 (1024) │ │ Payload Metadata │ │ │ @@ -168,7 +168,7 @@ **核心架构:** - **Qdrant:** `localhost:6333` - **Embedding:** Gemini Pro `text-embedding-v4` (1024 维度) -- **Collection:** `mem0_global_v4` (**唯一全局 Collection**) +- **Collection:** `mem0_v4_shared` (**统一共享 Collection** - 陈医生/张大师共用) - **隔离方式:** 元数据标签软隔离 (`metadata.agent_id`) - **更新频率:** 每 5 分钟自动同步 @@ -270,8 +270,8 @@ memories = memory.search( │ ▼ ┌──────────────────────┐ - │ mem0_global_v4 │ - │ (唯一 Collection) │ + │ mem0_v4_shared │ + │ (统一共享 Collection) │ │ metadata.agent_id │ │ 软隔离 │ └──────────────────────┘ @@ -283,7 +283,7 @@ memories = memory.search( 3. **共享技能** - skills/ 目录下的技能所有 Agent 可用 4. **独立配置** - 每个 Agent 有自己的 workspace 和配置 5. **统一管理** - Eason 负责所有 Agent 的部署和优化 -6. **单库融合** - 所有记忆写入唯一 Collection,通过 `metadata.agent_id` 隔离 +6. **单库融合** - 所有记忆写入 `mem0_v4_shared` Collection,通过 `metadata.agent_id` 隔离 --- diff --git a/skills/mem0-integration/config-life.yaml b/skills/mem0-integration/config-life.yaml index ad81b63..2951583 100644 --- a/skills/mem0-integration/config-life.yaml +++ b/skills/mem0-integration/config-life.yaml @@ -10,7 +10,7 @@ global: config: host: localhost port: 6333 - collection_name: mem0_global_v4 # 唯一全局 Collection,通过 agent_id 区分 + collection_name: mem0_v4_shared # 统一共享 Collection(陈医生/张大师共用) llm: provider: openai diff --git a/skills/mem0-integration/mem0_client.py b/skills/mem0-integration/mem0_client.py index 2933fc7..42a0085 100644 --- a/skills/mem0-integration/mem0_client.py +++ b/skills/mem0-integration/mem0_client.py @@ -143,7 +143,7 @@ class Mem0Client: "qdrant": { "host": os.getenv('MEM0_QDRANT_HOST', 'localhost'), "port": int(os.getenv('MEM0_QDRANT_PORT', '6333')), - "collection_name": "mem0_global_v4" # 唯一全局 Collection + "collection_name": "mem0_v4_shared" # 统一共享 Collection(陈医生/张大师共用) }, "llm": { "provider": "openai", diff --git a/skills/mem0-integration/skill.json b/skills/mem0-integration/skill.json index 5b6eb50..bd63d72 100644 --- a/skills/mem0-integration/skill.json +++ b/skills/mem0-integration/skill.json @@ -22,7 +22,7 @@ "qdrant": { "host": "localhost", "port": 6333, - "collection_name": "mem0_global_v4" + "collection_name": "mem0_v4_shared" }, "llm": { "model": "qwen-plus",