优化页面交互并增强 Provider 配置能力
- 表单下拉框不再用 label 包裹,改为 div + aria-label,避免点击后 下拉面板瞬间关闭 - Provider 卡片新增「从上游获取模型」和「修改」入口,支持编辑 base URL、API Key 与 api_mode,凭据写入对应的环境变量 - 服务端抽出 provider-model-discovery 统一不同 api_mode 的模型发现, 旧的 custom_providers 与新的 providers 字典结构都能正确更新 - Agent Bridge 改为后台启动,HTTP 接口在 Python 运行时就绪前即可用; worker 连接被拒时按类型重试,不重放可能已产生副作用的请求 - 断线重连后恢复 profiles、models 与会话列表,健康检查改为自调度 的 setTimeout,离线时 2 秒后重试 - 批量删除确认文案改用 Popconfirm content,避免变成侧栏触发器文本
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
---
|
||||
date: 2026-10-22
|
||||
feature: HTTP startup and session reload after backend restart
|
||||
impact: Keep session APIs available during bridge startup and recover failed initial loads
|
||||
---
|
||||
|
||||
PR/commit: pending.
|
||||
|
||||
The HTTP listener, Web UI stores, routes and Socket.IO handlers are initialized
|
||||
before starting the managed Agent Bridge in the background. Bridge readiness
|
||||
continues to be checked by the existing chat handlers; the chat-run protocol is
|
||||
unchanged. The bridge manager is registered with shutdown before starting it.
|
||||
|
||||
A failed session-list request no longer marks the list loaded or discards a
|
||||
route-selected session. Offline health polling retries after two seconds;
|
||||
reconnection reloads profiles, models and sessions. An already loaded session
|
||||
list retains its state on request failure. Chat, global-agent and history views
|
||||
handle reconnection. Batch-delete confirmation text uses Popconfirm content
|
||||
rather than becoming part of the sidebar trigger.
|
||||
|
||||
Validation: app-store and session-order Vitest coverage; Playwright startup
|
||||
recovery (base route and direct session route), deletion confirmation and history
|
||||
deep links; build and harness checks. A real isolated built-server smoke check
|
||||
used a fake Python executable sleeping for 60 seconds and confirmed /health
|
||||
responded with status=ok before the bridge became ready. State, uploads and
|
||||
bridge endpoint were isolated under a temporary directory.
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
date: 2026-10-22
|
||||
feature: Agent Bridge worker connection readiness
|
||||
impact: Recover refused worker connections before returning a chat error
|
||||
---
|
||||
|
||||
# Worker connection readiness recovery
|
||||
|
||||
- Date: 2026-10-22
|
||||
- PR/commit: pending
|
||||
- Feature: Agent Bridge client, cold and idle worker connection recovery.
|
||||
- Behavior: Retry broker responses explicitly typed as worker connection refusal
|
||||
or missing socket, within the existing connect retry budget. Keep the original
|
||||
payload (including session and conversation history). The broker's own ping
|
||||
does not establish worker readiness. Previously only Node-to-broker connection
|
||||
failures were retried; Python-to-worker connect failures escaped to chat.
|
||||
- Safety: Do not replay untyped agent errors, timeouts, closed responses, or
|
||||
resets, because the worker might already have accepted the request. Vendored
|
||||
Python and the chat-run event contract remain unchanged.
|
||||
- Validation: focused worker readiness and existing chat/bridge tests; build and
|
||||
harness checks.
|
||||
Reference in New Issue
Block a user