fix(chat): 会话已选 LLM 时不再被「全局未激活」误拦,提示按状态细分
发送消息的前置检查只看全局激活配置(chatAgentRef),而真正执行的 runConversationSync 会优先用会话所选/Agent 绑定的配置——两处解析分叉,导致 「会话已选一个有效配置、但全局没有激活配置」时,消息在预检查阶段就被 503 「LLM 未配置」拦下,根本走不到能用所选配置的执行阶段。 - 抽出 resolveChatAgent(conversation) 作为唯一解析入口(会话/Agent 绑定优先、 全局兜底),send 预检查与后台执行都用它,消除分叉。 - 提示按实际状态细分(chatUnavailableReason):无任何配置→提示添加;有配置但 未激活→提示激活或为本会话指定一个;而非一律「未配置」。 相邻的 StartTriggeredRun 仍用全局 gate(触发器场景,本次不动)。 验证: 新增两个测试——三态提示区分、会话所选配置在全局无激活时仍能解析出 ChatAgent(回归防护);连本地 PG 实跑通过,server 全量无回归。
This commit is contained in:
1 parent
412a993c25
commit
7299150cfa
4 files changed
+142
-9
No files matched your search
@@ -14,6 +14,13 @@
|
||||
|
||||
- 新建任务的「任务分类」由下拉选择改为可搜索输入框:输入即过滤已有分类,库里没有的名称回车(或点下拉里的「创建」)即时新建并选中,选中项以可移除的 tag 展示;仍限单个分类。
|
||||
|
||||
### 对话
|
||||
|
||||
#### 修复的问题
|
||||
|
||||
- 修复会话已选定 LLM 配置、但全局无激活配置时,发送消息被「LLM 未配置,无法对话」拦截的问题。发送前的检查原本只看全局激活配置,而实际执行会优先用会话所选配置,两处解析逻辑不一致;现统一为同一套(会话/Agent 绑定优先,全局兜底)。
|
||||
- 无法对话时的提示按状态细分:完全没有配置提示「添加配置」,有配置但未激活提示「激活或为本会话指定一个配置」,不再一律显示「未配置」,便于定位。
|
||||
|
||||
### Agent
|
||||
|
||||
#### 修改的功能
|
||||
|
||||
Reference in new issue
Block a user