47 lines
1.8 KiB
JavaScript
47 lines
1.8 KiB
JavaScript
|
|
// 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);
|
|||
|
|
});
|