fix: Codex 自动压缩不触发 —— 接管时链接模型目录(绝对路径)进 config.toml (hot 1.5.83)

This commit is contained in:
mac
2026-08-16 12:45:32 +08:00
parent e9a261482c
commit 1b687c01e9
50 changed files with 10885 additions and 1161 deletions
+37 -6
View File
@@ -665,6 +665,20 @@ async function sessLoad() {
try {
sessData = await apic.sessionsList(false);
sessLoaded = true;
$("#sess-scope").textContent = "当前会话";
sessRender();
} catch (e) {
box.innerHTML = `<div class="empty">加载失败:${esc(e.message || e)}</div>`;
}
}
async function sessLoadAll() {
const box = $("#sess-list");
box.innerHTML = `<div class="empty"><div class="spinner"></div>加载全部记录…</div>`;
try {
sessData = await apic.sessionsList({ includeArchived: true, includeSubagent: true });
sessLoaded = true;
$("#sess-scope").textContent = "全部记录";
sessRender();
} catch (e) {
box.innerHTML = `<div class="empty">加载失败:${esc(e.message || e)}</div>`;
@@ -676,6 +690,7 @@ $("#sess-refresh").addEventListener("click", sessLoad);
document.querySelector('.tab[data-tab="sessions"]').addEventListener("click", () => {
if (!sessLoaded) sessLoad();
});
$("#sess-fetch-all").addEventListener("click", sessLoadAll);
$("#sess-export").addEventListener("click", async (ev) => {
if (!sessCurrent) return;
const btn = ev.currentTarget;
@@ -707,8 +722,9 @@ $("#sess-import").addEventListener("click", async (ev) => {
try {
const r = await apic.sessionsImport();
if (!r.canceled) {
toast(`导入完成:新增 ${r.added},跳过 ${r.skipped}`, "ok");
sessLoad();
toast(`恢复完成:新增 ${r.added},跳过 ${r.skipped},侧栏重建 ${r.catalogRebuilt || 0} 条 ✅`, "ok");
sessLoaded = false;
await sessLoad();
}
} catch (e) {
toast(`导入失败:${e.message || e}`, "err");
@@ -1025,6 +1041,12 @@ function renderRouter(st) {
claudeBtn.textContent = st.claudeApplied ? "取消接入 Claude Code" : "接入 Claude Code";
claudeBtn.classList.toggle("ghost", !!st.claudeApplied);
}
const codexBtn = $("#router-apply");
if (codexBtn) {
const applied = !!st.codexApplied;
codexBtn.textContent = applied ? "取消本地路由(恢复直连)" : "启用本地路由(高级)";
codexBtn.classList.toggle("ghost", applied);
}
const box = $("#router-groups");
if (!st.groups.length) {
@@ -1187,13 +1209,22 @@ $("#router-save-port").addEventListener("click", async () => {
}
});
$("#router-apply").addEventListener("click", async (ev) => {
if (!confirm("将修改 Codex 的 config.toml,指向本地路由(会自动备份)。\n注意:启用后账号切换请统一在本软件切,不要再用 cc-switch,以免冲突。\n\n确认?")) return;
const applied = routerState && routerState.codexApplied;
const message = applied
? "将取消本地路由,并立即从 Codex config.toml / auth.json 清除本工具写入的配置,恢复 Codex 原生登录直连。\n\n确认?"
: "将修改 Codex 的 config.toml,指向本地路由(会自动备份)。\n注意:启用后账号切换请统一在本软件切,不要再用 cc-switch,以免冲突。\n\n确认?";
if (!confirm(message)) return;
const btn = ev.currentTarget;
busy(btn, true, "配置中…");
busy(btn, true, applied ? "取消中…" : "配置中…");
try {
const r = await apic.routerApplyCodex();
const r = applied ? await apic.routerDisableCodex() : await apic.routerApplyCodex();
renderRouter(r.status);
toast("已配置到 Codex ✅ 重启 Codex 后即可通过本地路由,之后切分组无需重启", "ok");
toast(
applied
? "已取消本地路由 ✅ Codex 配置已恢复直连,重启 Codex 后生效"
: "已配置到 Codex ✅ 重启 Codex 后即可通过本地路由,之后切分组无需重启",
"ok"
);
} catch (e) {
toast("配置失败:" + (e.message || e), "err");
} finally {