|
|
@@ -1,6 +1,6 @@
|
|
|
---
|
|
|
name: claude-mem-install
|
|
|
-description: Claude-Mem 持久记忆系统安装和配置工具。用于在 Claude Code 中安装 claude-mem 插件,实现跨会话的上下文持久化。当用户请求安装 claude-mem、配置记忆系统、或验证记忆插件状态时使用。触发词:安装 claude-mem、配置记忆插件、验证 claude-mem、记忆系统安装。注意:使用 Gitee 镜像仓库(国内可访问),使用 claude CLI 命令行方式安装。
|
|
|
+description: Claude-Mem 持久记忆系统安装和配置工具。用于在 Claude Code 中安装 claude-mem 插件,实现跨会话的上下文持久化。支持首次安装、容器重启后快速恢复、模型配置等功能。触发词:安装 claude-mem、配置记忆插件、容器重启恢复 claude-mem、记忆系统安装。注意:使用 Gitee 镜像仓库(国内可访问),使用 claude CLI 命令行方式安装。
|
|
|
---
|
|
|
|
|
|
# Claude-Mem 安装和配置
|
|
|
@@ -15,10 +15,12 @@ Claude-Mem 是一个为 Claude Code 设计的持久记忆压缩系统,通过
|
|
|
|
|
|
- **Node.js**: >= 18.0.0
|
|
|
- **Claude Code**: 最新版本(支持插件)
|
|
|
-- **Bun**: JavaScript 运行时(自动安装)
|
|
|
+- **Bun**: JavaScript 运行时(通过 npm 安装)
|
|
|
- **uv**: Python 包管理器(自动安装)
|
|
|
|
|
|
-## 安装步骤
|
|
|
+---
|
|
|
+
|
|
|
+## 首次安装步骤
|
|
|
|
|
|
### 步骤 1: 检查 Node.js 版本
|
|
|
|
|
|
@@ -28,105 +30,117 @@ node -v
|
|
|
|
|
|
确保版本 >= 18.0.0。如果版本过低,从 https://nodejs.org 下载安装。
|
|
|
|
|
|
-### 步骤 2: 使用 claude CLI 安装插件
|
|
|
+### 步骤 2: 安装 Bun 运行时
|
|
|
|
|
|
-**重要**: 在非交互式环境中(如云开发容器),使用 `claude` 命令行方式安装:
|
|
|
+**重要**: GitHub 访问受限时,官方安装脚本会失败。使用 npm 安装:
|
|
|
|
|
|
```bash
|
|
|
-# 添加插件市场(使用 Gitee 镜像仓库)
|
|
|
-claude plugin marketplace add git@gitee.com:zyh320888/claude-mem.git
|
|
|
+# 推荐:使用 npm 安装 Bun
|
|
|
+npm install -g bun
|
|
|
|
|
|
-# 安装插件
|
|
|
-claude plugin install claude-mem
|
|
|
+# 验证安装
|
|
|
+bun --version
|
|
|
```
|
|
|
|
|
|
-### 步骤 3: 重启 Claude Code
|
|
|
-
|
|
|
-退出并重新启动 Claude Code 以使插件生效。
|
|
|
+### 步骤 3: 安装 claude-mem 插件
|
|
|
|
|
|
-### 步骤 4: 验证安装
|
|
|
-
|
|
|
-运行验证脚本检查安装状态(**包含自动启动 Worker 功能**):
|
|
|
+在非交互式环境中(如云开发容器),使用 `claude` 命令行方式安装:
|
|
|
|
|
|
```bash
|
|
|
-bash .claude/skills/claude-mem-install/scripts/verify_install.sh
|
|
|
+# 安装插件
|
|
|
+claude plugin install claude-mem
|
|
|
```
|
|
|
|
|
|
-验证脚本会自动:
|
|
|
-- 检查 Node.js 版本
|
|
|
-- 检查插件目录
|
|
|
-- 检查 Worker 服务状态
|
|
|
-- **如果 Worker 未运行,尝试自动启动**
|
|
|
+### 步骤 4: 下载 ONNX 模型(语义搜索必需)
|
|
|
|
|
|
-或手动检查:
|
|
|
+从阿里云北京内网下载模型文件:
|
|
|
|
|
|
-1. **Worker 服务**: 访问 http://localhost:37777
|
|
|
-2. **健康检查**: `curl http://localhost:37777/api/health`
|
|
|
-3. **配置文件**: 查看 `~/.claude-mem/settings.json`
|
|
|
+```bash
|
|
|
+# 下载模型压缩包(80MB)
|
|
|
+wget -O /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx.tar.gz \
|
|
|
+ http://d8d-design-ai-oss.oss-cn-beijing-internal.aliyuncs.com/claude-mem/models/onnx.tar.gz
|
|
|
|
|
|
-## 安装后配置
|
|
|
+# 验证下载完整性(应该 80MB)
|
|
|
+ls -lh /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx.tar.gz
|
|
|
|
|
|
-### 配置文件位置
|
|
|
+# 解压到目标目录(会自动创建 onnx/ 子目录)
|
|
|
+cd /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/
|
|
|
+tar -xzf onnx.tar.gz
|
|
|
|
|
|
-`~/.claude-mem/settings.json`(首次运行自动创建)
|
|
|
+# 验证 model.onnx 存在且大小正确(约 86MB)
|
|
|
+ls -lh onnx/model.onnx
|
|
|
+```
|
|
|
|
|
|
-### 常用配置选项
|
|
|
+**模型文件应包含**:
|
|
|
+- `model.onnx` (约 86MB) - 神经网络模型
|
|
|
+- `config.json` - 模型配置
|
|
|
+- `tokenizer.json` - 分词器
|
|
|
+- `tokenizer_config.json` - 分词器配置
|
|
|
+- `special_tokens_map.json` - 特殊标记映射
|
|
|
+- `vocab.txt` - 词汇表
|
|
|
|
|
|
-```json
|
|
|
-{
|
|
|
- "aiProvider": "anthropic",
|
|
|
- "workerPort": 37777,
|
|
|
- "dataDir": "~/.claude-mem/data",
|
|
|
- "logLevel": "info"
|
|
|
-}
|
|
|
+### 步骤 5: 备份模型到持久化目录
|
|
|
+
|
|
|
+```bash
|
|
|
+# 创建持久化目录并备份
|
|
|
+mkdir -p ~/.claude-mem/models/
|
|
|
+cp /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx.tar.gz ~/.claude-mem/models/
|
|
|
```
|
|
|
|
|
|
-### 隐私控制
|
|
|
+### 步骤 6: 启动 Worker 服务
|
|
|
|
|
|
-使用 `<private>` 标签排除敏感内容:
|
|
|
+```bash
|
|
|
+# 方式1: 使用启动脚本
|
|
|
+bash .claude/skills/claude-mem-install/scripts/start_worker.sh
|
|
|
+
|
|
|
+# 方式2: 手动启动
|
|
|
+cd ~/.claude/plugins/cache/thedotmack/claude-mem/*/scripts/
|
|
|
+node worker-cli.js start
|
|
|
+```
|
|
|
+
|
|
|
+### 步骤 7: 验证安装
|
|
|
|
|
|
```bash
|
|
|
-# 此命令不会被记录
|
|
|
-<private> echo "敏感信息"
|
|
|
+# 检查 Worker 服务状态
|
|
|
+curl http://localhost:37777/api/health
|
|
|
+
|
|
|
+# 预期输出:{"status":"ok","version":"10.5.5",...}
|
|
|
```
|
|
|
|
|
|
-## 验证安装状态
|
|
|
+---
|
|
|
+
|
|
|
+## 容器重启后快速恢复
|
|
|
|
|
|
-运行验证脚本:
|
|
|
+**快速恢复方案**(模型已备份到持久化目录):
|
|
|
|
|
|
```bash
|
|
|
-bash .claude/skills/claude-mem-install/scripts/verify_install.sh
|
|
|
-```
|
|
|
+# 1. 从持久化目录复制模型(瞬间完成,无需重新下载)
|
|
|
+mkdir -p /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/
|
|
|
+cp ~/.claude-mem/models/onnx.tar.gz /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/
|
|
|
|
|
|
-脚本检查:
|
|
|
-- ✅ Node.js 版本
|
|
|
-- ✅ Claude Code 插件目录
|
|
|
-- ✅ Worker 服务状态(端口 37777)
|
|
|
-- ✅ 配置文件存在
|
|
|
-- ✅ 数据库文件
|
|
|
+# 2. 解压模型
|
|
|
+cd /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/
|
|
|
+tar -xzf onnx.tar.gz
|
|
|
|
|
|
-## 主要功能
|
|
|
+# 3. 重启 Worker
|
|
|
+bash .claude/skills/claude-mem-install/scripts/start_worker.sh
|
|
|
+```
|
|
|
|
|
|
-| 功能 | 说明 |
|
|
|
-|------|------|
|
|
|
-| 🧠 持久记忆 | 上下文跨会话保存 |
|
|
|
-| 📊 渐进式披露 | 分层记忆检索 |
|
|
|
-| 🔍 自然语言搜索 | 用 mem-search 技能查询历史 |
|
|
|
-| 🖥️ Web 查看器 | http://localhost:37777 |
|
|
|
-| 🔒 隐私控制 | `<private>` 标签排除敏感内容 |
|
|
|
+---
|
|
|
|
|
|
## 故障排除
|
|
|
|
|
|
-### Bun 未安装或安装失败
|
|
|
+### Bun 路径问题
|
|
|
|
|
|
-GitHub 访问受限时,官方安装脚本会失败。使用 npm 安装:
|
|
|
+**问题**: 重启命令找不到 bun
|
|
|
+**原因**: npm 全局安装的 bun 位于 `/usr/local/lib/node_modules/bun/bin/bun.exe`
|
|
|
|
|
|
```bash
|
|
|
-# 推荐:使用 npm 安装 Bun
|
|
|
-npm install -g bun
|
|
|
+# 查找实际 bun 路径
|
|
|
+which bun # 或: find /usr -name bun 2>/dev/null
|
|
|
|
|
|
-# 验证安装
|
|
|
-bun --version
|
|
|
+# 使用正确路径
|
|
|
+/usr/local/lib/node_modules/bun/bin/bun.exe scripts/worker-service.cjs --daemon
|
|
|
```
|
|
|
|
|
|
### Worker 服务未启动
|
|
|
@@ -135,15 +149,41 @@ bun --version
|
|
|
# 检查 Bun 是否安装
|
|
|
bun --version
|
|
|
|
|
|
-# 使用 worker-cli.js 启动 Worker(推荐方式)
|
|
|
-cd ~/.claude/plugins/cache/thedotmack/claude-mem/<version>
|
|
|
+# 查找插件目录并启动
|
|
|
+cd ~/.claude/plugins/cache/thedotmack/claude-mem/
|
|
|
node scripts/worker-cli.js start
|
|
|
|
|
|
# 验证服务状态
|
|
|
curl http://localhost:37777/api/health
|
|
|
```
|
|
|
|
|
|
-**注意**: 插件实际安装路径是 `~/.claude/plugins/cache/thedotmack/claude-mem/<version>/`,而非 `marketplaces` 目录。
|
|
|
+### Chroma MCP 进程问题
|
|
|
+
|
|
|
+```bash
|
|
|
+# 检查 chroma-mcp 进程状态(应该有 2 个进程)
|
|
|
+ps aux | grep chroma-mcp | grep -v grep
|
|
|
+
|
|
|
+# 如果进程数量过多(不断重启),需要重启 Worker
|
|
|
+pkill -f chroma-mcp
|
|
|
+cd ~/.claude/plugins/cache/thedotmack/claude-mem/*/scripts/
|
|
|
+node worker-cli.js start
|
|
|
+```
|
|
|
+
|
|
|
+### 模型文件损坏
|
|
|
+
|
|
|
+```bash
|
|
|
+# 清理损坏的文件
|
|
|
+rm -rf /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/*
|
|
|
+
|
|
|
+# 重新下载
|
|
|
+wget -O /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx.tar.gz \
|
|
|
+ http://d8d-design-ai-oss.oss-cn-beijing-internal.aliyuncs.com/claude-mem/models/onnx.tar.gz
|
|
|
+
|
|
|
+# 解压并验证
|
|
|
+cd /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/
|
|
|
+tar -xzf onnx.tar.gz
|
|
|
+ls -lh onnx/model.onnx # 应该约 86MB
|
|
|
+```
|
|
|
|
|
|
### 插件未生效
|
|
|
|
|
|
@@ -153,7 +193,7 @@ curl http://localhost:37777/api/health
|
|
|
|
|
|
```bash
|
|
|
# 查看 claude-mem MCP 服务器进程
|
|
|
-ps aux | grep claude-mem
|
|
|
+ps aux | grep claude-mem | grep -v grep
|
|
|
|
|
|
# 查看端口监听
|
|
|
netstat -tlnp | grep 37777 # 或 ss -tlnp | grep 37777
|
|
|
@@ -162,13 +202,82 @@ netstat -tlnp | grep 37777 # 或 ss -tlnp | grep 37777
|
|
|
### 查看日志
|
|
|
|
|
|
```bash
|
|
|
-# Worker 日志
|
|
|
-tail -f ~/.claude-mem/worker.log
|
|
|
+# 查看 Worker 日志(如果存在)
|
|
|
+tail -f ~/.claude-mem/logs/claude-mem-*.log
|
|
|
|
|
|
-# 或者查看插件目录日志
|
|
|
+# 检查插件目录
|
|
|
ls -la ~/.claude/plugins/cache/thedotmack/claude-mem/
|
|
|
```
|
|
|
|
|
|
+---
|
|
|
+
|
|
|
+## 配置文件
|
|
|
+
|
|
|
+### 配置文件位置
|
|
|
+
|
|
|
+`~/.claude-mem/settings.json`(首次运行自动创建)
|
|
|
+
|
|
|
+### 常用配置选项
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "aiProvider": "anthropic",
|
|
|
+ "workerPort": 37777,
|
|
|
+ "dataDir": "~/.claude-mem/data",
|
|
|
+ "logLevel": "info",
|
|
|
+ "CLAUDE_MEM_CHROMA_ENABLED": "true",
|
|
|
+ "CLAUDE_MEM_CHROMA_MODE": "local"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 隐私控制
|
|
|
+
|
|
|
+使用 `<private>` 标签排除敏感内容:
|
|
|
+
|
|
|
+```bash
|
|
|
+# 此命令不会被记录
|
|
|
+<private> echo "敏感信息"
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 主要功能
|
|
|
+
|
|
|
+| 功能 | 说明 |
|
|
|
+|------|------|
|
|
|
+| 🧠 持久记忆 | 上下文跨会话保存 |
|
|
|
+| 📊 渐进式披露 | 分层记忆检索,节省 token |
|
|
|
+| 🔍 自然语言搜索 | 用 mem-search 技能查询历史 |
|
|
|
+| 🖥️ Web 查看器 | http://localhost:37777 |
|
|
|
+| 🔒 隐私控制 | `<private>` 标签排除敏感内容 |
|
|
|
+| 🤖 语义搜索 | 基于 ONNX 模型的向量搜索 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## MCP 搜索工具
|
|
|
+
|
|
|
+Claude-Mem 提供 4 个 MCP 工具,遵循 **3 层工作流**:
|
|
|
+
|
|
|
+### 3 层工作流
|
|
|
+
|
|
|
+1. **`search`** - 获取索引(~50-100 tokens/result)
|
|
|
+2. **`timeline`** - 获取上下文
|
|
|
+3. **`get_observations`** - 获取完整详情(~500-1,000 tokens/result)
|
|
|
+
|
|
|
+### 示例用法
|
|
|
+
|
|
|
+```typescript
|
|
|
+// 步骤 1: 搜索索引
|
|
|
+search(query="authentication bug", type="bugfix", limit=10)
|
|
|
+
|
|
|
+// 步骤 2: 查看索引,识别相关 ID (如 #123, #456)
|
|
|
+
|
|
|
+// 步骤 3: 获取完整详情
|
|
|
+get_observations(ids=[123, 456])
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
## 资源链接
|
|
|
|
|
|
- 📚 **官方文档**: https://docs.claude-mem.ai/
|