Forráskód Böngészése

feat: 更新 claude-mem-install 技能

- 添加容器重启后快速恢复方案
- 添加 ONNX 模型下载详细步骤(阿里云内网)
- 添加 Bun 路径问题解决方案
- 添加 Chroma MCP 进程故障排除
- 添加 MCP 搜索工具使用说明

Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 4 hete
szülő
commit
886e65ecba

BIN
.claude/skills/claude-mem-install.skill


+ 180 - 71
.claude/skills/claude-mem-install/SKILL.md

@@ -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/