跳转到内容

多 IDE 集成适配器

多 IDE 集成适配器:Claude-Mem 的具体实现

学习目标

本章聚焦 Claude-Mem 如何将记忆系统适配到多种 AI 编程工具。建议先阅读前置知识,下文直接聚焦具体落地方案。

前置知识

本章涉及跨 Harness 可移植性的通用架构,建议先阅读:

项目实践

支持的 IDE 矩阵

IDE集成方式安装命令
Claude Code原生插件(Hooks + MCP)npx claude-mem install
Gemini CLIHooks 适配器npx claude-mem install --ide gemini-cli
CursorHooks 安装器npm run cursor:setup
WindsurfHooks 安装器src/services/integrations/WindsurfHooksInstaller.ts
OpenCode插件配置npx claude-mem install --ide opencode
OpenClawGateway 脚本curl .../openclaw.sh | bash

统一安装命令

npx CLI 入口(src/npx-cli/index.ts)提供统一安装体验:

Terminal window
npx claude-mem install # 默认安装到 Claude Code
npx claude-mem install --ide <target> # 安装到指定 IDE

安装流程:

  1. 检查并安装依赖(Bun、uv)
  2. 注册插件到目标 IDE 的配置文件
  3. 启动 Worker Service
  4. 验证健康状态

适配器实现模式

每个 IDE 的集成适配器遵循相同的模式:

  1. Hooks 注册:将 claude-mem 的 Hook 脚本注册到目标 IDE 的生命周期钩子
  2. 路径解析:找到插件的安装路径(~/.claude/plugins/marketplaces/thedotmack/plugin
  3. 环境变量:传播 CLAUDE_MEM_DATA_DIRCLAUDE_MEM_WORKER_PORT
  4. Worker 启动:确保 Worker Service 已运行

OpenClaw Gateway 集成

OpenClaw 是一种 AI 网关,支持将记忆系统部署为共享服务:

Terminal window
curl -fsSL https://install.cmem.ai/openclaw.sh | bash

安装器负责:

  • 安装依赖(Bun、uv)
  • 注册 claude-mem 为 OpenClaw 网关插件
  • 配置 AI provider 认证
  • 启动 Worker Service
  • 可选配置实时观察推送到 Telegram、Discord、Slack 等

环境变量的全局传播

所有 IDE 集成都遵循相同的环境变量约定:

变量作用默认值
CLAUDE_MEM_DATA_DIR数据目录~/.claude-mem/
CLAUDE_MEM_WORKER_PORTWorker 端口37700 + (uid % 100)
CLAUDE_MEM_MODE工作模式 + 语言code
CLAUDE_MEM_RUNTIME运行时模式workerserver-beta

问题与规避

IDE 配置格式差异

问题:不同 IDE 使用不同的配置文件格式(JSON、YAML、TOML)和路径。

规避:每个 Installer 类封装了目标 IDE 的配置细节,通过 read → modify → write 模式将 claude-mem 的配置追加到对应文件。

跨平台路径处理

问题:Windows 使用反斜杠路径,macOS/Linux 使用正斜杠。

规避:Hook 命令中使用 cygpath -w 转换 Cygwin/MSYS 环境下的路径,Node.js 的 path 模块处理跨平台路径拼接。

设计取舍

为什么支持多种 IDE 而非专注 Claude Code?

  • 优势:扩大用户基础,claude-mem 成为通用的 AI 编程记忆层
  • 代价:需要维护多个 Installer 适配器,测试矩阵扩大
  • 设计原则:核心 Worker 和存储层 IDE 无关,适配器层处理 IDE 特定的差异

参考来源