// test-sync.js —— 测试增强后的会话同步功能 const providerSync = require("./electron/lib/provider_sync"); console.log("=== 会话同步测试 ===\n"); // 1. 检查 Codex 是否在运行 console.log("1. 检查 Codex 运行状态..."); const isRunning = providerSync.codexRunning(); if (isRunning) { console.error("❌ Codex 正在运行,请先完全退出 Codex(Cmd+Q 或 Quit)再测试"); process.exit(1); } console.log("✅ Codex 未运行,可以同步\n"); // 2. 检查当前 provider console.log("2. 检查当前 provider..."); const targetProvider = providerSync.targetProvider(); console.log(`✅ 当前 provider:${targetProvider}\n`); // 3. 执行同步 console.log("3. 开始同步会话..."); const log = (msg) => console.log(` ${msg}`); const onProgress = (p) => { if (p.phase) console.log(` [进度] ${p.phase} ${p.done || ""}/${p.total || ""}`); }; providerSync.syncProviderToCurrent(log, onProgress) .then((result) => { console.log("\n=== 同步完成 ==="); console.log(`✅ 目标 provider: ${result.target}`); console.log(`✅ 总会话数: ${result.totalConversations}`); console.log(`✅ 修改文件: ${result.changedFiles}`); console.log(`✅ 用户消息会话: ${result.userEvents}`); console.log(`✅ 更新 provider: ${result.provRows} 行`); console.log(`✅ 更新 has_user_event: ${result.ueRows} 行`); console.log(`✅ 新增线程: ${result.insertedRows} 行`); console.log(`✅ 项目分组: ${result.projectRows} 个`); console.log(`✅ 索引重建: ${result.indexRebuilt} 条`); console.log(`✅ 备份位置: ${result.backup}`); console.log("\n现在可以打开 Codex,所有会话应该都能在侧边栏看到了 🎉"); }) .catch((err) => { console.error("\n❌ 同步失败:", err.message || err); console.error(err.stack); process.exit(1); });