{"_id":"@chengjue-2445/openclaw_memory_alibaba_mysql-beta","name":"@chengjue-2445/openclaw_memory_alibaba_mysql-beta","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.7":{"name":"@chengjue-2445/openclaw_memory_alibaba_mysql-beta","version":"0.1.7","description":"OpenClaw memory plugin using Alibaba Cloud RDS MySQL vector storage","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chengjue-2445/alibabacloud_mysql_openclaw_memory_extension.git"},"keywords":["openclaw","openclaw-plugin","memory","mysql","alibaba-cloud","rds","vector-search"],"dependencies":{"@sinclair/typebox":"0.34.48","mysql2":"^3.12.0","openai":"^6.25.0"},"peerDependencies":{"openclaw":"*"},"openclaw":{"extensions":["./index.ts"]},"devDependencies":{"tsx":"^4.21.0"},"_id":"@chengjue-2445/openclaw_memory_alibaba_mysql-beta@0.1.7","gitHead":"74ba5686310aeddd5edfc24a263bb2bb832acd6c","bugs":{"url":"https://github.com/chengjue-2445/alibabacloud_mysql_openclaw_memory_extension/issues"},"homepage":"https://github.com/chengjue-2445/alibabacloud_mysql_openclaw_memory_extension#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-Vues9LQJ7XENQvDLdWyDRwi6NH7Rn2DUDN0KtCa8RigcwpBjNTSxMAPqEmjPvvIvs+ES0lAgdNwvAF16QWJSqg==","shasum":"44ddaa34669fe5787b5335ce9407a7b75d5ee86d","tarball":"https://registry.npmjs.org/@chengjue-2445/openclaw_memory_alibaba_mysql-beta/-/openclaw_memory_alibaba_mysql-beta-0.1.7.tgz","fileCount":8,"unpackedSize":73470,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIChX2ylM3m7kORqU087f+WoXiUapBKPbcaqqljR8e+xAAiBr6VsthmOUmF02wtL8VAHSaPH7JqfxOr6R3MeGl8si+Q=="}]},"_npmUser":{"name":"chengjue-2445","email":"244524928@qq.com"},"directories":{},"maintainers":[{"name":"chengjue-2445","email":"244524928@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw_memory_alibaba_mysql-beta_0.1.7_1773393697574_0.2630715401824395"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-13T09:21:37.450Z","0.1.7":"2026-03-13T09:21:37.750Z","modified":"2026-03-13T09:21:37.980Z"},"maintainers":[{"name":"chengjue-2445","email":"244524928@qq.com"}],"description":"OpenClaw memory plugin using Alibaba Cloud RDS MySQL vector storage","homepage":"https://github.com/chengjue-2445/alibabacloud_mysql_openclaw_memory_extension#readme","keywords":["openclaw","openclaw-plugin","memory","mysql","alibaba-cloud","rds","vector-search"],"repository":{"type":"git","url":"git+https://github.com/chengjue-2445/alibabacloud_mysql_openclaw_memory_extension.git"},"bugs":{"url":"https://github.com/chengjue-2445/alibabacloud_mysql_openclaw_memory_extension/issues"},"license":"MIT","readme":"# openclaw_memory_alibaba_mysql\n\nOpenClaw 记忆插件，使用阿里云 RDS MySQL 向量存储。用户记忆细分为 fact / preference / decision 三类；支持全文记忆与自我改进记忆，抽取方式可选 regex 或 llm。\n\n## 记忆分类 (category)\n\n| 类型 | category | 说明 |\n|------|----------|------|\n| 用户事实 | `user_memory_fact` | 用户陈述的事实、习惯、身份信息等 |\n| 用户偏好 | `user_memory_preference` | 喜欢/不喜欢、偏好、意愿 |\n| 用户决策 | `user_memory_decision` | 已做的决定、打算、计划 |\n\n- **自动抓取 (autoCapture)**：按 `memoryExtractionMethod` 用 regex 或 LLM 从用户/对话中抽取并写入。\n- **memory_store 工具**：可显式指定 `category`，默认 `user_memory_fact`。\n- **召回**：`before_agent_start` 与 `memory_recall` 统一按向量检索用户记忆（及可选 self_improving），注入上下文。\n\n---\n\n## 配置示例\n\n### 最简配置（只接库 + 向量）\n\n只配必填的 MySQL 和 Embedding，其它用默认：自动召回开、自动抓取关、不启用全文/自我改进/记忆衰减。\n\n```json\n{\n  \"plugins\": {\n    \"slots\": { \"memory\": \"openclaw_memory_alibaba_mysql\" },\n    \"entries\": {\n      \"openclaw_memory_alibaba_mysql\": {\n        \"enabled\": true,\n        \"config\": {\n          \"mysql\": {\n            \"host\": \"your-rds.aliyuncs.com\",\n            \"port\": 3306,\n            \"user\": \"openclaw\",\n            \"password\": \"${MYSQL_PASSWORD}\",\n            \"database\": \"openclaw\",\n            \"ssl\": true\n          },\n          \"embedding\": {\n            \"apiKey\": \"${DASHSCOPE_API_KEY}\",\n            \"model\": \"text-embedding-v3\",\n            \"baseUrl\": \"https://dashscope.aliyuncs.com/compatible-mode/v1\"\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### 最全配置（功能全开）\n\n显式写出 MySQL、Embedding、LLM、自动抓取/召回、全文记忆、自我改进、记忆衰减、相似度阈值、表名等，便于按需裁剪。\n\n```json\n{\n  \"plugins\": {\n    \"slots\": { \"memory\": \"openclaw_memory_alibaba_mysql\" },\n    \"entries\": {\n      \"openclaw_memory_alibaba_mysql\": {\n        \"enabled\": true,\n        \"config\": {\n          \"mysql\": {\n            \"host\": \"your-rds.aliyuncs.com\",\n            \"port\": 3306,\n            \"user\": \"openclaw\",\n            \"password\": \"${MYSQL_PASSWORD}\",\n            \"database\": \"openclaw\",\n            \"ssl\": true\n          },\n          \"embedding\": {\n            \"apiKey\": \"${DASHSCOPE_API_KEY}\",\n            \"model\": \"text-embedding-v3\",\n            \"baseUrl\": \"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n            \"dimensions\": 1024\n          },\n          \"llm\": {\n            \"apiKey\": \"${DASHSCOPE_API_KEY}\",\n            \"model\": \"qwen-plus\",\n            \"baseUrl\": \"https://dashscope.aliyuncs.com/compatible-mode/v1\"\n          },\n          \"memory_duplication_conflict_process\": true,\n          \"similarityThresholdUserMemory\": 0.95,\n          \"similarityThresholdSelfImproving\": 0.92,\n          \"enableFullContextMemory\": true,\n          \"enableSelfImprovingMemory\": true,\n          \"memoryExtractionMethod\": \"llm\",\n          \"autoRecall\": true,\n          \"autoCapture\": true,\n          \"captureMaxChars\": 500,\n          \"enableMemoryDecay\": true,\n          \"tableName\": \"openclaw_memories\"\n        }\n      }\n    }\n  }\n}\n```\n\n**配置要点**\n\n- **必填**：`mysql`（host / user / password / database 等）、`embedding`（apiKey、model）。\n- **memoryExtractionMethod**：`\"regex\"` 或 `\"llm\"`，对 user_memory_* 与 self_improving_* 同时生效；选 `\"llm\"` 需配 `llm`。\n- **enableFullContextMemory** / **enableSelfImprovingMemory**：开启后可写全文记忆、自我改进记忆；全文记忆不参与常规召回。\n- **memory_duplication_conflict_process**：为 true 时用 LLM 做写入前去重/冲突判断，需配 `llm`。\n- **enableMemoryDecay**：为 true 时对召回结果做时间衰减（半衰期与策略使用内置默认：30 天、指数衰减）。\n\n---\n\n## 环境变量\n\n- `MYSQL_HOST`, `MYSQL_USER`, `MYSQL_PASSWORD`：MySQL 连接（或在 config 里写死，password 支持 `${VAR}`）。\n- `DASHSCOPE_API_KEY`：DashScope 用于 embedding（若 apiKey 使用 `${DASHSCOPE_API_KEY}`）。\n\n---\n\n## 测试\n\n```bash\nexport MYSQL_HOST=your-host MYSQL_PASSWORD=xxx DASHSCOPE_API_KEY=xxx\nnpx tsx test-agent-isolation.ts\nnpx tsx test-three-memory-types.ts\nnpx tsx test-full-context-memory.ts\n```\n\n---\n\n## 文件说明\n\n- `categories.ts`：常量与类型（user_memory_*、self_improving_*、full_context_memory）。\n- `config.ts`：配置解析与默认值。\n- `db.ts`：MemoryDB 建表、store、search、softDelete（向量 COSINE）。\n- `index.ts`：插件注册、memory_recall / memory_store / memory_forget、before_agent_start / agent_end。\n- `prompts.ts`：用户记忆与 self_improving 的 LLM 抽取 Prompt。\n","readmeFilename":"README.md","_rev":"1-1e9a4543aa52b857aca7c93a3e306605"}