#!/usr/bin/env node // 将 settings.json 中 session-continuity-mcp 从 npm-cache 路径迁移到本地 ~/.claude/mcp/ // 幂等: 已迁移则跳过 const fs = require('fs'); const path = require('path'); const SENTINEL = '/.claude/mcp/claude-session-continuity-mcp'; const OLD_PATH = 'C:/Users/leesu/AppData/Local/npm-cache/_npx/41147f6a3b3ef0bb/node_modules/claude-session-continuity-mcp'; const NEW_PATH = 'C:/Users/leesu/.claude/mcp/claude-session-continuity-mcp'; const SETTINGS = path.join(__dirname, '../../settings.json'); const raw = fs.readFileSync(SETTINGS, 'utf8'); if (raw.includes(SENTINEL) && !raw.includes(OLD_PATH)) { console.log('[SKIP] 已迁移,无需重复操作'); process.exit(0); } if (!raw.includes(OLD_PATH)) { console.log('[SKIP] 未找到旧路径,无需迁移'); process.exit(0); } const bak = SETTINGS + '.bak-' + new Date().toISOString().slice(0, 10).replace(/-/g, ''); fs.copyFileSync(SETTINGS, bak); console.log('[BAK] ' + bak); const updated = raw.split(OLD_PATH).join(NEW_PATH); fs.writeFileSync(SETTINGS, updated, 'utf8'); const count = (raw.match(new RegExp(OLD_PATH.replace(/[/]/g, '\\/'), 'g')) || []).length; console.log(`[OK] 替换 ${count} 处 npm-cache → local 路径`); console.log('[VERIFY] 新路径: ' + NEW_PATH);