02fb553c9e
- 增强会话同步:确保所有会话完全同步到新账号 - 强制更新 model_provider 字段 - 添加 session_index.jsonl 重建功能 - 确保数据库 UPSERT 逻辑正确处理所有情况 - 新增语音输入功能(voice_cdp.js, voice_inject.js) - 测试脚本和增强模块 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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);
|
||
});
|