fix: Codex 自动压缩不触发 —— 接管时链接模型目录(绝对路径)进 config.toml (hot 1.5.83)
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user