fix: inherit current session model for new sessions instead of picking arbitrary

This commit is contained in:
Aisland
2026-08-21 22:52:21 +08:00
parent 819a3c6d1e
commit e8f1c80708
5 changed files with 162 additions and 22 deletions
+4 -3
View File
@@ -35,9 +35,10 @@ node --check lib/index.js
ensureSessionPreset——用宿主 api.agentPresets.list/select 显式应用「部署默认预设」
(isDefault ?? 首个,失败逐个尝试其余预设;select 仅对 blank 会话生效)。
- **新会话模型修复(真根因)**:会话级模型选择独立于预设、随默认选择持久化——用户删掉
provider 后新会话继承失效选择,prompt 报 model-unavailable。ensureSessionModel 用
session.models 查 routable,false 时 session.selectModel 切到 groups[0] 首个可用模型
(该 API 同时把新选择存为默认,顺带修复后续所有新会话)。两者都失败静默、缺 API 跳过。
provider 后新会话继承失效选择,prompt 报 model-unavailable。ensureSessionModel:
① 无条件继承「当前会话」正在用的模型(用户控制用哪个就用哪个,相同则跳过);
② 无当前会话且新会话不可用时 → 最近会话众数 → 失效选择的家族词匹配 → 目录首个。
session.selectModel 同时把新选择存为默认(继承的 Pro 会写回默认)。失败静默、缺 API 跳过。
- **对话绑定**:projects.v1.bindings = { 项目id → 会话id };打开项目时引擎自动
sessions.open(绑定会话)(openSplit / DOM 桥两处入口);未绑定/解绑 = 不切换。
- **项目×对话联动**:打开项目记录「打开前会话」(projectAttachRef.sessionId);项目打开期间切到